index.js 36.4 KB
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031
import Vue from 'vue'
import VueRouter from 'vue-router'
import Layout from '@/views/layout/layout.vue'
import Login from '@/views/user/login/Login.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    component: Layout,
    redirect: '/views/index/index',
    children: [
      {
        path: '/views/index/index',
        name: '/views/index/index',
        component: () => import('@/views/index/index.vue')
      },
      {
        path: '/pages/dev/appManage',
        name: '/pages/dev/appManage',
        component: () => import('@/views/dev/app/appList.vue')
      },
      {
        path: '/pages/dev/serviceManage',
        name: '/pages/dev/serviceManage',
        component: () => import('@/views/dev/serviceList.vue')
      },
      {
        path: '/pages/dev/serviceRegisterManage',
        name: '/pages/dev/serviceRegisterManage',
        component: () => import('@/views/dev/routeList.vue')
      },
      {
        path: '/views/dev/addRoute',
        name: '/views/dev/addRoute',
        component: () => import('@/views/dev/addRoute.vue')
      },
      {
        path: '/pages/dev/serviceImplManage',
        name: '/pages/dev/serviceImplManage',
        component: () => import('@/views/dev/serviceBusinessList.vue')
      },
      {
        path: '/pages/dev/businessTableHisManage',
        name: '/pages/dev/businessTableHisManage',
        component: () => import('@/views/dev/businessTableHisList.vue')
      },
      {
        path: '/pages/dev/menuCatalogManage',
        name: '/pages/dev/menuCatalogManage',
        component: () => import('@/views/dev/menuCatalogList.vue')
      },
      {
        path: '/views/dev/menuGroupCatalogList',
        name: '/views/dev/menuGroupCatalogList',
        component: () => import('@/views/dev/menuGroupCatalogList.vue')
      },
      {
        path: '/pages/dev/menuGroupManage',
        name: '/pages/dev/menuGroupManage',
        component: () => import('@/views/dev/menuGroupList.vue')
      },
      {
        path: '/pages/dev/mappingDomainManage',
        name: '/pages/dev/mappingDomainManage',
        component: () => import('@/views/dev/mappingDomainList.vue')
      },
      {
        path: '/pages/dev/mappingManage',
        name: '/pages/dev/mappingManage',
        component: () => import('@/views/dev/mappingList.vue')
      },
      {
        path: '/pages/dev/businessDatabusManage',
        name: '/pages/dev/businessDatabusManage',
        component: () => import('@/views/dev/businessDatabusList.vue')
      },
      {
        path: '/pages/dev/dictManage',
        name: '/pages/dev/dictManage',
        component: () => import('@/views/dev/dictList.vue')
      },
      {
        path: '/pages/dev/cacheManage',
        name: '/pages/dev/cacheManage',
        component: () => import('@/views/dev/cacheList.vue')
      },
      {
        path: '/pages/dev/menuManage',
        name: '/pages/dev/menuManage',
        component: () => import('@/views/dev/menuList.vue')
      },
      {
        path: '/views/dev/privilegeList',
        name: '/views/dev/privilegeList',
        component: () => import('@/views/dev/privilegeList.vue')
      },
      {
        path: '/pages/frame/changeStaffPwd',
        name: '/pages/frame/changeStaffPwd',
        component: () => import('@/views/user/login/updatePwd.vue')
      },
      {
        path: '/pages/dev/jobManage',
        name: '/pages/dev/jobManage',
        component: () => import('@/views/dev/taskList.vue')
      },
      {
        path: '/pages/dev/attrSpecManage',
        name: '/pages/dev/attrSpecManage',
        component: () => import('@/views/dev/attrSpecList.vue')
      },
      {
        path: '/views/dev/attrValueList',
        name: '/pages/dev/attrValueList',
        component: () => import('@/views/dev/attrValueList.vue')
      },
      {

        path: '/pages/frame/orgManage',
        name: '/pages/frame/orgManage',
        component: () => import('@/views/org/orgList.vue')
      },

      {
        path: '/pages/frame/staff',
        name: '/pages/frame/staff',
        component: () => import('@/views/staff/staffList.vue')
      },
      {
        path: '/views/staff/addStaff',
        name: '/views/staff/addStaff',
        component: () => import('@/views/staff/addStaff.vue')
      },
      {
        path: '/pages/frame/role',
        name: '/pages/frame/role',
        component: () => import('@/views/role/roleList.vue')
      },


      {
        path: '/views/staff/staffDetailList',
        name: '/views/staff/staffDetailList',
        component: () => import('@/views/staff/staffDetailList.vue')
      },

      {
        path: '/pages/dev/reportCustomGroupManage',
        name: '/pages/dev/reportCustomGroupManage',
        component: () => import('@/views/report/reportCustomGroupManageList.vue')
      },
      {
        path: '/pages/dev/reportCustomManage',
        name: '/pages/dev/reportCustomManage',
        component: () => import('@/views/report/reportCustomManageList.vue')
      },
      {
        path: '/pages/dev/reportCustomComponentManage',
        name: '/pages/dev/reportCustomComponentManage',
        component: () => import('@/views/report/reportCustomComponentManageList.vue')
      },
      {
        path: '/pages/dev/transactionLogManage',
        name: '/pages/dev/transactionLogManage',
        component: () => import('@/views/log/transactionLogManageList.vue')
      },
      {
        path: '/pages/log/mqttLog',
        name: '/pages/log/mqttLog',
        component: () => import('@/views/log/mqttLogList.vue')
      },
      {
        path: '/pages/frame/systemInfoManage',
        name: '/pages/frame/systemInfoManage',
        component: () => import('@/views/system/systemInfoManageList.vue')
      },
      {
        path: '/pages/frame/registerProtocol',
        name: '/pages/frame/registerProtocol',
        component: () => import('@/views/system/registerProtocolList.vue')
      },
      {
        path: '/pages/dev/initializeCommunityManage',
        name: '/pages/dev/initializeCommunityManage',
        component: () => import('@/views/community/initializeCommunityManageList.vue')
      },
      {
        path: '/pages/dev/serviceProvideManage',
        name: '/pages/dev/serviceProvideManage',
        component: () => import('@/views/dev/serviceProvideManageList.vue')
      },
      {
        path: '/views/dev/devServiceProvide',
        name: '/views/dev/devServiceProvide',
        component: () => import('@/views/dev/devServiceProvideList.vue')
      },
      {
        path: '/views/report/reportCustomComponentRelManage',
        name: '/views/report/reportCustomComponentRelManage',
        component: () => import('@/views/report/reportCustomComponentRelManageList.vue')
      },
      {
        path: '/views/report/componentConditionManage',
        name: '/views/report/componentConditionManage',
        component: () => import('@/views/report/componentConditionManageList.vue')
      },
      {
        path: '/views/report/reportCustomComponentFooterManage',
        name: '/views/report/reportCustomComponentFooterManage',
        component: () => import('@/views/report/reportCustomComponentFooterManageList.vue')
      },
      {
        path: '/pages/dev/transactionOutLog',
        name: '/pages/dev/transactionOutLog',
        component: () => import('@/views/log/transactionOutLogList.vue')
      },
      {
        path: '/pages/common/communityManage',
        name: '/pages/common/communityManage',
        component: () => import('@/views/community/communityManageList.vue')
      },
      {
        path: '/pages/admin/propertyCompanyManage',
        name: '/pages/admin/propertyCompanyManage',
        component: () => import('@/views/store/propertyCompanyManageList.vue')
      },
      {
        path: '/views/community/propertyCommunity',
        name: '/views/community/propertyCommunity',
        component: () => import('@/views/community/propertyCommunityList.vue')
      },
      {
        path: '/pages/community/cityArea',
        name: '/pages/community/cityArea',
        component: () => import('@/views/community/cityAreaList.vue')
      },
      {
        path: '/pages/admin/merchantManage',
        name: '/pages/admin/merchantManage',
        component: () => import('@/views/mall/merchantManageList.vue')
      },
      {
        path: '/pages/admin/shopManage',
        name: '/views/mall/shopManage',
        component: () => import('@/views/mall/shopManageList.vue')
      },
      {
        path: '/pages/admin/shopCommunity',
        name: '/pages/admin/shopCommunity',
        component: () => import('@/views/mall/shopCommunityList.vue')
      },
      {
        path: '/pages/staff/systemUser',
        name: '/pages/staff/systemUser',
        component: () => import('@/views/staff/systemUserList.vue')
      },
      {
        path: '/views/staff/systemUserDetail',
        name: '/views/staff/systemUserDetail',
        component: () => import('@/views/staff/systemUserDetailList.vue')
      },
      {
        path: '/pages/staff/storeStaff',
        name: '/pages/staff/storeStaff',
        component: () => import('@/views/staff/storeStaffList.vue')
      },
      {
        path: '/views/staff/adminStaffDetail',
        name: '/views/staff/adminStaffDetail',
        component: () => import('@/views/staff/adminStaffDetail.vue')
      },
      {
        path: '/pages/community/adminRoom',
        name: '/pages/community/adminRoom',
        component: () => import('@/views/community/adminRoomList.vue')
      },
      {
        path: '/pages/owner/adminOwner',
        name: '/pages/owner/adminOwner',
        component: () => import('@/views/owner/adminOwnerList.vue')
      },
      {
        path: '/pages/car/adminCar',
        name: '/pages/car/adminCar',
        component: () => import('@/views/car/adminCarList.vue')
      },
      {
        path: '/pages/owner/adminAuthOwner',
        name: '/pages/owner/adminAuthOwner',
        component: () => import('@/views/owner/adminAuthOwnerList.vue')
      },
      {
        path: '/pages/owner/adminAccount',
        name: '/pages/owner/adminAccount',
        component: () => import('@/views/account/adminAccountList.vue')
      },
      {
        path: '/views/account/adminAccountDetail',
        name: '/views/account/adminAccountDetail',
        component: () => import('@/views/account/adminAccountDetailList.vue')
      },
      {
        path: '/pages/fee/adminFeeConfig',
        name: '/pages/fee/adminFeeConfig',
        component: () => import('@/views/fee/adminFeeConfigList.vue')
      },
      {
        path: '/pages/resource/adminEquipment',
        name: '/pages/resource/adminEquipment',
        component: () => import('@/views/resource/adminEquipmentList.vue')
      },
      {
        path: '/pages/fee/adminRoomFee',
        name: '/pages/fee/adminRoomFee',
        component: () => import('@/views/fee/adminRoomFeeList.vue')
      },
      {
        path: '/pages/work/adminRepair',
        name: '/pages/work/adminRepair',
        component: () => import('@/views/work/adminRepairList.vue')
      },
      {
        path: '/views/work/adminRepairDetail',
        name: '/views/work/adminRepairDetail',
        component: () => import('@/views/work/adminRepairDetailList.vue')
      },
      {
        path: '/pages/inspection/adminInspectionPlan',
        name: '/pages/inspection/adminInspectionPlan',
        component: () => import('@/views/inspection/adminInspectionPlanList.vue')
      },
      {
        path: '/pages/inspection/aInspectionPlanDetail',
        name: '/pages/inspection/aInspectionPlanDetail',
        component: () => import('@/views/inspection/aInspectionPlanDetailList.vue')
      },
      {
        path: '/pages/inspection/adminInspectionTask',
        name: '/pages/inspection/adminInspectionTask',
        component: () => import('@/views/inspection/adminInspectionTaskList.vue')
      },
      {
        path: '/views/inspection/adminInspectionTaskDetail',
        name: '/views/inspection/adminInspectionTaskDetail',
        component: () => import('@/views/inspection/adminInspectionTaskDetailList.vue')
      },
      {
        path: '/pages/complaint/adminComplaint',
        name: '/pages/complaint/adminComplaint',
        component: () => import('@/views/complaint/adminComplaintList.vue')
      },
      {
        path: '/views/complaint/adminComplaintDetail',
        name: '/views/complaint/adminComplaintDetail',
        component: () => import('@/views/complaint/adminComplaintDetailList.vue')
      },
      {
        path: '/pages/oa/adminWorkPool',
        name: '/pages/oa/adminWorkPool',
        component: () => import('@/views/work/adminWorkPoolList.vue')
      },
      {
        path: '/views/work/adminWorkDetail',
        name: '/views/work/adminWorkDetail',
        component: () => import('@/views/work/adminWorkDetailList.vue')
      },
      {
        path: '/pages/iot/aAccessControl',
        name: '/pages/iot/aAccessControl',
        component: () => import('@/views/iot/aAccessControlList.vue')
      },
      {
        path: '/pages/iot/adminBarrier',
        name: '/pages/iot/adminBarrier',
        component: () => import('@/views/iot/adminBarrierList.vue')
      },
      {
        path: '/pages/iot/adminChargeMachine',
        name: '/pages/iot/adminChargeMachine',
        component: () => import('@/views/iot/adminChargeMachineList.vue')
      },
      {
        path: '/pages/iot/adminMeter',
        name: '/pages/iot/adminMeter',
        component: () => import('@/views/iot/adminMeterList.vue')
      },
      {
        path: '/pages/iot/adminInout',
        name: '/pages/iot/adminInout',
        component: () => import('@/views/iot/adminInoutList.vue')
      },
      {
        path: '/pages/iot/adminCarInout',
        name: '/pages/iot/adminCarInout',
        component: () => import('@/views/iot/adminCarInoutList.vue')
      },
      {
        path: '/pages/iot/adminChargeOrder',
        name: '/pages/iot/adminChargeOrder',
        component: () => import('@/views/iot/adminChargeOrderList.vue')
      },
      {
        path: '/pages/iot/adminMeterRecharge',
        name: '/pages/iot/adminMeterRecharge',
        component: () => import('@/views/iot/adminMeterRechargeList.vue')
      },
      {
        path: '/pages/report/operationalAnalysis',
        name: '/pages/report/operationalAnalysis',
        component: () => import('@/views/report/operationalAnalysisList.vue')
      },
      {
        path: '/pages/report/communityFeeSummary',
        name: '/pages/report/communityFeeSummary',
        component: () => import('@/views/report/communityFeeSummaryList.vue')
      },
      {
        path: '/pages/fee/adminPayFeeDetail',
        name: '/pages/fee/adminPayFeeDetail',
        component: () => import('@/views/fee/adminPayFeeDetailList.vue')
      },
      {
        path: '/pages/fee/adminOweFeeDetail',
        name: '/pages/fee/adminOweFeeDetail',
        component: () => import('@/views/fee/adminOweFeeDetailList.vue')
      },
      {
        path: '/pages/admin/orderManage',
        name: '/pages/admin/orderManage',
        component: () => import('@/views/admin/orderManageList.vue')
      },
      {
        path: '/pages/frame/userLogin',
        name: '/pages/frame/userLogin',
        component: () => import('@/views/user/userLoginList.vue')
      },
      {
        path: '/pages/admin/productSj',
        name: '/pages/admin/productSj',
        component: () => import('@/views/mall/productSjList.vue')
      },
      {
        path: '/pages/admin/housekeepingSjServ',
        name: '/pages/admin/housekeepingSjServ',
        component: () => import('@/views/mall/housekeepingSjServList.vue')
      },
      {
        path: '/pages/admin/storeOrderCartManage',
        name: '/pages/admin/storeOrderCartManage',
        component: () => import('@/views/mall/storeOrderCartManageList.vue')
      },
      {
        path: '/pages/admin/storeOrderCartReturn',
        name: '/pages/admin/storeOrderCartReturn',
        component: () => import('@/views/mall/storeOrderCartReturnList.vue')
      },
      {
        path: '/pages/admin/userIntegral',
        name: '/pages/admin/userIntegral',
        component: () => import('@/views/mall/userIntegralList.vue')
      },
      {
        path: '/pages/admin/integralDetail',
        name: '/pages/admin/integralDetail',
        component: () => import('@/views/mall/integralDetailList.vue')
      },
      {
        path: '/pages/admin/marketSmsManage',
        name: '/pages/admin/marketSmsManage',
        component: () => import('@/views/market/marketSmsManageList.vue')
      },
      {
        path: '/pages/admin/marketWay',
        name: '/pages/admin/marketWay',
        component: () => import('@/views/market/marketWayList.vue')
      },
      {
        path: '/views/market/marketGoodsItemManage',
        name: '/views/market/marketGoodsItemManage',
        component: () => import('@/views/market/marketGoodsItemManageList.vue')
      },
      {
        path: '/pages/admin/marketRule',
        name: '/pages/admin/marketRule',
        component: () => import('@/views/market/marketRuleList.vue')
      },
      {
        path: '/pages/admin/marketBlacklistManage',
        name: '/pages/admin/marketBlacklistManage',
        component: () => import('@/views/market/marketBlacklistManageList.vue')
      },
      {
        path: '/pages/admin/marketLog',
        name: '/pages/admin/marketLog',
        component: () => import('@/views/market/marketLogList.vue')
      },
      {
        path: '/pages/property/advertManage',
        name: '/pages/property/advertManage',
        component: () => import('@/views/admin/advertManageList.vue')
      },
      {
        path: '/pages/admin/convenienceMenusManage',
        name: '/pages/admin/convenienceMenusManage',
        component: () => import('@/views/mall/convenienceMenusManageList.vue')
      },
      {
        path: '/pages/admin/storeInfoManage',
        name: '/pages/admin/storeInfoManage',
        component: () => import('@/views/mall/storeInfoManageList.vue')
      },
      {
        path: '/pages/proxy/junkRequirementManage',
        name: '/pages/proxy/junkRequirementManage',
        component: () => import('@/views/mall/junkRequirementManageList.vue')
      },
      {
        path: '/pages/admin/couponPoolManage',
        name: '/pages/admin/couponPoolManage',
        component: () => import('@/views/account/couponPoolManageList.vue')
      },
      {
        path: '/pages/admin/couponDetailManage',
        name: '/pages/admin/couponDetailManage',
        component: () => import('@/views/account/couponDetailManageList.vue')
      },
      {
        path: '/pages/scm/supplierTypeManage',
        name: '/pages/scm/supplierTypeManage',
        component: () => import('@/views/scm/supplierTypeManageList.vue')
      },
      {
        path: '/pages/scm/supplierManage',
        name: '/pages/scm/supplierManage',
        component: () => import('@/views/scm/supplierManageList.vue')
      },
      {
        path: '/pages/scm/supplierCoupon',
        name: '/pages/scm/supplierCoupon',
        component: () => import('@/views/scm/supplierCouponList.vue')
      },
      {
        path: '/pages/scm/supplierCouponBuy',
        name: '/pages/scm/supplierCouponBuy',
        component: () => import('@/views/scm/supplierCouponBuyList.vue')
      },
      {
        path: '/pages/staff/aStaff',
        name: '/pages/staff/aStaff',
        component: () => import('@/views/staff/aStaffList.vue')
      },
      {
        path: '/views/staff/aStaffDetail',
        name: '/views/staff/aStaffDetail',
        component: () => import('@/views/staff/aStaffDetailList.vue')
      },
      {
        path: '/pages/staff/aStaffCommunity',
        name: '/pages/staff/aStaffCommunity',
        component: () => import('@/views/staff/aStaffCommunityList.vue')
      },
      {
        path: '/pages/community/communityWechat',
        name: '/pages/community/communityWechat',
        component: () => import('@/views/community/communityWechatList.vue')
      },
      {
        path: '/pages/community/communityMini',
        name: '/pages/community/communityMini',
        component: () => import('@/views/community/communityMiniList.vue')
      },
      {
        path: '/pages/fee/communityPayment',
        name: '/pages/fee/communityPayment',
        component: () => import('@/views/fee/communityPaymentList.vue')
      },
      {
        path: '/pages/common/enterCommunity',
        name: '/pages/common/enterCommunity',
        component: () => import('@/views/community/enterCommunityList.vue')
      },
      {
        path: '/pages/property/roomRenovationManage',
        name: '/pages/property/roomRenovationManage',
        component: () => import('@/views/community/roomRenovationManageList.vue')
      },
      {
        path: '/pages/property/feeConfigManage',
        name: '/pages/property/feeConfigManage',
        component: () => import('@/views/fee/feeConfigManageList.vue')
      },
      {
        path: '/views/fee/payFeeConfigDiscountManage',
        name: '/views/fee/payFeeConfigDiscountManage',
        component: () => import('@/views/fee/payFeeConfigDiscountManageList.vue')
      },
      {
        path: '/pages/property/room',
        name: '/pages/property/room',
        component: () => import('@/views/room/roomList.vue')
      },
      {
        path: '/views/room/addRoomView',
        name: '/views/room/addRoomView',
        component: () => import('@/views/room/addRoomViewList.vue')
      },
      {
        path: '/views/owner/roomBindOwner',
        name: '/views/owner/roomBindOwner',
        component: () => import('@/views/owner/roomBindOwnerList.vue')
      },
      {
        path: '/views/owner/deleteOwnerRoom',
        name: '/views/owner/deleteOwnerRoom',
        component: () => import('@/views/owner/deleteOwnerRoomList.vue')
      },
      {
        path: '/pages/property/shops',
        name: '/pages/property/shops',
        component: () => import('@/views/room/shopsList.vue')
      },
      {
        path: '/pages/property/listOwner',
        name: '/pages/property/listOwner',
        component: () => import('@/views/owner/listOwner.vue')
      },
      {
        path: '/views/owner/ownerBindRoom',
        name: '/views/owner/ownerBindRoom',
        component: () => import('@/views/owner/ownerBindRoom.vue')
      },
      {
        path: '/pages/property/auditAuthOwner',
        name: '/pages/property/auditAuthOwner',
        component: () => import('@/views/owner/auditAuthOwnerList.vue')
      },
      {
        path: '/pages/property/accountManage',
        name: '/pages/property/accountManage',
        component: () => import('@/views/account/accountManageList.vue')
      },
      {
        path: '/views/account/accountDetailManage',
        name: '/views/account/accountDetailManage',
        component: () => import('@/views/account/accountDetailManageList.vue')
      },
      {
        path: '/pages/property/communitySpaceManage',
        name: '/pages/property/communitySpaceManage',
        component: () => import('@/views/community/communitySpaceManageList.vue')
      },
      {
        path: '/pages/property/reportCommunitySpace',
        name: '/pages/property/reportCommunitySpace',
        component: () => import('@/views/community/reportCommunitySpaceList.vue')
      },
      {
        path: '/pages/property/communitySpacePersonManage',
        name: '/pages/property/communitySpacePersonManage',
        component: () => import('@/views/community/communitySpacePersonManageList.vue')
      },
      {
        path: '/pages/property/communitySpaceConfirm',
        name: '/pages/property/communitySpaceConfirm',
        component: () => import('@/views/community/communitySpaceConfirmList.vue')
      },
      {
        path: '/pages/owner/ownerCommitteeManage',
        name: '/pages/owner/ownerCommitteeManage',
        component: () => import('@/views/owner/ownerCommitteeManageList.vue')
      },
      {
        path: '/views/owner/addOwnerCommittee',
        name: '/views/owner/addOwnerCommittee',
        component: () => import('@/views/owner/addOwnerCommitteeList.vue')
      },
      {
        path: '/views/owner/editOwnerCommittee',
        name: '/views/owner/editOwnerCommittee',
        component: () => import('@/views/owner/editOwnerCommitteeList.vue')
      },
      {
        path: '/views/owner/ownerCommitteeDetail',
        name: '/views/owner/ownerCommitteeDetail',
        component: () => import('@/views/owner/ownerCommitteeDetailList.vue')
      },
      {
        path: '/pages/fee/ownerInvoice',
        name: '/pages/fee/ownerInvoice',
        component: () => import('@/views/fee/ownerInvoiceList.vue')
      },
      {
        path: '/views/fee/addOwnerInvoice',
        name: '/views/fee/addOwnerInvoice',
        component: () => import('@/views/fee/addOwnerInvoiceList.vue')
      },
      {
        path: '/pages/fee/invoiceApply',
        name: '/pages/fee/invoiceApply',
        component: () => import('@/views/fee/invoiceApplyList.vue')
      },
      {
        path: '/views/fee/ownerApplyInvoice',
        name: '/views/fee/ownerApplyInvoice',
        component: () => import('@/views/fee/ownerApplyInvoiceList.vue')
      },
      {
        path: '/views/fee/invoiceApplyDetail',
        name: '/views/fee/invoiceApplyDetail',
        component: () => import('@/views/fee/invoiceApplyDetailList.vue')
      },
      {
        path: '/views/fee/feeConfigDetail',
        name: '/views/fee/feeConfigDetail',
        component: () => import('@/views/fee/feeConfigDetailList.vue')
      },
      {
        path: '/pages/property/parkingAreaManage',
        name: '/pages/property/parkingAreaManage',
        component: () => import('@/views/car/parkingAreaManageList.vue')
      },
      {
        path: '/pages/property/listParkingSpace',
        name: '/pages/property/listParkingSpace',
        component: () => import('@/views/car/listParkingSpaceList.vue')
      },
      {
        path: '/pages/property/parkingBoxManage',
        name: '/pages/property/parkingBoxManage',
        component: () => import('@/views/car/parkingBoxManageList.vue')
      },
      {
        path: '/pages/property/listOwnerCar',
        name: '/pages/property/listOwnerCar',
        component: () => import('@/views/car/listOwnerCarList.vue')
      },
      {
        path: '/views/car/hireParkingSpace',
        name: '/views/car/hireParkingSpace',
        component: () => import('@/views/car/hireParkingSpaceList.vue')
      },
      {
        path: '/views/car/carAddParkingSpace',
        name: '/views/car/carAddParkingSpace',
        component: () => import('@/views/car/carAddParkingSpaceList.vue')
      },
      {
        path: '/views/fee/buyCarMonthCard',
        name: '/views/fee/buyCarMonthCard',
        component: () => import('@/views/fee/buyCarMonthCardList.vue')
      },
      {
        path: '/pages/property/carInoutManage',
        name: '/pages/property/carInoutManage',
        component: () => import('@/views/car/carInoutManageList.vue')
      },
      {
        path: '/pages/property/carInManage',
        name: '/pages/property/carInManage',
        component: () => import('@/views/car/carInManageList.vue')
      },
      {
        path: '/pages/property/remainingParkingSpace',
        name: '/pages/property/remainingParkingSpace',
        component: () => import('@/views/car/remainingParkingSpaceList.vue')
      },
      {
        path: '/pages/car/tempCarPayment',
        name: '/pages/car/tempCarPayment',
        component: () => import('@/views/car/tempCarPaymentList.vue')
      },
      {
        path: '/pages/property/parkingSpaceApplyManage',
        name: '/pages/property/parkingSpaceApplyManage',
        component: () => import('@/views/car/parkingSpaceApplyManageList.vue')
      },
      {
        path: '/views/car/addParkingSpaceApply',
        name: '/views/car/addParkingSpaceApply',
        component: () => import('@/views/car/addParkingSpaceApply.vue')
      },
      {
        path: '/views/car/auditParkingSpaceApply',
        name: '/views/car/auditParkingSpaceApply',
        component: () => import('@/views/car/auditParkingSpaceApply.vue')
      },
      {
        path: '/pages/property/carCreateFee',
        name: '/pages/property/carCreateFee',
        component: () => import('@/views/fee/carCreateFeeList.vue')
      },
      {
        path: '/views/fee/listCarFee',
        name: '/views/fee/listCarFee',
        component: () => import('@/views/fee/listCarFeeList.vue')
      },
      {
        path: '/pages/work/repairSetting',
        name: '/pages/work/repairSetting',
        component: () => import('@/views/work/repairSettingList.vue')
      },
      {
        path: '/views/work/repairTypeUser',
        name: '/views/work/repairTypeUser',
        component: () => import('@/views/work/repairTypeUserList.vue')
      },
      {
        path: '/pages/property/ownerRepairManage',
        name: '/pages/property/ownerRepairManage',
        component: () => import('@/views/work/ownerRepairManageList.vue')
      },
      {
        path: '/pages/property/repairPoolManage',
        name: '/pages/property/repairPoolManage',
        component: () => import('@/views/work/repairPoolManageList.vue')
      },
      {
        path: '/views/work/repairDetail',
        name: '/views/work/repairDetail',
        component: () => import('@/views/work/repairDetailList.vue')
      },
      {
        path: '/pages/property/repairDispatchManage',
        name: '/pages/property/repairDispatchManage',
        component: () => import('@/views/work/repairDispatchManageList.vue')
      },
      {
        path: '/pages/property/myRepairDispatchManage',
        name: '/pages/property/myRepairDispatchManage',
        component: () => import('@/views/work/myRepairDispatchManageList.vue')
      },
      {
        path: '/pages/property/repairReturnVisit',
        name: '/pages/property/repairReturnVisit',
        component: () => import('@/views/work/repairReturnVisitList.vue')
      },
      {
        path: '/pages/property/repairForceFinishManage',
        name: '/pages/property/repairForceFinishManage',
        component: () => import('@/views/work/repairForceFinishManageList.vue')
      },
      {
        path: '/pages/property/inspectionItemManage',
        name: '/pages/property/inspectionItemManage',
        component: () => import('@/views/inspection/inspectionItemManageList.vue')
      },
      {
        path: '/views/inspection/inspectionItemTitleManage',
        name: '/views/inspection/inspectionItemTitleManage',
        component: () => import('@/views/inspection/inspectionItemTitleManageList.vue')
      },
      {
        path: '/pages/inspection/inspectionPlan',
        name: '/pages/inspection/inspectionPlan',
        component: () => import('@/views/inspection/inspectionPlanList.vue')
      },
      {
        path: '/views/inspection/addInspectionPlan',
        name: '/views/inspection/addInspectionPlan',
        component: () => import('@/views/inspection/addInspectionPlanList.vue')
      },
      {
        path: '/pages/inspection/inspectionTask',
        name: '/pages/inspection/inspectionTask',
        component: () => import('@/views/inspection/InspectionTaskList.vue')
      },
      {
        path: '/pages/property/inspectionTaskDetails',
        name: '/pages/property/inspectionTaskDetails',
        component: () => import('@/views/inspection/inspectionTaskDetailsList.vue')
      },
      {
        path: '/pages/resource/resourceAuditFlow',
        name: '/pages/resource/resourceAuditFlow',
        component: () => import('@/views/resource/resourceAuditFlowList.vue')
      },
      {
        path: '/pages/property/storehouseManage',
        name: '/pages/property/storehouseManage',
        component: () => import('@/views/resource/storehouseManageList.vue')
      },
      {
        path: '/pages/common/resourceStoreSpecificationManage',
        name: '/pages/common/resourceStoreSpecificationManage',
        component: () => import('@/views/resource/resourceStoreSpecificationManageList.vue')
      },
      {
        path: '/pages/common/resourceStoreManage',
        name: '/pages/common/resourceStoreManage',
        component: () => import('@/views/resource/resourceStoreManageList.vue')
      },
      {
        path: '/pages/inspection/inspectionPoint',
        name: '/pages/inspection/inspectionPoint',
        component: () => import('@/views/inspection/inspectionPointList.vue')
      },
      {
        path: '/pages/inspection/inspectionRoute',
        name: '/pages/inspection/inspectionRoute',
        component: () => import('@/views/inspection/inspectionRouteList.vue')
      },
      {
        path: '/pages/property/resourceSupplierManage',
        name: '/pages/property/resourceSupplierManage',
        component: () => import('@/views/resource/resourceSupplierManageList.vue')
      },
      {
        path: '/pages/common/purchaseApplyManage',
        name: '/pages/common/purchaseApplyManage',
        component: () => import('@/views/resource/purchaseApplyManageList.vue')
      },
      {
        path: '/views/resource/addPurchaseApply',
        name: '/views/resource/addPurchaseApply',
        component: () => import('@/views/resource/addPurchaseApplyList.vue')
      },
      {
        path: '/views/resource/urgentPurchaseApplyStep',
        name: '/views/resource/urgentPurchaseApplyStep',
        component: () => import('@/views/resource/urgentPurchaseApplyStepList.vue')
      },
      {
        path: '/views/resource/purchaseApplyDetail',
        name: '/views/resource/purchaseApplyDetail',
        component: () => import('@/views/resource/purchaseApplyDetailList.vue')
      },
      {
        path: '/pages/common/itemOutManage',
        name: '/pages/common/itemOutManage',
        component: () => import('@/views/resource/itemOutManageList.vue')
      },
      {
        path: '/views/resource/addItemOut',
        name: '/views/resource/addItemOut',
        component: () => import('@/views/resource/addItemOutList.vue')
      },
      {
        path: '/pages/common/purchaseApplyDetailManage',
        name: '/pages/common/purchaseApplyDetailManage',
        component: () => import('@/views/resource/purchaseApplyDetailManageList.vue')
      },
      {
        path: '/pages/common/allocationStorehouseManage',
        name: '/pages/common/allocationStorehouseManage',
        component: () => import('@/views/resource/allocationStorehouseManageList.vue')
      },
      {
        path: '/pages/common/allocationStorehouseApply',
        name: '/pages/common/allocationStorehouseApply',
        component: () => import('@/views/resource/allocationStorehouseApplyList.vue')
      },
      {
        path: '/pages/common/allocationStorehouseDetailed',
        name: '/pages/common/allocationStorehouseDetailed',
        component: () => import('@/views/resource/allocationStorehouseDetailedList.vue')
      },
      {
        path: '/pages/property/assetInventoryManage',
        name: '/pages/property/assetInventoryManage',
        component: () => import('@/views/resource/assetInventoryManageList.vue')
      },
      {
        path: '/pages/common/myResourceStoreManage',
        name: '/pages/common/myResourceStoreManage',
        component: () => import('@/views/resource/myResourceStoreManageList.vue')
      },
      {
        path: '/pages/common/allocationUserStorehouseManage',
        name: '/pages/common/allocationUserStorehouseManage',
        component: () => import('@/views/resource/allocationUserStorehouseManageList.vue')
      },
      {
        path: '/pages/common/resourceStoreUseRecordManage',
        name: '/pages/common/resourceStoreUseRecordManage',
        component: () => import('@/views/resource/resourceStoreUseRecordManageList.vue')
      },
      {
        path:'/pages/property/locationManage',
        name:'/pages/property/locationManage',
        component: () => import('@/views/community/locationManageList.vue')
        },
        {
          path:'/pages/property/machineTypeTreeManage',
          name:'/pages/property/machineTypeTreeManage',
          component: () => import('@/views/machine/machineTypeTreeManageList.vue')
          },
      // 其他子路由可以在这里添加
    ]
  },
  {
    path: '/views/user/login',
    name: 'views/user/login',
    component: Login,
    meta: {
      title: '登陆页面',
      icon: 'el-icon-s-home'
    }
  }
]

const router = new VueRouter({
  routes
})

// 路由守卫
router.beforeEach((to, from, next) => {
  // 排除静态资源路径
  if (to.path.startsWith('/img/') || to.path.startsWith('/static/')) {
    return next(); // 直接放行
  }
  if (to.path.endsWith('.xlsx')) {
    return next(); // 直接放行
  }
  const token = localStorage.getItem('token')
  if (to.path !== '/views/user/login' && !token) {
    next('/views/user/login')
  } else {
    let _title = to.meta.title;
    if (!_title) {
      _title = '物业官网平台'
    } else {
      _title = _title + ' - 物业官网平台'
    }
    document.title = _title
    next()
  }
})

export default router