Commit 83338dbed9e8f4ed63fc91fa5bb623c0e753cac1

Authored by wuxw
1 parent f2918bc5

v1.9 支持页标签功能

package.json
@@ -5,7 +5,8 @@ @@ -5,7 +5,8 @@
5 "scripts": { 5 "scripts": {
6 "dev": "vue-cli-service serve", 6 "dev": "vue-cli-service serve",
7 "build": "vue-cli-service build", 7 "build": "vue-cli-service build",
8 - "lint": "vue-cli-service lint" 8 + "lint": "vue-cli-service lint",
  9 + "inject-route-meta": "node scripts/injectRouteMetaFromMenu.js"
9 }, 10 },
10 "dependencies": { 11 "dependencies": {
11 "@tinymce/tinymce-vue": "^3.2.8", 12 "@tinymce/tinymce-vue": "^3.2.8",
src/i18n/breadcrumbLang.js 0 → 100644
  1 +// Auto-generated from docs/菜单.md. i18n for breadcrumb.
  2 +export const messages = {
  3 + zh: { breadcrumb: {
  4 + "path_pages_scm_couponMarket": "优惠券市场",
  5 + "path_pages_scm_couponPropertyPoolManage": "优惠券",
  6 + "path_pages_scm_couponPropertyPoolDetail": "赠送记录",
  7 + "path_pages_scm_couponPropertyUserManage": "业主优惠券",
  8 + "path_pages_scm_couponPropertyUserDetail": "优惠券使用",
  9 + "path_pages_scm_couponRule": "赠送规则",
  10 + "path_pages_scm_integralConfigManage": "积分标准",
  11 + "path_pages_scm_integralGiftDetailManage": "积分赠送",
  12 + "path_pages_scm_communityIntegral": "小区积分",
  13 + "path_pages_scm_integralRule": "积分规则",
  14 + "path_pages_scm_gold": "小区金币",
  15 + "path_pages_common_noticeManage": "发布公告",
  16 + "path_pages_property_visitManage": "访客登记",
  17 + "path_pages_complaint_complaint": "投诉建议",
  18 + "path_pages_property_activitiesManage": "信息发布",
  19 + "path_pages_property_activitiesTypeManage": "信息大类",
  20 + "path_pages_property_questionAnswerManage": "问卷调研",
  21 + "path_pages_question_questionTitle": "问卷题目",
  22 + "path_pages_property_notepadManage": "业主反馈",
  23 + "path_pages_question_ownerVoting": "业主投票",
  24 + "path_pages_complaint_complaintType": "投诉类型",
  25 + "path_pages_property_listParkingSpace": "车位信息",
  26 + "path_pages_property_hireParkingSpace": "车位出租",
  27 + "path_pages_property_sellParkingSpace": "车位出售",
  28 + "path_pages_property_ownerParkingSpace": "业主车位",
  29 + "path_pages_property_parkingAreaManage": "停车场管理",
  30 + "path_pages_property_carInManage": "在场车辆",
  31 + "path_pages_property_carInoutManage": "进场记录",
  32 + "path_pages_property_remainingParkingSpace": "剩余车位",
  33 + "path_pages_property_listOwnerCar": "业主车辆",
  34 + "path_pages_property_carAddParkingSpace": "续租车位",
  35 + "path_pages_property_listOwnerCarMember": "子母车辆",
  36 + "path_pages_property_parkingBoxManage": "岗亭管理",
  37 + "path_pages_property_parkingSpaceApplyManage": "车位申请",
  38 + "path_pages_car_tempCarPayment": "临时车缴费",
  39 + "path_pages_reserve_reserveCatalogManage": "预约目录",
  40 + "path_pages_reserve_reserveParamsManage": "预约参数",
  41 + "path_pages_reserve_reserveOrder": "预约订单",
  42 + "path_pages_reserve_reserveDiningManage": "预约就餐",
  43 + "path_pages_reserve_reserveConfirm": "订单核销",
  44 + "path_pages_reserve_reserveServiceManage": "预约服务",
  45 + "path_pages_property_equipmentAccount": "设备台账",
  46 + "path_pages_property_machineTranslateManage": "物联网同步",
  47 + "path_pages_machine_accessControlInout": "开门记录",
  48 + "path_pages_property_locationManage": "设备位置",
  49 + "path_pages_property_machineTypeTreeManage": "设备类型",
  50 + "path_pages_property_maintainanceItem": "检查项",
  51 + "path_pages_property_maintainanceStandardManage": "保养标准",
  52 + "path_pages_property_maintainancePlanManage": "保养计划",
  53 + "path_pages_property_maintainanceTaskDetails": "保养明细",
  54 + "path_pages_property_maintainanceTaskManage": "保养任务",
  55 + "path_pages_print_machinePrinterManage": "云打印机",
  56 + "path_pages_print_printerRule": "云打印规则",
  57 + "path_pages_property_attendanceClassesManage": "考勤班组",
  58 + "path_pages_property_todayAttendanceManage": "今日考勤",
  59 + "path_pages_property_monthAttendanceManage": "月考勤",
  60 + "path_pages_property_attendanceLogManage": "考勤记录",
  61 + "path_pages_property_oaWorkflowManage": "流程实例",
  62 + "path_pages_property_newOaWorkflowManage": "我的流程",
  63 + "path_pages_property_newOaWorkflowDoing": "工作办理",
  64 + "path_pages_property_staffAttendanceManage": "员工考勤",
  65 + "path_pages_attendance_attendanceClassesStaffManage": "考勤人员",
  66 + "path_pages_oa_workType": "工作单类型",
  67 + "path_pages_oa_startWork": "起工作单",
  68 + "path_pages_oa_doWork": "办工作单",
  69 + "path_pages_oa_copyWork": "抄送我的",
  70 + "path_pages_oa_workPool": "工作单池",
  71 + "path_pages_oa_workDeduction": "工作单扣款",
  72 + "path_pages_common_purchaseApplyManage": "采购申请",
  73 + "path_pages_common_resourceStoreManage": "物品信息",
  74 + "path_pages_common_itemOutManage": "物品领用",
  75 + "path_pages_property_storehouseManage": "仓库信息",
  76 + "path_pages_common_allocationStorehouseManage": "调拨申请",
  77 + "path_pages_common_myResourceStoreManage": "我的物品",
  78 + "path_pages_common_purchaseApplyDetailManage": "出入库明细",
  79 + "path_pages_property_resourceSupplierManage": "供应商",
  80 + "path_pages_common_allocationUserStorehouseManage": "转赠记录",
  81 + "path_pages_common_resourceStoreUseRecordManage": "使用记录",
  82 + "path_pages_common_allocationStorehouseDetailed": "调拨明细",
  83 + "path_pages_common_resourceStoreSpecificationManage": "物品规格",
  84 + "path_pages_property_assetInventoryManage": "盘点管理",
  85 + "path_pages_resource_resourceAuditFlow": "审批配置",
  86 + "path_pages_property_room": "房屋管理",
  87 + "path_pages_property_listOwner": "业主信息",
  88 + "path_pages_property_ownerDetail": "业主详情",
  89 + "path_pages_property_auditAuthOwner": "业主认证",
  90 + "path_pages_property_shops": "商铺管理",
  91 + "path_pages_property_accountManage": "业主账户",
  92 + "path_pages_property_communitySpaceManage": "场地管理",
  93 + "path_pages_property_communitySpacePersonManage": "场地预约订单",
  94 + "path_pages_property_reportCommunitySpace": "场地预约",
  95 + "path_pages_property_communitySpaceConfirm": "预约核销",
  96 + "path_pages_owner_ownerSettledApplyManage": "业主入驻",
  97 + "path_pages_owner_ownerCommitteeManage": "业委会",
  98 + "path_pages_fee_invoiceApply": "发票",
  99 + "path_pages_fee_ownerInvoice": "发票抬头",
  100 + "path_pages_community_wechatSubscribe": "关注用户",
  101 + "path_pages_property_repairDispatchStep": "报修派单",
  102 + "path_pages_property_repairDispatchManage": "报修待办",
  103 + "path_pages_property_myRepairDispatchManage": "报修已办",
  104 + "path_pages_work_repairSetting": "报修设置",
  105 + "path_pages_property_repairTypeUser": "报修师傅",
  106 + "path_pages_property_ownerRepairManage": "电话报修",
  107 + "path_pages_property_repairPoolManage": "工单池",
  108 + "path_pages_property_ownerRepairDetail": "报修工单详情",
  109 + "path_pages_property_repairReturnVisit": "报修回访",
  110 + "path_pages_property_repairForceFinishManage": "强制回单",
  111 + "path_pages_property_constrainFinishRepair": "强制回单",
  112 + "path_pages_common_enterCommunity": "我的小区",
  113 + "path_pages_property_simplifyAcceptance": "业务受理",
  114 + "path_pages_property_roomRenovationManage": "房屋装修",
  115 + "path_pages_property_roomRenovationDetailManage": "装修验收",
  116 + "path_pages_property_listRoomDecorationRecord": "装修记录",
  117 + "path_pages_property_listRoomRenovationRecordDetails": "装修详情",
  118 + "path_pages_property_propertyRightRegistrationManage": "产权登记",
  119 + "path_pages_property_videoControl": "视频监控",
  120 + "path_pages_property_listPropertyRightRegistrationDetail": "产权登记详情",
  121 + "path_pages_property_roomStructure": "结构图",
  122 + "path_pages_property_carStructure": "车位结构图",
  123 + "path_pages_property_itemReleaseTypeManage": "放行类型",
  124 + "path_pages_property_itemReleaseManage": "物品放行",
  125 + "path_pages_community_communityPublicityManage": "小区公示",
  126 + "path_pages_property_reportFeeSummary": "费用汇总表",
  127 + "path_pages_property_reportFeeDetail": "费用明细表",
  128 + "path_pages_property_reportOweFeeDetail": "欠费明细表",
  129 + "path_pages_report_feeRemind": "费用提醒",
  130 + "path_pages_property_reportPayFeeDetail": "缴费明细表",
  131 + "path_pages_property_reportRepair": "报修汇总表",
  132 + "path_pages_property_reportProficient": "费用台账",
  133 + "path_pages_property_reportNoFeeRoom": "未收费房屋",
  134 + "path_pages_property_reportQuestionAnswerDetail": "问卷明细表",
  135 + "path_pages_property_reportOwnerPayFee": "业主缴费明细",
  136 + "path_pages_property_reportPayFeeDeposit": "押金报表",
  137 + "path_pages_property_reportHuaning": "欠费分析",
  138 + "path_pages_property_commonReport": "巡检报表",
  139 + "path_pages_report_dataReport": "数据统计",
  140 + "path_pages_property_staffFeeManage": "员工收费",
  141 + "path_pages_property_feeConfigManage": "费用项设置",
  142 + "path_pages_property_carCreateFee": "车辆收费",
  143 + "path_pages_property_roomCreateFee": "房屋收费",
  144 + "path_pages_property_feeSummary": "费用汇总表",
  145 + "path_pages_property_returnPayFeeManage": "退费审核",
  146 + "path_pages_fee_oweFeeCallable": "欠费催缴",
  147 + "path_pages_property_roomFeeImport": "费用导入",
  148 + "path_pages_property_listOweFee": "欠费信息",
  149 + "path_pages_property_meterWaterManage": "水电抄表",
  150 + "path_pages_fee_floorShare": "楼栋公摊",
  151 + "path_pages_property_feeReceipt": "补打收据",
  152 + "path_pages_property_payFeeAuditManage": "缴费审核",
  153 + "path_pages_property_feeDiscountManage": "折扣设置",
  154 + "path_pages_property_applyRoomDiscountManage": "优惠申请",
  155 + "path_pages_property_contractCreateFee": "合同收费",
  156 + "path_pages_property_payFeeBatch": "取消费用",
  157 + "path_pages_property_feeComboManage": "费用套餐",
  158 + "path_pages_fee_shareReading": "公摊抄表",
  159 + "path_pages_admin_contractManage": "合同查询",
  160 + "path_pages_admin_contractTypeManage": "合同类型",
  161 + "path_pages_admin_contractTypeSpecManage": "合同类型规格",
  162 + "path_pages_admin_contractAudit": "合同审核",
  163 + "path_pages_admin_contractChangeManage": "合同变更",
  164 + "path_pages_admin_expirationContractManage": "到期合同",
  165 + "path_pages_admin_contractChangeDetails": "合同变更明细",
  166 + "path_pages_admin_newContractManage": "起草合同",
  167 + "path_pages_admin_contractChangeDetail": "申请合同变更",
  168 + "path_pages_admin_contractApplyAuditHistoryOrders": "起草已办",
  169 + "path_pages_admin_contractChangeAuditOrders": "变更待办",
  170 + "path_pages_admin_contractApplyAuditOrders": "起草待办",
  171 + "path_pages_admin_contractChangeAuditHistoryOrders": "变更已办",
  172 + "path_pages_common_contractApplyDetail": "合同详情",
  173 + "path_pages_admin_contractPartyaManage": "合同甲方",
  174 + "path_pages_admin_addContract": "起草",
  175 + "path_pages_inspection_inspectionPoint": "巡检点",
  176 + "path_pages_inspection_inspectionRoute": "巡检路线",
  177 + "path_pages_inspection_inspectionPlan": "巡检计划",
  178 + "path_pages_inspection_inspectionTask": "巡检任务",
  179 + "path_pages_property_inspectionTaskDetails": "巡检明细",
  180 + "path_pages_property_inspectionItemManage": "巡检项目",
  181 + "catalog_优惠": "优惠",
  182 + "catalog_办公": "办公",
  183 + "catalog_停车": "停车",
  184 + "catalog_预约": "预约",
  185 + "catalog_设备": "设备",
  186 + "catalog_OA": "OA",
  187 + "catalog_采购": "采购",
  188 + "catalog_房产": "房产",
  189 + "catalog_报修": "报修",
  190 + "catalog_小区": "小区",
  191 + "catalog_报表": "报表",
  192 + "catalog_费用": "费用",
  193 + "catalog_合同": "合同",
  194 + "catalog_巡检": "巡检"
  195 +} },
  196 + en: { breadcrumb: {
  197 + "path_pages_scm_couponMarket": "优惠券市场",
  198 + "path_pages_scm_couponPropertyPoolManage": "优惠券",
  199 + "path_pages_scm_couponPropertyPoolDetail": "赠送记录",
  200 + "path_pages_scm_couponPropertyUserManage": "业主优惠券",
  201 + "path_pages_scm_couponPropertyUserDetail": "优惠券使用",
  202 + "path_pages_scm_couponRule": "赠送规则",
  203 + "path_pages_scm_integralConfigManage": "积分标准",
  204 + "path_pages_scm_integralGiftDetailManage": "积分赠送",
  205 + "path_pages_scm_communityIntegral": "小区积分",
  206 + "path_pages_scm_integralRule": "积分规则",
  207 + "path_pages_scm_gold": "小区金币",
  208 + "path_pages_common_noticeManage": "发布公告",
  209 + "path_pages_property_visitManage": "访客登记",
  210 + "path_pages_complaint_complaint": "投诉建议",
  211 + "path_pages_property_activitiesManage": "信息发布",
  212 + "path_pages_property_activitiesTypeManage": "信息大类",
  213 + "path_pages_property_questionAnswerManage": "问卷调研",
  214 + "path_pages_question_questionTitle": "问卷题目",
  215 + "path_pages_property_notepadManage": "业主反馈",
  216 + "path_pages_question_ownerVoting": "业主投票",
  217 + "path_pages_complaint_complaintType": "投诉类型",
  218 + "path_pages_property_listParkingSpace": "车位信息",
  219 + "path_pages_property_hireParkingSpace": "车位出租",
  220 + "path_pages_property_sellParkingSpace": "车位出售",
  221 + "path_pages_property_ownerParkingSpace": "业主车位",
  222 + "path_pages_property_parkingAreaManage": "停车场管理",
  223 + "path_pages_property_carInManage": "在场车辆",
  224 + "path_pages_property_carInoutManage": "进场记录",
  225 + "path_pages_property_remainingParkingSpace": "剩余车位",
  226 + "path_pages_property_listOwnerCar": "业主车辆",
  227 + "path_pages_property_carAddParkingSpace": "续租车位",
  228 + "path_pages_property_listOwnerCarMember": "子母车辆",
  229 + "path_pages_property_parkingBoxManage": "岗亭管理",
  230 + "path_pages_property_parkingSpaceApplyManage": "车位申请",
  231 + "path_pages_car_tempCarPayment": "临时车缴费",
  232 + "path_pages_reserve_reserveCatalogManage": "预约目录",
  233 + "path_pages_reserve_reserveParamsManage": "预约参数",
  234 + "path_pages_reserve_reserveOrder": "预约订单",
  235 + "path_pages_reserve_reserveDiningManage": "预约就餐",
  236 + "path_pages_reserve_reserveConfirm": "订单核销",
  237 + "path_pages_reserve_reserveServiceManage": "预约服务",
  238 + "path_pages_property_equipmentAccount": "设备台账",
  239 + "path_pages_property_machineTranslateManage": "物联网同步",
  240 + "path_pages_machine_accessControlInout": "开门记录",
  241 + "path_pages_property_locationManage": "设备位置",
  242 + "path_pages_property_machineTypeTreeManage": "设备类型",
  243 + "path_pages_property_maintainanceItem": "检查项",
  244 + "path_pages_property_maintainanceStandardManage": "保养标准",
  245 + "path_pages_property_maintainancePlanManage": "保养计划",
  246 + "path_pages_property_maintainanceTaskDetails": "保养明细",
  247 + "path_pages_property_maintainanceTaskManage": "保养任务",
  248 + "path_pages_print_machinePrinterManage": "云打印机",
  249 + "path_pages_print_printerRule": "云打印规则",
  250 + "path_pages_property_attendanceClassesManage": "考勤班组",
  251 + "path_pages_property_todayAttendanceManage": "今日考勤",
  252 + "path_pages_property_monthAttendanceManage": "月考勤",
  253 + "path_pages_property_attendanceLogManage": "考勤记录",
  254 + "path_pages_property_oaWorkflowManage": "流程实例",
  255 + "path_pages_property_newOaWorkflowManage": "我的流程",
  256 + "path_pages_property_newOaWorkflowDoing": "工作办理",
  257 + "path_pages_property_staffAttendanceManage": "员工考勤",
  258 + "path_pages_attendance_attendanceClassesStaffManage": "考勤人员",
  259 + "path_pages_oa_workType": "工作单类型",
  260 + "path_pages_oa_startWork": "起工作单",
  261 + "path_pages_oa_doWork": "办工作单",
  262 + "path_pages_oa_copyWork": "抄送我的",
  263 + "path_pages_oa_workPool": "工作单池",
  264 + "path_pages_oa_workDeduction": "工作单扣款",
  265 + "path_pages_common_purchaseApplyManage": "采购申请",
  266 + "path_pages_common_resourceStoreManage": "物品信息",
  267 + "path_pages_common_itemOutManage": "物品领用",
  268 + "path_pages_property_storehouseManage": "仓库信息",
  269 + "path_pages_common_allocationStorehouseManage": "调拨申请",
  270 + "path_pages_common_myResourceStoreManage": "我的物品",
  271 + "path_pages_common_purchaseApplyDetailManage": "出入库明细",
  272 + "path_pages_property_resourceSupplierManage": "供应商",
  273 + "path_pages_common_allocationUserStorehouseManage": "转赠记录",
  274 + "path_pages_common_resourceStoreUseRecordManage": "使用记录",
  275 + "path_pages_common_allocationStorehouseDetailed": "调拨明细",
  276 + "path_pages_common_resourceStoreSpecificationManage": "物品规格",
  277 + "path_pages_property_assetInventoryManage": "盘点管理",
  278 + "path_pages_resource_resourceAuditFlow": "审批配置",
  279 + "path_pages_property_room": "房屋管理",
  280 + "path_pages_property_listOwner": "业主信息",
  281 + "path_pages_property_ownerDetail": "业主详情",
  282 + "path_pages_property_auditAuthOwner": "业主认证",
  283 + "path_pages_property_shops": "商铺管理",
  284 + "path_pages_property_accountManage": "业主账户",
  285 + "path_pages_property_communitySpaceManage": "场地管理",
  286 + "path_pages_property_communitySpacePersonManage": "场地预约订单",
  287 + "path_pages_property_reportCommunitySpace": "场地预约",
  288 + "path_pages_property_communitySpaceConfirm": "预约核销",
  289 + "path_pages_owner_ownerSettledApplyManage": "业主入驻",
  290 + "path_pages_owner_ownerCommitteeManage": "业委会",
  291 + "path_pages_fee_invoiceApply": "发票",
  292 + "path_pages_fee_ownerInvoice": "发票抬头",
  293 + "path_pages_community_wechatSubscribe": "关注用户",
  294 + "path_pages_property_repairDispatchStep": "报修派单",
  295 + "path_pages_property_repairDispatchManage": "报修待办",
  296 + "path_pages_property_myRepairDispatchManage": "报修已办",
  297 + "path_pages_work_repairSetting": "报修设置",
  298 + "path_pages_property_repairTypeUser": "报修师傅",
  299 + "path_pages_property_ownerRepairManage": "电话报修",
  300 + "path_pages_property_repairPoolManage": "工单池",
  301 + "path_pages_property_ownerRepairDetail": "报修工单详情",
  302 + "path_pages_property_repairReturnVisit": "报修回访",
  303 + "path_pages_property_repairForceFinishManage": "强制回单",
  304 + "path_pages_property_constrainFinishRepair": "强制回单",
  305 + "path_pages_common_enterCommunity": "我的小区",
  306 + "path_pages_property_simplifyAcceptance": "业务受理",
  307 + "path_pages_property_roomRenovationManage": "房屋装修",
  308 + "path_pages_property_roomRenovationDetailManage": "装修验收",
  309 + "path_pages_property_listRoomDecorationRecord": "装修记录",
  310 + "path_pages_property_listRoomRenovationRecordDetails": "装修详情",
  311 + "path_pages_property_propertyRightRegistrationManage": "产权登记",
  312 + "path_pages_property_videoControl": "视频监控",
  313 + "path_pages_property_listPropertyRightRegistrationDetail": "产权登记详情",
  314 + "path_pages_property_roomStructure": "结构图",
  315 + "path_pages_property_carStructure": "车位结构图",
  316 + "path_pages_property_itemReleaseTypeManage": "放行类型",
  317 + "path_pages_property_itemReleaseManage": "物品放行",
  318 + "path_pages_community_communityPublicityManage": "小区公示",
  319 + "path_pages_property_reportFeeSummary": "费用汇总表",
  320 + "path_pages_property_reportFeeDetail": "费用明细表",
  321 + "path_pages_property_reportOweFeeDetail": "欠费明细表",
  322 + "path_pages_report_feeRemind": "费用提醒",
  323 + "path_pages_property_reportPayFeeDetail": "缴费明细表",
  324 + "path_pages_property_reportRepair": "报修汇总表",
  325 + "path_pages_property_reportProficient": "费用台账",
  326 + "path_pages_property_reportNoFeeRoom": "未收费房屋",
  327 + "path_pages_property_reportQuestionAnswerDetail": "问卷明细表",
  328 + "path_pages_property_reportOwnerPayFee": "业主缴费明细",
  329 + "path_pages_property_reportPayFeeDeposit": "押金报表",
  330 + "path_pages_property_reportHuaning": "欠费分析",
  331 + "path_pages_property_commonReport": "巡检报表",
  332 + "path_pages_report_dataReport": "数据统计",
  333 + "path_pages_property_staffFeeManage": "员工收费",
  334 + "path_pages_property_feeConfigManage": "费用项设置",
  335 + "path_pages_property_carCreateFee": "车辆收费",
  336 + "path_pages_property_roomCreateFee": "房屋收费",
  337 + "path_pages_property_feeSummary": "费用汇总表",
  338 + "path_pages_property_returnPayFeeManage": "退费审核",
  339 + "path_pages_fee_oweFeeCallable": "欠费催缴",
  340 + "path_pages_property_roomFeeImport": "费用导入",
  341 + "path_pages_property_listOweFee": "欠费信息",
  342 + "path_pages_property_meterWaterManage": "水电抄表",
  343 + "path_pages_fee_floorShare": "楼栋公摊",
  344 + "path_pages_property_feeReceipt": "补打收据",
  345 + "path_pages_property_payFeeAuditManage": "缴费审核",
  346 + "path_pages_property_feeDiscountManage": "折扣设置",
  347 + "path_pages_property_applyRoomDiscountManage": "优惠申请",
  348 + "path_pages_property_contractCreateFee": "合同收费",
  349 + "path_pages_property_payFeeBatch": "取消费用",
  350 + "path_pages_property_feeComboManage": "费用套餐",
  351 + "path_pages_fee_shareReading": "公摊抄表",
  352 + "path_pages_admin_contractManage": "合同查询",
  353 + "path_pages_admin_contractTypeManage": "合同类型",
  354 + "path_pages_admin_contractTypeSpecManage": "合同类型规格",
  355 + "path_pages_admin_contractAudit": "合同审核",
  356 + "path_pages_admin_contractChangeManage": "合同变更",
  357 + "path_pages_admin_expirationContractManage": "到期合同",
  358 + "path_pages_admin_contractChangeDetails": "合同变更明细",
  359 + "path_pages_admin_newContractManage": "起草合同",
  360 + "path_pages_admin_contractChangeDetail": "申请合同变更",
  361 + "path_pages_admin_contractApplyAuditHistoryOrders": "起草已办",
  362 + "path_pages_admin_contractChangeAuditOrders": "变更待办",
  363 + "path_pages_admin_contractApplyAuditOrders": "起草待办",
  364 + "path_pages_admin_contractChangeAuditHistoryOrders": "变更已办",
  365 + "path_pages_common_contractApplyDetail": "合同详情",
  366 + "path_pages_admin_contractPartyaManage": "合同甲方",
  367 + "path_pages_admin_addContract": "起草",
  368 + "path_pages_inspection_inspectionPoint": "巡检点",
  369 + "path_pages_inspection_inspectionRoute": "巡检路线",
  370 + "path_pages_inspection_inspectionPlan": "巡检计划",
  371 + "path_pages_inspection_inspectionTask": "巡检任务",
  372 + "path_pages_property_inspectionTaskDetails": "巡检明细",
  373 + "path_pages_property_inspectionItemManage": "巡检项目",
  374 + "catalog_优惠": "优惠",
  375 + "catalog_办公": "办公",
  376 + "catalog_停车": "停车",
  377 + "catalog_预约": "预约",
  378 + "catalog_设备": "设备",
  379 + "catalog_OA": "OA",
  380 + "catalog_采购": "采购",
  381 + "catalog_房产": "房产",
  382 + "catalog_报修": "报修",
  383 + "catalog_小区": "小区",
  384 + "catalog_报表": "报表",
  385 + "catalog_费用": "费用",
  386 + "catalog_合同": "合同",
  387 + "catalog_巡检": "巡检"
  388 +} }
  389 +}
src/i18n/index.js
@@ -4,6 +4,7 @@ import ElementLocale from 'element-ui/lib/locale' @@ -4,6 +4,7 @@ import ElementLocale from 'element-ui/lib/locale'
4 import config from '@/conf/config' 4 import config from '@/conf/config'
5 import { messages as loginMessages } from '../views/user/login/LoginLang' 5 import { messages as loginMessages } from '../views/user/login/LoginLang'
6 import { messages as layoutMessages } from '../views/layout/LayoutLang' 6 import { messages as layoutMessages } from '../views/layout/LayoutLang'
  7 +import { messages as breadcrumbMessages } from './breadcrumbLang'
7 import { messages as commonMessages } from './commonLang' 8 import { messages as commonMessages } from './commonLang'
8 import { messages as indexMessages } from '../views/index/indexLang' 9 import { messages as indexMessages } from '../views/index/indexLang'
9 import { messages as updatePwdMessages } from '../views/user/login/updatePwdLang' 10 import { messages as updatePwdMessages } from '../views/user/login/updatePwdLang'
@@ -157,6 +158,7 @@ const messages = { @@ -157,6 +158,7 @@ const messages = {
157 en: { 158 en: {
158 ...loginMessages.en, 159 ...loginMessages.en,
159 ...layoutMessages.en, 160 ...layoutMessages.en,
  161 + ...breadcrumbMessages.en,
160 ...commonMessages.en, 162 ...commonMessages.en,
161 ...indexMessages.en, 163 ...indexMessages.en,
162 ...updatePwdMessages.en, 164 ...updatePwdMessages.en,
@@ -299,6 +301,7 @@ const messages = { @@ -299,6 +301,7 @@ const messages = {
299 zh: { 301 zh: {
300 ...loginMessages.zh, 302 ...loginMessages.zh,
301 ...layoutMessages.zh, 303 ...layoutMessages.zh,
  304 + ...breadcrumbMessages.zh,
302 ...commonMessages.zh, 305 ...commonMessages.zh,
303 ...indexMessages.zh, 306 ...indexMessages.zh,
304 ...updatePwdMessages.zh, 307 ...updatePwdMessages.zh,
src/router/carRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/car/adminCar', 3 path: '/pages/car/adminCar',
  4 + meta: { title: '小区车辆' },
4 name: '/pages/car/adminCar', 5 name: '/pages/car/adminCar',
5 component: () => import('@/views/car/adminCarList.vue') 6 component: () => import('@/views/car/adminCarList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/iot/adminCarInout', 9 path: '/pages/iot/adminCarInout',
  10 + meta: { title: '车辆出入' },
9 name: '/pages/iot/adminCarInout', 11 name: '/pages/iot/adminCarInout',
10 component: () => import('@/views/iot/adminCarInoutList.vue') 12 component: () => import('@/views/iot/adminCarInoutList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/property/parkingAreaManage', 15 path: '/pages/property/parkingAreaManage',
  16 + meta: { title: '停车场管理' },
14 name: '/pages/property/parkingAreaManage', 17 name: '/pages/property/parkingAreaManage',
15 component: () => import('@/views/car/parkingAreaManageList.vue') 18 component: () => import('@/views/car/parkingAreaManageList.vue')
16 }, 19 },
17 { 20 {
18 path: '/pages/property/listParkingSpace', 21 path: '/pages/property/listParkingSpace',
  22 + meta: { title: '车位信息' },
19 name: '/pages/property/listParkingSpace', 23 name: '/pages/property/listParkingSpace',
20 component: () => import('@/views/car/listParkingSpaceList.vue') 24 component: () => import('@/views/car/listParkingSpaceList.vue')
21 }, 25 },
22 { 26 {
23 path: '/pages/property/parkingBoxManage', 27 path: '/pages/property/parkingBoxManage',
  28 + meta: { title: '岗亭管理' },
24 name: '/pages/property/parkingBoxManage', 29 name: '/pages/property/parkingBoxManage',
25 component: () => import('@/views/car/parkingBoxManageList.vue') 30 component: () => import('@/views/car/parkingBoxManageList.vue')
26 }, 31 },
27 { 32 {
28 path: '/pages/property/listOwnerCar', 33 path: '/pages/property/listOwnerCar',
  34 + meta: { title: '业主车辆' },
29 name: '/pages/property/listOwnerCar', 35 name: '/pages/property/listOwnerCar',
30 component: () => import('@/views/car/listOwnerCarList.vue') 36 component: () => import('@/views/car/listOwnerCarList.vue')
31 }, 37 },
@@ -46,26 +52,31 @@ export default [ @@ -46,26 +52,31 @@ export default [
46 }, 52 },
47 { 53 {
48 path: '/pages/property/carInoutManage', 54 path: '/pages/property/carInoutManage',
  55 + meta: { title: '进场记录' },
49 name: '/pages/property/carInoutManage', 56 name: '/pages/property/carInoutManage',
50 component: () => import('@/views/car/carInoutManageList.vue') 57 component: () => import('@/views/car/carInoutManageList.vue')
51 }, 58 },
52 { 59 {
53 path: '/pages/property/carInManage', 60 path: '/pages/property/carInManage',
  61 + meta: { title: '在场车辆' },
54 name: '/pages/property/carInManage', 62 name: '/pages/property/carInManage',
55 component: () => import('@/views/car/carInManageList.vue') 63 component: () => import('@/views/car/carInManageList.vue')
56 }, 64 },
57 { 65 {
58 path: '/pages/property/remainingParkingSpace', 66 path: '/pages/property/remainingParkingSpace',
  67 + meta: { title: '剩余车位' },
59 name: '/pages/property/remainingParkingSpace', 68 name: '/pages/property/remainingParkingSpace',
60 component: () => import('@/views/car/remainingParkingSpaceList.vue') 69 component: () => import('@/views/car/remainingParkingSpaceList.vue')
61 }, 70 },
62 { 71 {
63 path: '/pages/car/tempCarPayment', 72 path: '/pages/car/tempCarPayment',
  73 + meta: { title: '临时车缴费' },
64 name: '/pages/car/tempCarPayment', 74 name: '/pages/car/tempCarPayment',
65 component: () => import('@/views/car/tempCarPaymentList.vue') 75 component: () => import('@/views/car/tempCarPaymentList.vue')
66 }, 76 },
67 { 77 {
68 path: '/pages/property/parkingSpaceApplyManage', 78 path: '/pages/property/parkingSpaceApplyManage',
  79 + meta: { title: '车位申请' },
69 name: '/pages/property/parkingSpaceApplyManage', 80 name: '/pages/property/parkingSpaceApplyManage',
70 component: () => import('@/views/car/parkingSpaceApplyManageList.vue') 81 component: () => import('@/views/car/parkingSpaceApplyManageList.vue')
71 }, 82 },
src/router/communityRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/property/roomStructure', 3 path: '/pages/property/roomStructure',
  4 + meta: { title: '结构图' },
4 name: '/pages/property/roomStructure', 5 name: '/pages/property/roomStructure',
5 component: () => import('@/views/room/roomStructureList.vue') 6 component: () => import('@/views/room/roomStructureList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/property/carStructure', 9 path: '/pages/property/carStructure',
  10 + meta: { title: '车位结构图' },
9 name: '/pages/property/carStructure', 11 name: '/pages/property/carStructure',
10 component: () => import('@/views/car/carStructureList.vue') 12 component: () => import('@/views/car/carStructureList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/property/propertyRightRegistrationManage', 15 path: '/pages/property/propertyRightRegistrationManage',
  16 + meta: { title: '产权登记' },
14 name: '/pages/property/propertyRightRegistrationManage', 17 name: '/pages/property/propertyRightRegistrationManage',
15 component: () => import('@/views/room/propertyRightRegistrationManageList.vue') 18 component: () => import('@/views/room/propertyRightRegistrationManageList.vue')
16 }, 19 },
@@ -21,6 +24,7 @@ export default [ @@ -21,6 +24,7 @@ export default [
21 }, 24 },
22 { 25 {
23 path: '/pages/community/communityPublicityManage', 26 path: '/pages/community/communityPublicityManage',
  27 + meta: { title: '小区公示' },
24 name: '/pages/community/communityPublicityManage', 28 name: '/pages/community/communityPublicityManage',
25 component: () => import('@/views/community/communityPublicityManageList.vue') 29 component: () => import('@/views/community/communityPublicityManageList.vue')
26 }, 30 },
@@ -76,6 +80,7 @@ export default [ @@ -76,6 +80,7 @@ export default [
76 }, 80 },
77 { 81 {
78 path: '/pages/community/wechatSubscribe', 82 path: '/pages/community/wechatSubscribe',
  83 + meta: { title: '关注用户' },
79 name: '/pages/community/wechatSubscribe', 84 name: '/pages/community/wechatSubscribe',
80 component: () => import('@/views/community/wechatSubscribeList.vue') 85 component: () => import('@/views/community/wechatSubscribeList.vue')
81 }, 86 },
src/router/contractRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/admin/contractTypeManage', 3 path: '/pages/admin/contractTypeManage',
  4 + meta: { title: '合同类型' },
4 name: '/pages/admin/contractTypeManage', 5 name: '/pages/admin/contractTypeManage',
5 component: () => import('@/views/contract/contractTypeManageList.vue') 6 component: () => import('@/views/contract/contractTypeManageList.vue')
6 }, 7 },
@@ -11,11 +12,13 @@ export default [ @@ -11,11 +12,13 @@ export default [
11 }, 12 },
12 { 13 {
13 path: '/pages/admin/contractPartyaManage', 14 path: '/pages/admin/contractPartyaManage',
  15 + meta: { title: '合同甲方' },
14 name: '/pages/admin/contractPartyaManage', 16 name: '/pages/admin/contractPartyaManage',
15 component: () => import('@/views/contract/contractPartyaManageList.vue') 17 component: () => import('@/views/contract/contractPartyaManageList.vue')
16 }, 18 },
17 { 19 {
18 path: '/pages/admin/newContractManage', 20 path: '/pages/admin/newContractManage',
  21 + meta: { title: '起草合同' },
19 name: '/pages/admin/newContractManage', 22 name: '/pages/admin/newContractManage',
20 component: () => import('@/views/contract/newContractManageList.vue') 23 component: () => import('@/views/contract/newContractManageList.vue')
21 }, 24 },
@@ -26,11 +29,13 @@ export default [ @@ -26,11 +29,13 @@ export default [
26 }, 29 },
27 { 30 {
28 path: '/pages/admin/contractManage', 31 path: '/pages/admin/contractManage',
  32 + meta: { title: '合同查询' },
29 name: '/pages/admin/contractManage', 33 name: '/pages/admin/contractManage',
30 component: () => import('@/views/contract/contractManageList.vue') 34 component: () => import('@/views/contract/contractManageList.vue')
31 }, 35 },
32 { 36 {
33 path: '/pages/admin/contractChangeManage', 37 path: '/pages/admin/contractChangeManage',
  38 + meta: { title: '合同变更' },
34 name: '/pages/admin/contractChangeManage', 39 name: '/pages/admin/contractChangeManage',
35 component: () => import('@/views/contract/contractChangeManageList.vue') 40 component: () => import('@/views/contract/contractChangeManageList.vue')
36 }, 41 },
@@ -41,6 +46,7 @@ export default [ @@ -41,6 +46,7 @@ export default [
41 }, 46 },
42 { 47 {
43 path: '/pages/admin/expirationContractManage', 48 path: '/pages/admin/expirationContractManage',
  49 + meta: { title: '到期合同' },
44 name: '/pages/admin/expirationContractManage', 50 name: '/pages/admin/expirationContractManage',
45 component: () => import('@/views/contract/expirationContractManageList.vue') 51 component: () => import('@/views/contract/expirationContractManageList.vue')
46 }, 52 },
@@ -56,21 +62,25 @@ export default [ @@ -56,21 +62,25 @@ export default [
56 }, 62 },
57 { 63 {
58 path: '/pages/admin/contractApplyAuditOrders', 64 path: '/pages/admin/contractApplyAuditOrders',
  65 + meta: { title: '起草待办' },
59 name: '/pages/admin/contractApplyAuditOrders', 66 name: '/pages/admin/contractApplyAuditOrders',
60 component: () => import('@/views/contract/contractApplyAuditOrdersList.vue') 67 component: () => import('@/views/contract/contractApplyAuditOrdersList.vue')
61 }, 68 },
62 { 69 {
63 path: '/pages/admin/contractChangeAuditOrders', 70 path: '/pages/admin/contractChangeAuditOrders',
  71 + meta: { title: '变更待办' },
64 name: '/pages/admin/contractChangeAuditOrders', 72 name: '/pages/admin/contractChangeAuditOrders',
65 component: () => import('@/views/contract/contractChangeAuditOrdersList.vue') 73 component: () => import('@/views/contract/contractChangeAuditOrdersList.vue')
66 }, 74 },
67 { 75 {
68 path: '/pages/admin/contractApplyAuditHistoryOrders', 76 path: '/pages/admin/contractApplyAuditHistoryOrders',
  77 + meta: { title: '起草已办' },
69 name: '/pages/admin/contractApplyAuditHistoryOrders', 78 name: '/pages/admin/contractApplyAuditHistoryOrders',
70 component: () => import('@/views/contract/contractApplyAuditHistoryOrdersList.vue') 79 component: () => import('@/views/contract/contractApplyAuditHistoryOrdersList.vue')
71 }, 80 },
72 { 81 {
73 path:'/pages/admin/contractChangeAuditHistoryOrders', 82 path:'/pages/admin/contractChangeAuditHistoryOrders',
  83 + meta: { title: '变更已办' },
74 name:'/pages/admin/contractChangeAuditHistoryOrders', 84 name:'/pages/admin/contractChangeAuditHistoryOrders',
75 component: () => import('@/views/contract/contractChangeAuditHistoryOrdersList.vue') 85 component: () => import('@/views/contract/contractChangeAuditHistoryOrdersList.vue')
76 }, 86 },
src/router/devRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/dev/appManage', 3 path: '/pages/dev/appManage',
  4 + meta: { title: '应用信息' },
4 name: '/pages/dev/appManage', 5 name: '/pages/dev/appManage',
5 component: () => import('@/views/dev/app/appList.vue') 6 component: () => import('@/views/dev/app/appList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/dev/serviceManage', 9 path: '/pages/dev/serviceManage',
  10 + meta: { title: '服务信息' },
9 name: '/pages/dev/serviceManage', 11 name: '/pages/dev/serviceManage',
10 component: () => import('@/views/dev/serviceList.vue') 12 component: () => import('@/views/dev/serviceList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/dev/serviceRegisterManage', 15 path: '/pages/dev/serviceRegisterManage',
  16 + meta: { title: '服务注册' },
14 name: '/pages/dev/serviceRegisterManage', 17 name: '/pages/dev/serviceRegisterManage',
15 component: () => import('@/views/dev/routeList.vue') 18 component: () => import('@/views/dev/routeList.vue')
16 }, 19 },
@@ -21,16 +24,19 @@ export default [ @@ -21,16 +24,19 @@ export default [
21 }, 24 },
22 { 25 {
23 path: '/pages/dev/serviceImplManage', 26 path: '/pages/dev/serviceImplManage',
  27 + meta: { title: '服务实现' },
24 name: '/pages/dev/serviceImplManage', 28 name: '/pages/dev/serviceImplManage',
25 component: () => import('@/views/dev/serviceBusinessList.vue') 29 component: () => import('@/views/dev/serviceBusinessList.vue')
26 }, 30 },
27 { 31 {
28 path: '/pages/dev/businessTableHisManage', 32 path: '/pages/dev/businessTableHisManage',
  33 + meta: { title: '业务轨迹' },
29 name: '/pages/dev/businessTableHisManage', 34 name: '/pages/dev/businessTableHisManage',
30 component: () => import('@/views/dev/businessTableHisList.vue') 35 component: () => import('@/views/dev/businessTableHisList.vue')
31 }, 36 },
32 { 37 {
33 path: '/pages/dev/menuCatalogManage', 38 path: '/pages/dev/menuCatalogManage',
  39 + meta: { title: '菜单目录' },
34 name: '/pages/dev/menuCatalogManage', 40 name: '/pages/dev/menuCatalogManage',
35 component: () => import('@/views/dev/menuCatalogList.vue') 41 component: () => import('@/views/dev/menuCatalogList.vue')
36 }, 42 },
@@ -41,36 +47,43 @@ export default [ @@ -41,36 +47,43 @@ export default [
41 }, 47 },
42 { 48 {
43 path: '/pages/dev/menuGroupManage', 49 path: '/pages/dev/menuGroupManage',
  50 + meta: { title: '菜单组' },
44 name: '/pages/dev/menuGroupManage', 51 name: '/pages/dev/menuGroupManage',
45 component: () => import('@/views/dev/menuGroupList.vue') 52 component: () => import('@/views/dev/menuGroupList.vue')
46 }, 53 },
47 { 54 {
48 path: '/pages/dev/mappingDomainManage', 55 path: '/pages/dev/mappingDomainManage',
  56 + meta: { title: '配置项' },
49 name: '/pages/dev/mappingDomainManage', 57 name: '/pages/dev/mappingDomainManage',
50 component: () => import('@/views/dev/mappingDomainList.vue') 58 component: () => import('@/views/dev/mappingDomainList.vue')
51 }, 59 },
52 { 60 {
53 path: '/pages/dev/mappingManage', 61 path: '/pages/dev/mappingManage',
  62 + meta: { title: '配置中心' },
54 name: '/pages/dev/mappingManage', 63 name: '/pages/dev/mappingManage',
55 component: () => import('@/views/dev/mappingList.vue') 64 component: () => import('@/views/dev/mappingList.vue')
56 }, 65 },
57 { 66 {
58 path: '/pages/dev/businessDatabusManage', 67 path: '/pages/dev/businessDatabusManage',
  68 + meta: { title: 'Databus' },
59 name: '/pages/dev/businessDatabusManage', 69 name: '/pages/dev/businessDatabusManage',
60 component: () => import('@/views/dev/businessDatabusList.vue') 70 component: () => import('@/views/dev/businessDatabusList.vue')
61 }, 71 },
62 { 72 {
63 path: '/pages/dev/dictManage', 73 path: '/pages/dev/dictManage',
  74 + meta: { title: '字典' },
64 name: '/pages/dev/dictManage', 75 name: '/pages/dev/dictManage',
65 component: () => import('@/views/dev/dictList.vue') 76 component: () => import('@/views/dev/dictList.vue')
66 }, 77 },
67 { 78 {
68 path: '/pages/dev/cacheManage', 79 path: '/pages/dev/cacheManage',
  80 + meta: { title: '刷新缓存' },
69 name: '/pages/dev/cacheManage', 81 name: '/pages/dev/cacheManage',
70 component: () => import('@/views/dev/cacheList.vue') 82 component: () => import('@/views/dev/cacheList.vue')
71 }, 83 },
72 { 84 {
73 path: '/pages/dev/menuManage', 85 path: '/pages/dev/menuManage',
  86 + meta: { title: '菜单维护' },
74 name: '/pages/dev/menuManage', 87 name: '/pages/dev/menuManage',
75 component: () => import('@/views/dev/menuList.vue') 88 component: () => import('@/views/dev/menuList.vue')
76 }, 89 },
@@ -81,11 +94,13 @@ export default [ @@ -81,11 +94,13 @@ export default [
81 }, 94 },
82 { 95 {
83 path: '/pages/dev/jobManage', 96 path: '/pages/dev/jobManage',
  97 + meta: { title: '定时任务' },
84 name: '/pages/dev/jobManage', 98 name: '/pages/dev/jobManage',
85 component: () => import('@/views/dev/taskList.vue') 99 component: () => import('@/views/dev/taskList.vue')
86 }, 100 },
87 { 101 {
88 path: '/pages/dev/attrSpecManage', 102 path: '/pages/dev/attrSpecManage',
  103 + meta: { title: '属性' },
89 name: '/pages/dev/attrSpecManage', 104 name: '/pages/dev/attrSpecManage',
90 component: () => import('@/views/dev/attrSpecList.vue') 105 component: () => import('@/views/dev/attrSpecList.vue')
91 }, 106 },
@@ -96,41 +111,49 @@ export default [ @@ -96,41 +111,49 @@ export default [
96 }, 111 },
97 { 112 {
98 path: '/pages/dev/reportCustomGroupManage', 113 path: '/pages/dev/reportCustomGroupManage',
  114 + meta: { title: '报表组' },
99 name: '/pages/dev/reportCustomGroupManage', 115 name: '/pages/dev/reportCustomGroupManage',
100 component: () => import('@/views/report/reportCustomGroupManageList.vue') 116 component: () => import('@/views/report/reportCustomGroupManageList.vue')
101 }, 117 },
102 { 118 {
103 path: '/pages/dev/reportCustomManage', 119 path: '/pages/dev/reportCustomManage',
  120 + meta: { title: '报表信息' },
104 name: '/pages/dev/reportCustomManage', 121 name: '/pages/dev/reportCustomManage',
105 component: () => import('@/views/report/reportCustomManageList.vue') 122 component: () => import('@/views/report/reportCustomManageList.vue')
106 }, 123 },
107 { 124 {
108 path: '/pages/dev/reportCustomComponentManage', 125 path: '/pages/dev/reportCustomComponentManage',
  126 + meta: { title: '报表组件' },
109 name: '/pages/dev/reportCustomComponentManage', 127 name: '/pages/dev/reportCustomComponentManage',
110 component: () => import('@/views/report/reportCustomComponentManageList.vue') 128 component: () => import('@/views/report/reportCustomComponentManageList.vue')
111 }, 129 },
112 { 130 {
113 path: '/pages/dev/transactionLogManage', 131 path: '/pages/dev/transactionLogManage',
  132 + meta: { title: '交互日志' },
114 name: '/pages/dev/transactionLogManage', 133 name: '/pages/dev/transactionLogManage',
115 component: () => import('@/views/log/transactionLogManageList.vue') 134 component: () => import('@/views/log/transactionLogManageList.vue')
116 }, 135 },
117 { 136 {
118 path: '/pages/dev/initializeCommunityManage', 137 path: '/pages/dev/initializeCommunityManage',
  138 + meta: { title: '初始化小区' },
119 name: '/pages/dev/initializeCommunityManage', 139 name: '/pages/dev/initializeCommunityManage',
120 component: () => import('@/views/community/initializeCommunityManageList.vue') 140 component: () => import('@/views/community/initializeCommunityManageList.vue')
121 }, 141 },
122 { 142 {
123 path: '/pages/dev/serviceProvideManage', 143 path: '/pages/dev/serviceProvideManage',
  144 + meta: { title: '服务提供' },
124 name: '/pages/dev/serviceProvideManage', 145 name: '/pages/dev/serviceProvideManage',
125 component: () => import('@/views/dev/serviceProvideManageList.vue') 146 component: () => import('@/views/dev/serviceProvideManageList.vue')
126 }, 147 },
127 { 148 {
128 path: '/views/dev/devServiceProvide', 149 path: '/views/dev/devServiceProvide',
  150 + meta: { title: '开发服务' },
129 name: '/views/dev/devServiceProvide', 151 name: '/views/dev/devServiceProvide',
130 component: () => import('@/views/dev/devServiceProvideList.vue') 152 component: () => import('@/views/dev/devServiceProvideList.vue')
131 }, 153 },
132 { 154 {
133 path: '/pages/dev/transactionOutLog', 155 path: '/pages/dev/transactionOutLog',
  156 + meta: { title: '调用三方' },
134 name: '/pages/dev/transactionOutLog', 157 name: '/pages/dev/transactionOutLog',
135 component: () => import('@/views/log/transactionOutLogList.vue') 158 component: () => import('@/views/log/transactionOutLogList.vue')
136 }, 159 },
src/router/feeRouter.js
@@ -2,30 +2,36 @@ export default [ @@ -2,30 +2,36 @@ export default [
2 { 2 {
3 path: '/pages/property/contractCreateFee', 3 path: '/pages/property/contractCreateFee',
4 name: '/pages/property/contractCreateFee', 4 name: '/pages/property/contractCreateFee',
5 - component: () => import('@/views/fee/contractCreateFeeList.vue') 5 + component: () => import('@/views/fee/contractCreateFeeList.vue'),
  6 + meta: { title: '合同收费' }
6 }, 7 },
7 { 8 {
8 path: '/pages/property/meterWaterManage', 9 path: '/pages/property/meterWaterManage',
9 name: '/pages/property/meterWaterManage', 10 name: '/pages/property/meterWaterManage',
10 - component: () => import('@/views/fee/meterWaterManageList.vue') 11 + component: () => import('@/views/fee/meterWaterManageList.vue'),
  12 + meta: { title: '水电抄表' }
11 }, 13 },
12 { 14 {
13 path: '/views/fee/meterTypeManage', 15 path: '/views/fee/meterTypeManage',
14 name: '/views/fee/meterTypeManage', 16 name: '/views/fee/meterTypeManage',
15 - component: () => import('@/views/fee/meterTypeManageList.vue') 17 + component: () => import('@/views/fee/meterTypeManageList.vue'),
  18 + meta: { title: '表类型管理' }
16 }, 19 },
17 { 20 {
18 path: '/pages/property/returnPayFeeManage', 21 path: '/pages/property/returnPayFeeManage',
  22 + meta: { title: '退费审核' },
19 name: '/pages/property/returnPayFeeManage', 23 name: '/pages/property/returnPayFeeManage',
20 component: () => import('@/views/fee/returnPayFeeManageList.vue') 24 component: () => import('@/views/fee/returnPayFeeManageList.vue')
21 }, 25 },
22 { 26 {
23 path: '/pages/property/feeDiscountManage', 27 path: '/pages/property/feeDiscountManage',
  28 + meta: { title: '折扣设置' },
24 name: '/pages/property/feeDiscountManage', 29 name: '/pages/property/feeDiscountManage',
25 component: () => import('@/views/fee/feeDiscountManageList.vue') 30 component: () => import('@/views/fee/feeDiscountManageList.vue')
26 }, 31 },
27 { 32 {
28 path: '/pages/property/applyRoomDiscountManage', 33 path: '/pages/property/applyRoomDiscountManage',
  34 + meta: { title: '优惠申请' },
29 name: '/pages/property/applyRoomDiscountManage', 35 name: '/pages/property/applyRoomDiscountManage',
30 component: () => import('@/views/fee/applyRoomDiscountManageList.vue') 36 component: () => import('@/views/fee/applyRoomDiscountManageList.vue')
31 }, 37 },
@@ -41,21 +47,25 @@ export default [ @@ -41,21 +47,25 @@ export default [
41 }, 47 },
42 { 48 {
43 path: '/pages/property/feeReceipt', 49 path: '/pages/property/feeReceipt',
  50 + meta: { title: '补打收据' },
44 name: '/pages/property/feeReceipt', 51 name: '/pages/property/feeReceipt',
45 component: () => import('@/views/fee/feeReceiptList.vue') 52 component: () => import('@/views/fee/feeReceiptList.vue')
46 }, 53 },
47 { 54 {
48 path: '/pages/fee/floorShare', 55 path: '/pages/fee/floorShare',
  56 + meta: { title: '楼栋公摊' },
49 name: '/pages/fee/floorShare', 57 name: '/pages/fee/floorShare',
50 component: () => import('@/views/fee/floorShareList.vue') 58 component: () => import('@/views/fee/floorShareList.vue')
51 }, 59 },
52 { 60 {
53 path: '/pages/fee/shareReading', 61 path: '/pages/fee/shareReading',
  62 + meta: { title: '公摊抄表' },
54 name: '/pages/fee/shareReading', 63 name: '/pages/fee/shareReading',
55 component: () => import('@/views/fee/shareReadingList.vue') 64 component: () => import('@/views/fee/shareReadingList.vue')
56 }, 65 },
57 { 66 {
58 path: '/pages/property/roomFeeImport', 67 path: '/pages/property/roomFeeImport',
  68 + meta: { title: '费用导入' },
59 name: '/pages/property/roomFeeImport', 69 name: '/pages/property/roomFeeImport',
60 component: () => import('@/views/fee/roomFeeImportList.vue') 70 component: () => import('@/views/fee/roomFeeImportList.vue')
61 }, 71 },
@@ -71,11 +81,13 @@ export default [ @@ -71,11 +81,13 @@ export default [
71 }, 81 },
72 { 82 {
73 path: '/pages/property/feeComboManage', 83 path: '/pages/property/feeComboManage',
  84 + meta: { title: '费用套餐' },
74 name: '/pages/property/feeComboManage', 85 name: '/pages/property/feeComboManage',
75 component: () => import('@/views/fee/feeComboManageList.vue') 86 component: () => import('@/views/fee/feeComboManageList.vue')
76 }, 87 },
77 { 88 {
78 path: '/pages/property/payFeeAuditManage', 89 path: '/pages/property/payFeeAuditManage',
  90 + meta: { title: '缴费审核' },
79 name: '/pages/property/payFeeAuditManage', 91 name: '/pages/property/payFeeAuditManage',
80 component: () => import('@/views/fee/payFeeAuditManageList.vue') 92 component: () => import('@/views/fee/payFeeAuditManageList.vue')
81 }, 93 },
@@ -86,16 +98,19 @@ export default [ @@ -86,16 +98,19 @@ export default [
86 }, 98 },
87 { 99 {
88 path: '/pages/property/payFeeBatch', 100 path: '/pages/property/payFeeBatch',
  101 + meta: { title: '取消费用' },
89 name: '/pages/property/payFeeBatch', 102 name: '/pages/property/payFeeBatch',
90 component: () => import('@/views/fee/payFeeBatchList.vue') 103 component: () => import('@/views/fee/payFeeBatchList.vue')
91 }, 104 },
92 { 105 {
93 path: '/pages/property/listOweFee', 106 path: '/pages/property/listOweFee',
  107 + meta: { title: '欠费信息' },
94 name: '/pages/property/listOweFee', 108 name: '/pages/property/listOweFee',
95 component: () => import('@/views/fee/listOweFeeList.vue') 109 component: () => import('@/views/fee/listOweFeeList.vue')
96 }, 110 },
97 { 111 {
98 path: '/pages/fee/oweFeeCallable', 112 path: '/pages/fee/oweFeeCallable',
  113 + meta: { title: '欠费催缴' },
99 name: '/pages/fee/oweFeeCallable', 114 name: '/pages/fee/oweFeeCallable',
100 component: () => import('@/views/fee/oweFeeCallableList.vue') 115 component: () => import('@/views/fee/oweFeeCallableList.vue')
101 }, 116 },
@@ -106,16 +121,19 @@ export default [ @@ -106,16 +121,19 @@ export default [
106 }, 121 },
107 { 122 {
108 path: '/pages/property/staffFeeManage', 123 path: '/pages/property/staffFeeManage',
  124 + meta: { title: '员工收费' },
109 name: '/pages/property/staffFeeManage', 125 name: '/pages/property/staffFeeManage',
110 component: () => import('@/views/fee/staffFeeManageList.vue') 126 component: () => import('@/views/fee/staffFeeManageList.vue')
111 }, 127 },
112 { 128 {
113 path: '/pages/property/feeSummary', 129 path: '/pages/property/feeSummary',
  130 + meta: { title: '费用汇总表' },
114 name: '/pages/property/feeSummary', 131 name: '/pages/property/feeSummary',
115 component: () => import('@/views/fee/feeSummaryList.vue') 132 component: () => import('@/views/fee/feeSummaryList.vue')
116 }, 133 },
117 { 134 {
118 path: '/pages/property/roomCreateFee', 135 path: '/pages/property/roomCreateFee',
  136 + meta: { title: '房屋收费' },
119 name: '/pages/property/roomCreateFee', 137 name: '/pages/property/roomCreateFee',
120 component: () => import('@/views/fee/roomCreateFeeList.vue') 138 component: () => import('@/views/fee/roomCreateFeeList.vue')
121 }, 139 },
@@ -131,6 +149,7 @@ export default [ @@ -131,6 +149,7 @@ export default [
131 }, 149 },
132 { 150 {
133 path: '/pages/property/simplifyAcceptance', 151 path: '/pages/property/simplifyAcceptance',
  152 + meta: { title: '业务受理' },
134 name: '/pages/property/simplifyAcceptance', 153 name: '/pages/property/simplifyAcceptance',
135 component: () => import('@/views/simplify/simplifyAcceptanceList.vue') 154 component: () => import('@/views/simplify/simplifyAcceptanceList.vue')
136 }, 155 },
src/router/index.js
@@ -20,6 +20,9 @@ import feeRouter from './feeRouter' @@ -20,6 +20,9 @@ import feeRouter from './feeRouter'
20 20
21 Vue.use(VueRouter) 21 Vue.use(VueRouter)
22 22
  23 +// 多标签页:仅当路由配置了 meta.title 或 meta.titleKey 时才会在标签栏展示
  24 +// meta: { title: '费用项设置' } // 直接文案
  25 +// meta: { titleKey: 'fee.titleConfig' } // i18n 的 key
23 const routes = [ 26 const routes = [
24 { 27 {
25 path: '/', 28 path: '/',
@@ -29,11 +32,13 @@ const routes = [ @@ -29,11 +32,13 @@ const routes = [
29 { 32 {
30 path: '/views/index/index', 33 path: '/views/index/index',
31 name: '/views/index/index', 34 name: '/views/index/index',
32 - component: () => import('@/views/index/index.vue') 35 + component: () => import('@/views/index/index.vue'),
  36 + meta: { title: '首页' }
33 }, 37 },
34 38
35 { 39 {
36 path: '/pages/frame/changeStaffPwd', 40 path: '/pages/frame/changeStaffPwd',
  41 + meta: { title: '修改密码' },
37 name: '/pages/frame/changeStaffPwd', 42 name: '/pages/frame/changeStaffPwd',
38 component: () => import('@/views/user/login/updatePwd.vue') 43 component: () => import('@/views/user/login/updatePwd.vue')
39 }, 44 },
@@ -41,12 +46,14 @@ const routes = [ @@ -41,12 +46,14 @@ const routes = [
41 { 46 {
42 47
43 path: '/pages/frame/orgManage', 48 path: '/pages/frame/orgManage',
  49 + meta: { title: '组织信息' },
44 name: '/pages/frame/orgManage', 50 name: '/pages/frame/orgManage',
45 component: () => import('@/views/org/orgList.vue') 51 component: () => import('@/views/org/orgList.vue')
46 }, 52 },
47 53
48 { 54 {
49 path: '/pages/frame/staff', 55 path: '/pages/frame/staff',
  56 + meta: { title: '员工信息' },
50 name: '/pages/frame/staff', 57 name: '/pages/frame/staff',
51 component: () => import('@/views/staff/staffList.vue') 58 component: () => import('@/views/staff/staffList.vue')
52 }, 59 },
@@ -57,6 +64,7 @@ const routes = [ @@ -57,6 +64,7 @@ const routes = [
57 }, 64 },
58 { 65 {
59 path: '/pages/frame/role', 66 path: '/pages/frame/role',
  67 + meta: { title: '角色权限' },
60 name: '/pages/frame/role', 68 name: '/pages/frame/role',
61 component: () => import('@/views/role/roleList.vue') 69 component: () => import('@/views/role/roleList.vue')
62 }, 70 },
@@ -76,11 +84,13 @@ const routes = [ @@ -76,11 +84,13 @@ const routes = [
76 }, 84 },
77 { 85 {
78 path: '/pages/frame/systemInfoManage', 86 path: '/pages/frame/systemInfoManage',
  87 + meta: { title: '系统配置' },
79 name: '/pages/frame/systemInfoManage', 88 name: '/pages/frame/systemInfoManage',
80 component: () => import('@/views/system/systemInfoManageList.vue') 89 component: () => import('@/views/system/systemInfoManageList.vue')
81 }, 90 },
82 { 91 {
83 path: '/pages/frame/registerProtocol', 92 path: '/pages/frame/registerProtocol',
  93 + meta: { title: '注册协议' },
84 name: '/pages/frame/registerProtocol', 94 name: '/pages/frame/registerProtocol',
85 component: () => import('@/views/system/registerProtocolList.vue') 95 component: () => import('@/views/system/registerProtocolList.vue')
86 }, 96 },
@@ -103,11 +113,13 @@ const routes = [ @@ -103,11 +113,13 @@ const routes = [
103 113
104 { 114 {
105 path: '/pages/common/communityManage', 115 path: '/pages/common/communityManage',
  116 + meta: { title: '小区信息' },
106 name: '/pages/common/communityManage', 117 name: '/pages/common/communityManage',
107 component: () => import('@/views/community/communityManageList.vue') 118 component: () => import('@/views/community/communityManageList.vue')
108 }, 119 },
109 { 120 {
110 path: '/pages/admin/propertyCompanyManage', 121 path: '/pages/admin/propertyCompanyManage',
  122 + meta: { title: '物业公司' },
111 name: '/pages/admin/propertyCompanyManage', 123 name: '/pages/admin/propertyCompanyManage',
112 component: () => import('@/views/store/propertyCompanyManageList.vue') 124 component: () => import('@/views/store/propertyCompanyManageList.vue')
113 }, 125 },
@@ -118,26 +130,31 @@ const routes = [ @@ -118,26 +130,31 @@ const routes = [
118 }, 130 },
119 { 131 {
120 path: '/pages/community/cityArea', 132 path: '/pages/community/cityArea',
  133 + meta: { title: '地区' },
121 name: '/pages/community/cityArea', 134 name: '/pages/community/cityArea',
122 component: () => import('@/views/community/cityAreaList.vue') 135 component: () => import('@/views/community/cityAreaList.vue')
123 }, 136 },
124 { 137 {
125 path: '/pages/admin/merchantManage', 138 path: '/pages/admin/merchantManage',
  139 + meta: { title: '周边商家' },
126 name: '/pages/admin/merchantManage', 140 name: '/pages/admin/merchantManage',
127 component: () => import('@/views/mall/merchantManageList.vue') 141 component: () => import('@/views/mall/merchantManageList.vue')
128 }, 142 },
129 { 143 {
130 path: '/pages/admin/shopManage', 144 path: '/pages/admin/shopManage',
  145 + meta: { title: '店铺信息' },
131 name: '/views/mall/shopManage', 146 name: '/views/mall/shopManage',
132 component: () => import('@/views/mall/shopManageList.vue') 147 component: () => import('@/views/mall/shopManageList.vue')
133 }, 148 },
134 { 149 {
135 path: '/pages/admin/shopCommunity', 150 path: '/pages/admin/shopCommunity',
  151 + meta: { title: '小区店铺' },
136 name: '/pages/admin/shopCommunity', 152 name: '/pages/admin/shopCommunity',
137 component: () => import('@/views/mall/shopCommunityList.vue') 153 component: () => import('@/views/mall/shopCommunityList.vue')
138 }, 154 },
139 { 155 {
140 path: '/pages/staff/systemUser', 156 path: '/pages/staff/systemUser',
  157 + meta: { title: '物业用户' },
141 name: '/pages/staff/systemUser', 158 name: '/pages/staff/systemUser',
142 component: () => import('@/views/staff/systemUserList.vue') 159 component: () => import('@/views/staff/systemUserList.vue')
143 }, 160 },
@@ -148,6 +165,7 @@ const routes = [ @@ -148,6 +165,7 @@ const routes = [
148 }, 165 },
149 { 166 {
150 path: '/pages/staff/storeStaff', 167 path: '/pages/staff/storeStaff',
  168 + meta: { title: '物业员工' },
151 name: '/pages/staff/storeStaff', 169 name: '/pages/staff/storeStaff',
152 component: () => import('@/views/staff/storeStaffList.vue') 170 component: () => import('@/views/staff/storeStaffList.vue')
153 }, 171 },
@@ -158,22 +176,26 @@ const routes = [ @@ -158,22 +176,26 @@ const routes = [
158 }, 176 },
159 { 177 {
160 path: '/pages/community/adminRoom', 178 path: '/pages/community/adminRoom',
  179 + meta: { title: '小区房屋' },
161 name: '/pages/community/adminRoom', 180 name: '/pages/community/adminRoom',
162 component: () => import('@/views/community/adminRoomList.vue') 181 component: () => import('@/views/community/adminRoomList.vue')
163 }, 182 },
164 { 183 {
165 path: '/pages/owner/adminOwner', 184 path: '/pages/owner/adminOwner',
  185 + meta: { title: '小区业主' },
166 name: '/pages/owner/adminOwner', 186 name: '/pages/owner/adminOwner',
167 component: () => import('@/views/owner/adminOwnerList.vue') 187 component: () => import('@/views/owner/adminOwnerList.vue')
168 }, 188 },
169 189
170 { 190 {
171 path: '/pages/owner/adminAuthOwner', 191 path: '/pages/owner/adminAuthOwner',
  192 + meta: { title: '业主认证' },
172 name: '/pages/owner/adminAuthOwner', 193 name: '/pages/owner/adminAuthOwner',
173 component: () => import('@/views/owner/adminAuthOwnerList.vue') 194 component: () => import('@/views/owner/adminAuthOwnerList.vue')
174 }, 195 },
175 { 196 {
176 path: '/pages/owner/adminAccount', 197 path: '/pages/owner/adminAccount',
  198 + meta: { title: '业主账户' },
177 name: '/pages/owner/adminAccount', 199 name: '/pages/owner/adminAccount',
178 component: () => import('@/views/account/adminAccountList.vue') 200 component: () => import('@/views/account/adminAccountList.vue')
179 }, 201 },
@@ -184,17 +206,20 @@ const routes = [ @@ -184,17 +206,20 @@ const routes = [
184 }, 206 },
185 { 207 {
186 path: '/pages/fee/adminFeeConfig', 208 path: '/pages/fee/adminFeeConfig',
  209 + meta: { title: '小区费用项' },
187 name: '/pages/fee/adminFeeConfig', 210 name: '/pages/fee/adminFeeConfig',
188 component: () => import('@/views/fee/adminFeeConfigList.vue') 211 component: () => import('@/views/fee/adminFeeConfigList.vue')
189 }, 212 },
190 213
191 { 214 {
192 path: '/pages/fee/adminRoomFee', 215 path: '/pages/fee/adminRoomFee',
  216 + meta: { title: '房屋费用' },
193 name: '/pages/fee/adminRoomFee', 217 name: '/pages/fee/adminRoomFee',
194 component: () => import('@/views/fee/adminRoomFeeList.vue') 218 component: () => import('@/views/fee/adminRoomFeeList.vue')
195 }, 219 },
196 { 220 {
197 path: '/pages/work/adminRepair', 221 path: '/pages/work/adminRepair',
  222 + meta: { title: '小区报修' },
198 name: '/pages/work/adminRepair', 223 name: '/pages/work/adminRepair',
199 component: () => import('@/views/work/adminRepairList.vue') 224 component: () => import('@/views/work/adminRepairList.vue')
200 }, 225 },
@@ -206,6 +231,7 @@ const routes = [ @@ -206,6 +231,7 @@ const routes = [
206 231
207 { 232 {
208 path: '/pages/complaint/adminComplaint', 233 path: '/pages/complaint/adminComplaint',
  234 + meta: { title: '小区投诉' },
209 name: '/pages/complaint/adminComplaint', 235 name: '/pages/complaint/adminComplaint',
210 component: () => import('@/views/complaint/adminComplaintList.vue') 236 component: () => import('@/views/complaint/adminComplaintList.vue')
211 }, 237 },
@@ -216,6 +242,7 @@ const routes = [ @@ -216,6 +242,7 @@ const routes = [
216 }, 242 },
217 { 243 {
218 path: '/pages/oa/adminWorkPool', 244 path: '/pages/oa/adminWorkPool',
  245 + meta: { title: '小区工作单' },
219 name: '/pages/oa/adminWorkPool', 246 name: '/pages/oa/adminWorkPool',
220 component: () => import('@/views/work/adminWorkPoolList.vue') 247 component: () => import('@/views/work/adminWorkPoolList.vue')
221 }, 248 },
@@ -226,103 +253,123 @@ const routes = [ @@ -226,103 +253,123 @@ const routes = [
226 }, 253 },
227 { 254 {
228 path: '/pages/iot/aAccessControl', 255 path: '/pages/iot/aAccessControl',
  256 + meta: { title: '小区门禁' },
229 name: '/pages/iot/aAccessControl', 257 name: '/pages/iot/aAccessControl',
230 component: () => import('@/views/iot/aAccessControlList.vue') 258 component: () => import('@/views/iot/aAccessControlList.vue')
231 }, 259 },
232 { 260 {
233 path: '/pages/iot/adminBarrier', 261 path: '/pages/iot/adminBarrier',
  262 + meta: { title: '道闸相机' },
234 name: '/pages/iot/adminBarrier', 263 name: '/pages/iot/adminBarrier',
235 component: () => import('@/views/iot/adminBarrierList.vue') 264 component: () => import('@/views/iot/adminBarrierList.vue')
236 }, 265 },
237 266
238 { 267 {
239 path: '/pages/iot/adminMeter', 268 path: '/pages/iot/adminMeter',
  269 + meta: { title: '水电表' },
240 name: '/pages/iot/adminMeter', 270 name: '/pages/iot/adminMeter',
241 component: () => import('@/views/iot/adminMeterList.vue') 271 component: () => import('@/views/iot/adminMeterList.vue')
242 }, 272 },
243 { 273 {
244 path: '/pages/iot/adminInout', 274 path: '/pages/iot/adminInout',
  275 + meta: { title: '门禁出入' },
245 name: '/pages/iot/adminInout', 276 name: '/pages/iot/adminInout',
246 component: () => import('@/views/iot/adminInoutList.vue') 277 component: () => import('@/views/iot/adminInoutList.vue')
247 }, 278 },
248 279
249 { 280 {
250 path: '/pages/iot/adminChargeOrder', 281 path: '/pages/iot/adminChargeOrder',
  282 + meta: { title: '充电订单' },
251 name: '/pages/iot/adminChargeOrder', 283 name: '/pages/iot/adminChargeOrder',
252 component: () => import('@/views/iot/adminChargeOrderList.vue') 284 component: () => import('@/views/iot/adminChargeOrderList.vue')
253 }, 285 },
254 { 286 {
255 path: '/pages/iot/adminMeterRecharge', 287 path: '/pages/iot/adminMeterRecharge',
  288 + meta: { title: '水电充值' },
256 name: '/pages/iot/adminMeterRecharge', 289 name: '/pages/iot/adminMeterRecharge',
257 component: () => import('@/views/iot/adminMeterRechargeList.vue') 290 component: () => import('@/views/iot/adminMeterRechargeList.vue')
258 }, 291 },
259 { 292 {
260 path: '/pages/report/operationalAnalysis', 293 path: '/pages/report/operationalAnalysis',
  294 + meta: { title: '运营分析' },
261 name: '/pages/report/operationalAnalysis', 295 name: '/pages/report/operationalAnalysis',
262 component: () => import('@/views/report/operationalAnalysisList.vue') 296 component: () => import('@/views/report/operationalAnalysisList.vue')
263 }, 297 },
264 { 298 {
265 path: '/pages/report/communityFeeSummary', 299 path: '/pages/report/communityFeeSummary',
  300 + meta: { title: '小区费用汇总' },
266 name: '/pages/report/communityFeeSummary', 301 name: '/pages/report/communityFeeSummary',
267 component: () => import('@/views/report/communityFeeSummaryList.vue') 302 component: () => import('@/views/report/communityFeeSummaryList.vue')
268 }, 303 },
269 { 304 {
270 path: '/pages/fee/adminPayFeeDetail', 305 path: '/pages/fee/adminPayFeeDetail',
  306 + meta: { title: '缴费记录' },
271 name: '/pages/fee/adminPayFeeDetail', 307 name: '/pages/fee/adminPayFeeDetail',
272 component: () => import('@/views/fee/adminPayFeeDetailList.vue') 308 component: () => import('@/views/fee/adminPayFeeDetailList.vue')
273 }, 309 },
274 { 310 {
275 path: '/pages/fee/adminOweFeeDetail', 311 path: '/pages/fee/adminOweFeeDetail',
  312 + meta: { title: '小区欠费' },
276 name: '/pages/fee/adminOweFeeDetail', 313 name: '/pages/fee/adminOweFeeDetail',
277 component: () => import('@/views/fee/adminOweFeeDetailList.vue') 314 component: () => import('@/views/fee/adminOweFeeDetailList.vue')
278 }, 315 },
279 { 316 {
280 path: '/pages/admin/orderManage', 317 path: '/pages/admin/orderManage',
  318 + meta: { title: '受理单' },
281 name: '/pages/admin/orderManage', 319 name: '/pages/admin/orderManage',
282 component: () => import('@/views/admin/orderManageList.vue') 320 component: () => import('@/views/admin/orderManageList.vue')
283 }, 321 },
284 { 322 {
285 path: '/pages/frame/userLogin', 323 path: '/pages/frame/userLogin',
  324 + meta: { title: '登录日志' },
286 name: '/pages/frame/userLogin', 325 name: '/pages/frame/userLogin',
287 component: () => import('@/views/user/userLoginList.vue') 326 component: () => import('@/views/user/userLoginList.vue')
288 }, 327 },
289 { 328 {
290 path: '/pages/admin/productSj', 329 path: '/pages/admin/productSj',
  330 + meta: { title: '上架商品' },
291 name: '/pages/admin/productSj', 331 name: '/pages/admin/productSj',
292 component: () => import('@/views/mall/productSjList.vue') 332 component: () => import('@/views/mall/productSjList.vue')
293 }, 333 },
294 { 334 {
295 path: '/pages/admin/housekeepingSjServ', 335 path: '/pages/admin/housekeepingSjServ',
  336 + meta: { title: '上架服务' },
296 name: '/pages/admin/housekeepingSjServ', 337 name: '/pages/admin/housekeepingSjServ',
297 component: () => import('@/views/mall/housekeepingSjServList.vue') 338 component: () => import('@/views/mall/housekeepingSjServList.vue')
298 }, 339 },
299 { 340 {
300 path: '/pages/admin/storeOrderCartManage', 341 path: '/pages/admin/storeOrderCartManage',
  342 + meta: { title: '商城订单' },
301 name: '/pages/admin/storeOrderCartManage', 343 name: '/pages/admin/storeOrderCartManage',
302 component: () => import('@/views/mall/storeOrderCartManageList.vue') 344 component: () => import('@/views/mall/storeOrderCartManageList.vue')
303 }, 345 },
304 { 346 {
305 path: '/pages/admin/storeOrderCartReturn', 347 path: '/pages/admin/storeOrderCartReturn',
  348 + meta: { title: '退货订单' },
306 name: '/pages/admin/storeOrderCartReturn', 349 name: '/pages/admin/storeOrderCartReturn',
307 component: () => import('@/views/mall/storeOrderCartReturnList.vue') 350 component: () => import('@/views/mall/storeOrderCartReturnList.vue')
308 }, 351 },
309 { 352 {
310 path: '/pages/admin/userIntegral', 353 path: '/pages/admin/userIntegral',
  354 + meta: { title: '用户积分' },
311 name: '/pages/admin/userIntegral', 355 name: '/pages/admin/userIntegral',
312 component: () => import('@/views/mall/userIntegralList.vue') 356 component: () => import('@/views/mall/userIntegralList.vue')
313 }, 357 },
314 { 358 {
315 path: '/pages/admin/integralDetail', 359 path: '/pages/admin/integralDetail',
  360 + meta: { title: '积分交易' },
316 name: '/pages/admin/integralDetail', 361 name: '/pages/admin/integralDetail',
317 component: () => import('@/views/mall/integralDetailList.vue') 362 component: () => import('@/views/mall/integralDetailList.vue')
318 }, 363 },
319 { 364 {
320 path: '/pages/admin/marketSmsManage', 365 path: '/pages/admin/marketSmsManage',
  366 + meta: { title: '营销配置' },
321 name: '/pages/admin/marketSmsManage', 367 name: '/pages/admin/marketSmsManage',
322 component: () => import('@/views/market/marketSmsManageList.vue') 368 component: () => import('@/views/market/marketSmsManageList.vue')
323 }, 369 },
324 { 370 {
325 path: '/pages/admin/marketWay', 371 path: '/pages/admin/marketWay',
  372 + meta: { title: '营销方式' },
326 name: '/pages/admin/marketWay', 373 name: '/pages/admin/marketWay',
327 component: () => import('@/views/market/marketWayList.vue') 374 component: () => import('@/views/market/marketWayList.vue')
328 }, 375 },
@@ -333,21 +380,25 @@ const routes = [ @@ -333,21 +380,25 @@ const routes = [
333 }, 380 },
334 { 381 {
335 path: '/pages/admin/marketRule', 382 path: '/pages/admin/marketRule',
  383 + meta: { title: '营销规则' },
336 name: '/pages/admin/marketRule', 384 name: '/pages/admin/marketRule',
337 component: () => import('@/views/market/marketRuleList.vue') 385 component: () => import('@/views/market/marketRuleList.vue')
338 }, 386 },
339 { 387 {
340 path: '/pages/admin/marketBlacklistManage', 388 path: '/pages/admin/marketBlacklistManage',
  389 + meta: { title: '营销黑名单' },
341 name: '/pages/admin/marketBlacklistManage', 390 name: '/pages/admin/marketBlacklistManage',
342 component: () => import('@/views/market/marketBlacklistManageList.vue') 391 component: () => import('@/views/market/marketBlacklistManageList.vue')
343 }, 392 },
344 { 393 {
345 path: '/pages/admin/marketLog', 394 path: '/pages/admin/marketLog',
  395 + meta: { title: '营销记录' },
346 name: '/pages/admin/marketLog', 396 name: '/pages/admin/marketLog',
347 component: () => import('@/views/market/marketLogList.vue') 397 component: () => import('@/views/market/marketLogList.vue')
348 }, 398 },
349 { 399 {
350 path: '/pages/property/advertManage', 400 path: '/pages/property/advertManage',
  401 + meta: { title: '发布广告' },
351 name: '/pages/property/advertManage', 402 name: '/pages/property/advertManage',
352 component: () => import('@/views/admin/advertManageList.vue') 403 component: () => import('@/views/admin/advertManageList.vue')
353 }, 404 },
@@ -368,11 +419,13 @@ const routes = [ @@ -368,11 +419,13 @@ const routes = [
368 }, 419 },
369 { 420 {
370 path: '/pages/admin/couponPoolManage', 421 path: '/pages/admin/couponPoolManage',
  422 + meta: { title: '制作优惠券' },
371 name: '/pages/admin/couponPoolManage', 423 name: '/pages/admin/couponPoolManage',
372 component: () => import('@/views/account/couponPoolManageList.vue') 424 component: () => import('@/views/account/couponPoolManageList.vue')
373 }, 425 },
374 { 426 {
375 path: '/pages/admin/couponDetailManage', 427 path: '/pages/admin/couponDetailManage',
  428 + meta: { title: '购买记录' },
376 name: '/pages/admin/couponDetailManage', 429 name: '/pages/admin/couponDetailManage',
377 component: () => import('@/views/account/couponDetailManageList.vue') 430 component: () => import('@/views/account/couponDetailManageList.vue')
378 }, 431 },
@@ -398,6 +451,7 @@ const routes = [ @@ -398,6 +451,7 @@ const routes = [
398 }, 451 },
399 { 452 {
400 path: '/pages/staff/aStaff', 453 path: '/pages/staff/aStaff',
  454 + meta: { title: '运营员工' },
401 name: '/pages/staff/aStaff', 455 name: '/pages/staff/aStaff',
402 component: () => import('@/views/staff/aStaffList.vue') 456 component: () => import('@/views/staff/aStaffList.vue')
403 }, 457 },
@@ -408,36 +462,43 @@ const routes = [ @@ -408,36 +462,43 @@ const routes = [
408 }, 462 },
409 { 463 {
410 path: '/pages/staff/aStaffCommunity', 464 path: '/pages/staff/aStaffCommunity',
  465 + meta: { title: '员工小区' },
411 name: '/pages/staff/aStaffCommunity', 466 name: '/pages/staff/aStaffCommunity',
412 component: () => import('@/views/staff/aStaffCommunityList.vue') 467 component: () => import('@/views/staff/aStaffCommunityList.vue')
413 }, 468 },
414 { 469 {
415 path: '/pages/community/communityWechat', 470 path: '/pages/community/communityWechat',
  471 + meta: { title: '小区公众号' },
416 name: '/pages/community/communityWechat', 472 name: '/pages/community/communityWechat',
417 component: () => import('@/views/community/communityWechatList.vue') 473 component: () => import('@/views/community/communityWechatList.vue')
418 }, 474 },
419 { 475 {
420 path: '/pages/community/communityMini', 476 path: '/pages/community/communityMini',
  477 + meta: { title: '小区小程序' },
421 name: '/pages/community/communityMini', 478 name: '/pages/community/communityMini',
422 component: () => import('@/views/community/communityMiniList.vue') 479 component: () => import('@/views/community/communityMiniList.vue')
423 }, 480 },
424 { 481 {
425 path: '/pages/fee/communityPayment', 482 path: '/pages/fee/communityPayment',
  483 + meta: { title: '小区支付' },
426 name: '/pages/fee/communityPayment', 484 name: '/pages/fee/communityPayment',
427 component: () => import('@/views/fee/communityPaymentList.vue') 485 component: () => import('@/views/fee/communityPaymentList.vue')
428 }, 486 },
429 { 487 {
430 path: '/pages/common/enterCommunity', 488 path: '/pages/common/enterCommunity',
  489 + meta: { title: '我的小区' },
431 name: '/pages/common/enterCommunity', 490 name: '/pages/common/enterCommunity',
432 component: () => import('@/views/community/enterCommunityList.vue') 491 component: () => import('@/views/community/enterCommunityList.vue')
433 }, 492 },
434 { 493 {
435 path: '/pages/property/roomRenovationManage', 494 path: '/pages/property/roomRenovationManage',
  495 + meta: { title: '房屋装修' },
436 name: '/pages/property/roomRenovationManage', 496 name: '/pages/property/roomRenovationManage',
437 component: () => import('@/views/community/roomRenovationManageList.vue') 497 component: () => import('@/views/community/roomRenovationManageList.vue')
438 }, 498 },
439 { 499 {
440 path: '/pages/property/feeConfigManage', 500 path: '/pages/property/feeConfigManage',
  501 + meta: { title: '费用项设置' },
441 name: '/pages/property/feeConfigManage', 502 name: '/pages/property/feeConfigManage',
442 component: () => import('@/views/fee/feeConfigManageList.vue') 503 component: () => import('@/views/fee/feeConfigManageList.vue')
443 }, 504 },
@@ -448,6 +509,7 @@ const routes = [ @@ -448,6 +509,7 @@ const routes = [
448 }, 509 },
449 { 510 {
450 path: '/pages/property/room', 511 path: '/pages/property/room',
  512 + meta: { title: '房屋管理' },
451 name: '/pages/property/room', 513 name: '/pages/property/room',
452 component: () => import('@/views/room/roomList.vue') 514 component: () => import('@/views/room/roomList.vue')
453 }, 515 },
@@ -468,11 +530,13 @@ const routes = [ @@ -468,11 +530,13 @@ const routes = [
468 }, 530 },
469 { 531 {
470 path: '/pages/property/shops', 532 path: '/pages/property/shops',
  533 + meta: { title: '商铺管理' },
471 name: '/pages/property/shops', 534 name: '/pages/property/shops',
472 component: () => import('@/views/room/shopsList.vue') 535 component: () => import('@/views/room/shopsList.vue')
473 }, 536 },
474 { 537 {
475 path: '/pages/property/listOwner', 538 path: '/pages/property/listOwner',
  539 + meta: { title: '业主信息' },
476 name: '/pages/property/listOwner', 540 name: '/pages/property/listOwner',
477 component: () => import('@/views/owner/listOwner.vue') 541 component: () => import('@/views/owner/listOwner.vue')
478 }, 542 },
@@ -483,11 +547,13 @@ const routes = [ @@ -483,11 +547,13 @@ const routes = [
483 }, 547 },
484 { 548 {
485 path: '/pages/property/auditAuthOwner', 549 path: '/pages/property/auditAuthOwner',
  550 + meta: { title: '业主认证' },
486 name: '/pages/property/auditAuthOwner', 551 name: '/pages/property/auditAuthOwner',
487 component: () => import('@/views/owner/auditAuthOwnerList.vue') 552 component: () => import('@/views/owner/auditAuthOwnerList.vue')
488 }, 553 },
489 { 554 {
490 path: '/pages/property/accountManage', 555 path: '/pages/property/accountManage',
  556 + meta: { title: '业主账户' },
491 name: '/pages/property/accountManage', 557 name: '/pages/property/accountManage',
492 component: () => import('@/views/account/accountManageList.vue') 558 component: () => import('@/views/account/accountManageList.vue')
493 }, 559 },
@@ -498,26 +564,31 @@ const routes = [ @@ -498,26 +564,31 @@ const routes = [
498 }, 564 },
499 { 565 {
500 path: '/pages/property/communitySpaceManage', 566 path: '/pages/property/communitySpaceManage',
  567 + meta: { title: '场地管理' },
501 name: '/pages/property/communitySpaceManage', 568 name: '/pages/property/communitySpaceManage',
502 component: () => import('@/views/community/communitySpaceManageList.vue') 569 component: () => import('@/views/community/communitySpaceManageList.vue')
503 }, 570 },
504 { 571 {
505 path: '/pages/property/reportCommunitySpace', 572 path: '/pages/property/reportCommunitySpace',
  573 + meta: { title: '场地预约' },
506 name: '/pages/property/reportCommunitySpace', 574 name: '/pages/property/reportCommunitySpace',
507 component: () => import('@/views/community/reportCommunitySpaceList.vue') 575 component: () => import('@/views/community/reportCommunitySpaceList.vue')
508 }, 576 },
509 { 577 {
510 path: '/pages/property/communitySpacePersonManage', 578 path: '/pages/property/communitySpacePersonManage',
  579 + meta: { title: '场地预约订单' },
511 name: '/pages/property/communitySpacePersonManage', 580 name: '/pages/property/communitySpacePersonManage',
512 component: () => import('@/views/community/communitySpacePersonManageList.vue') 581 component: () => import('@/views/community/communitySpacePersonManageList.vue')
513 }, 582 },
514 { 583 {
515 path: '/pages/property/communitySpaceConfirm', 584 path: '/pages/property/communitySpaceConfirm',
  585 + meta: { title: '预约核销' },
516 name: '/pages/property/communitySpaceConfirm', 586 name: '/pages/property/communitySpaceConfirm',
517 component: () => import('@/views/community/communitySpaceConfirmList.vue') 587 component: () => import('@/views/community/communitySpaceConfirmList.vue')
518 }, 588 },
519 { 589 {
520 path: '/pages/owner/ownerCommitteeManage', 590 path: '/pages/owner/ownerCommitteeManage',
  591 + meta: { title: '业委会' },
521 name: '/pages/owner/ownerCommitteeManage', 592 name: '/pages/owner/ownerCommitteeManage',
522 component: () => import('@/views/owner/ownerCommitteeManageList.vue') 593 component: () => import('@/views/owner/ownerCommitteeManageList.vue')
523 }, 594 },
@@ -538,6 +609,7 @@ const routes = [ @@ -538,6 +609,7 @@ const routes = [
538 }, 609 },
539 { 610 {
540 path: '/pages/fee/ownerInvoice', 611 path: '/pages/fee/ownerInvoice',
  612 + meta: { title: '发票抬头' },
541 name: '/pages/fee/ownerInvoice', 613 name: '/pages/fee/ownerInvoice',
542 component: () => import('@/views/fee/ownerInvoiceList.vue') 614 component: () => import('@/views/fee/ownerInvoiceList.vue')
543 }, 615 },
@@ -548,6 +620,7 @@ const routes = [ @@ -548,6 +620,7 @@ const routes = [
548 }, 620 },
549 { 621 {
550 path: '/pages/fee/invoiceApply', 622 path: '/pages/fee/invoiceApply',
  623 + meta: { title: '发票' },
551 name: '/pages/fee/invoiceApply', 624 name: '/pages/fee/invoiceApply',
552 component: () => import('@/views/fee/invoiceApplyList.vue') 625 component: () => import('@/views/fee/invoiceApplyList.vue')
553 }, 626 },
@@ -569,6 +642,7 @@ const routes = [ @@ -569,6 +642,7 @@ const routes = [
569 642
570 { 643 {
571 path: '/pages/property/carCreateFee', 644 path: '/pages/property/carCreateFee',
  645 + meta: { title: '车辆收费' },
572 name: '/pages/property/carCreateFee', 646 name: '/pages/property/carCreateFee',
573 component: () => import('@/views/fee/carCreateFeeList.vue') 647 component: () => import('@/views/fee/carCreateFeeList.vue')
574 }, 648 },
@@ -579,6 +653,7 @@ const routes = [ @@ -579,6 +653,7 @@ const routes = [
579 }, 653 },
580 { 654 {
581 path: '/pages/work/repairSetting', 655 path: '/pages/work/repairSetting',
  656 + meta: { title: '报修设置' },
582 name: '/pages/work/repairSetting', 657 name: '/pages/work/repairSetting',
583 component: () => import('@/views/work/repairSettingList.vue') 658 component: () => import('@/views/work/repairSettingList.vue')
584 }, 659 },
@@ -589,11 +664,13 @@ const routes = [ @@ -589,11 +664,13 @@ const routes = [
589 }, 664 },
590 { 665 {
591 path: '/pages/property/ownerRepairManage', 666 path: '/pages/property/ownerRepairManage',
  667 + meta: { title: '电话报修' },
592 name: '/pages/property/ownerRepairManage', 668 name: '/pages/property/ownerRepairManage',
593 component: () => import('@/views/work/ownerRepairManageList.vue') 669 component: () => import('@/views/work/ownerRepairManageList.vue')
594 }, 670 },
595 { 671 {
596 path: '/pages/property/repairPoolManage', 672 path: '/pages/property/repairPoolManage',
  673 + meta: { title: '工单池' },
597 name: '/pages/property/repairPoolManage', 674 name: '/pages/property/repairPoolManage',
598 component: () => import('@/views/work/repairPoolManageList.vue') 675 component: () => import('@/views/work/repairPoolManageList.vue')
599 }, 676 },
@@ -604,26 +681,31 @@ const routes = [ @@ -604,26 +681,31 @@ const routes = [
604 }, 681 },
605 { 682 {
606 path: '/pages/property/repairDispatchManage', 683 path: '/pages/property/repairDispatchManage',
  684 + meta: { title: '报修待办' },
607 name: '/pages/property/repairDispatchManage', 685 name: '/pages/property/repairDispatchManage',
608 component: () => import('@/views/work/repairDispatchManageList.vue') 686 component: () => import('@/views/work/repairDispatchManageList.vue')
609 }, 687 },
610 { 688 {
611 path: '/pages/property/myRepairDispatchManage', 689 path: '/pages/property/myRepairDispatchManage',
  690 + meta: { title: '报修已办' },
612 name: '/pages/property/myRepairDispatchManage', 691 name: '/pages/property/myRepairDispatchManage',
613 component: () => import('@/views/work/myRepairDispatchManageList.vue') 692 component: () => import('@/views/work/myRepairDispatchManageList.vue')
614 }, 693 },
615 { 694 {
616 path: '/pages/property/repairReturnVisit', 695 path: '/pages/property/repairReturnVisit',
  696 + meta: { title: '报修回访' },
617 name: '/pages/property/repairReturnVisit', 697 name: '/pages/property/repairReturnVisit',
618 component: () => import('@/views/work/repairReturnVisitList.vue') 698 component: () => import('@/views/work/repairReturnVisitList.vue')
619 }, 699 },
620 { 700 {
621 path: '/pages/property/repairForceFinishManage', 701 path: '/pages/property/repairForceFinishManage',
  702 + meta: { title: '强制回单' },
622 name: '/pages/property/repairForceFinishManage', 703 name: '/pages/property/repairForceFinishManage',
623 component: () => import('@/views/work/repairForceFinishManageList.vue') 704 component: () => import('@/views/work/repairForceFinishManageList.vue')
624 }, 705 },
625 { 706 {
626 path: '/pages/property/locationManage', 707 path: '/pages/property/locationManage',
  708 + meta: { title: '设备位置' },
627 name: '/pages/property/locationManage', 709 name: '/pages/property/locationManage',
628 component: () => import('@/views/community/locationManageList.vue') 710 component: () => import('@/views/community/locationManageList.vue')
629 }, 711 },
src/router/inspectionRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/inspection/inspectionPoint', 3 path: '/pages/inspection/inspectionPoint',
  4 + meta: { title: '巡检点' },
4 name: '/pages/inspection/inspectionPoint', 5 name: '/pages/inspection/inspectionPoint',
5 component: () => import('@/views/inspection/inspectionPointList.vue') 6 component: () => import('@/views/inspection/inspectionPointList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/inspection/inspectionRoute', 9 path: '/pages/inspection/inspectionRoute',
  10 + meta: { title: '巡检路线' },
9 name: '/pages/inspection/inspectionRoute', 11 name: '/pages/inspection/inspectionRoute',
10 component: () => import('@/views/inspection/inspectionRouteList.vue') 12 component: () => import('@/views/inspection/inspectionRouteList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/inspection/adminInspectionPlan', 15 path: '/pages/inspection/adminInspectionPlan',
  16 + meta: { title: '小区巡检计划' },
14 name: '/pages/inspection/adminInspectionPlan', 17 name: '/pages/inspection/adminInspectionPlan',
15 component: () => import('@/views/inspection/adminInspectionPlanList.vue') 18 component: () => import('@/views/inspection/adminInspectionPlanList.vue')
16 }, 19 },
@@ -21,6 +24,7 @@ export default [ @@ -21,6 +24,7 @@ export default [
21 }, 24 },
22 { 25 {
23 path: '/pages/inspection/adminInspectionTask', 26 path: '/pages/inspection/adminInspectionTask',
  27 + meta: { title: '巡检任务' },
24 name: '/pages/inspection/adminInspectionTask', 28 name: '/pages/inspection/adminInspectionTask',
25 component: () => import('@/views/inspection/adminInspectionTaskList.vue') 29 component: () => import('@/views/inspection/adminInspectionTaskList.vue')
26 }, 30 },
@@ -31,6 +35,7 @@ export default [ @@ -31,6 +35,7 @@ export default [
31 }, 35 },
32 { 36 {
33 path: '/pages/property/inspectionItemManage', 37 path: '/pages/property/inspectionItemManage',
  38 + meta: { title: '巡检项目' },
34 name: '/pages/property/inspectionItemManage', 39 name: '/pages/property/inspectionItemManage',
35 component: () => import('@/views/inspection/inspectionItemManageList.vue') 40 component: () => import('@/views/inspection/inspectionItemManageList.vue')
36 }, 41 },
@@ -41,6 +46,7 @@ export default [ @@ -41,6 +46,7 @@ export default [
41 }, 46 },
42 { 47 {
43 path: '/pages/inspection/inspectionPlan', 48 path: '/pages/inspection/inspectionPlan',
  49 + meta: { title: '巡检计划' },
44 name: '/pages/inspection/inspectionPlan', 50 name: '/pages/inspection/inspectionPlan',
45 component: () => import('@/views/inspection/inspectionPlanList.vue') 51 component: () => import('@/views/inspection/inspectionPlanList.vue')
46 }, 52 },
@@ -51,21 +57,25 @@ export default [ @@ -51,21 +57,25 @@ export default [
51 }, 57 },
52 { 58 {
53 path: '/pages/inspection/inspectionTask', 59 path: '/pages/inspection/inspectionTask',
  60 + meta: { title: '巡检任务' },
54 name: '/pages/inspection/inspectionTask', 61 name: '/pages/inspection/inspectionTask',
55 component: () => import('@/views/inspection/InspectionTaskList.vue') 62 component: () => import('@/views/inspection/InspectionTaskList.vue')
56 }, 63 },
57 { 64 {
58 path: '/pages/property/inspectionTaskDetails', 65 path: '/pages/property/inspectionTaskDetails',
  66 + meta: { title: '巡检明细' },
59 name: '/pages/property/inspectionTaskDetails', 67 name: '/pages/property/inspectionTaskDetails',
60 component: () => import('@/views/inspection/inspectionTaskDetailsList.vue') 68 component: () => import('@/views/inspection/inspectionTaskDetailsList.vue')
61 }, 69 },
62 { 70 {
63 path: '/pages/property/maintainanceItem', 71 path: '/pages/property/maintainanceItem',
  72 + meta: { title: '检查项' },
64 name: '/pages/property/maintainanceItem', 73 name: '/pages/property/maintainanceItem',
65 component: () => import('@/views/inspection/maintainanceItemList.vue') 74 component: () => import('@/views/inspection/maintainanceItemList.vue')
66 }, 75 },
67 { 76 {
68 path: '/pages/property/maintainanceStandardManage', 77 path: '/pages/property/maintainanceStandardManage',
  78 + meta: { title: '保养标准' },
69 name: '/pages/property/maintainanceStandardManage', 79 name: '/pages/property/maintainanceStandardManage',
70 component: () => import('@/views/inspection/maintainanceStandardManageList.vue') 80 component: () => import('@/views/inspection/maintainanceStandardManageList.vue')
71 }, 81 },
@@ -76,6 +86,7 @@ export default [ @@ -76,6 +86,7 @@ export default [
76 }, 86 },
77 { 87 {
78 path: '/pages/property/maintainancePlanManage', 88 path: '/pages/property/maintainancePlanManage',
  89 + meta: { title: '保养计划' },
79 name: '/pages/property/maintainancePlanManage', 90 name: '/pages/property/maintainancePlanManage',
80 component: () => import('@/views/inspection/maintainancePlanManageList.vue') 91 component: () => import('@/views/inspection/maintainancePlanManageList.vue')
81 }, 92 },
@@ -96,6 +107,7 @@ export default [ @@ -96,6 +107,7 @@ export default [
96 }, 107 },
97 { 108 {
98 path: '/pages/property/maintainanceTaskDetails', 109 path: '/pages/property/maintainanceTaskDetails',
  110 + meta: { title: '保养明细' },
99 name: '/pages/property/maintainanceTaskDetails', 111 name: '/pages/property/maintainanceTaskDetails',
100 component: () => import('@/views/inspection/maintainanceTaskDetailsList.vue') 112 component: () => import('@/views/inspection/maintainanceTaskDetailsList.vue')
101 }, 113 },
@@ -106,6 +118,7 @@ export default [ @@ -106,6 +118,7 @@ export default [
106 }, 118 },
107 { 119 {
108 path: '/pages/property/maintainanceTaskManage', 120 path: '/pages/property/maintainanceTaskManage',
  121 + meta: { title: '保养任务' },
109 name: '/pages/property/maintainanceTaskManage', 122 name: '/pages/property/maintainanceTaskManage',
110 component: () => import('@/views/inspection/maintainanceTaskManageList.vue') 123 component: () => import('@/views/inspection/maintainanceTaskManageList.vue')
111 }, 124 },
src/router/machineRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/property/machineTypeTreeManage', 3 path: '/pages/property/machineTypeTreeManage',
  4 + meta: { title: '设备类型' },
4 name: '/pages/property/machineTypeTreeManage', 5 name: '/pages/property/machineTypeTreeManage',
5 component: () => import('@/views/machine/machineTypeTreeManageList.vue') 6 component: () => import('@/views/machine/machineTypeTreeManageList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/property/equipmentAccount', 9 path: '/pages/property/equipmentAccount',
  10 + meta: { title: '设备台账' },
9 name: '/pages/property/equipmentAccount', 11 name: '/pages/property/equipmentAccount',
10 component: () => import('@/views/machine/equipmentAccountList.vue') 12 component: () => import('@/views/machine/equipmentAccountList.vue')
11 }, 13 },
@@ -26,31 +28,37 @@ export default [ @@ -26,31 +28,37 @@ export default [
26 }, 28 },
27 { 29 {
28 path: '/pages/iot/adminChargeMachine', 30 path: '/pages/iot/adminChargeMachine',
  31 + meta: { title: '充电桩' },
29 name: '/pages/iot/adminChargeMachine', 32 name: '/pages/iot/adminChargeMachine',
30 component: () => import('@/views/iot/adminChargeMachineList.vue') 33 component: () => import('@/views/iot/adminChargeMachineList.vue')
31 }, 34 },
32 { 35 {
33 path: '/pages/property/machineTranslateManage', 36 path: '/pages/property/machineTranslateManage',
  37 + meta: { title: '物联网同步' },
34 name: '/pages/property/machineTranslateManage', 38 name: '/pages/property/machineTranslateManage',
35 component: () => import('@/views/machine/machineTranslateManageList.vue') 39 component: () => import('@/views/machine/machineTranslateManageList.vue')
36 }, 40 },
37 { 41 {
38 path: '/pages/machine/accessControlInout', 42 path: '/pages/machine/accessControlInout',
  43 + meta: { title: '开门记录' },
39 name: '/pages/machine/accessControlInout', 44 name: '/pages/machine/accessControlInout',
40 component: () => import('@/views/machine/accessControlInoutList.vue') 45 component: () => import('@/views/machine/accessControlInoutList.vue')
41 }, 46 },
42 { 47 {
43 path: '/pages/print/machinePrinterManage', 48 path: '/pages/print/machinePrinterManage',
  49 + meta: { title: '云打印机' },
44 name: '/pages/print/machinePrinterManage', 50 name: '/pages/print/machinePrinterManage',
45 component: () => import('@/views/machine/machinePrinterManageList.vue') 51 component: () => import('@/views/machine/machinePrinterManageList.vue')
46 }, 52 },
47 { 53 {
48 path: '/pages/print/printerRule', 54 path: '/pages/print/printerRule',
  55 + meta: { title: '云打印规则' },
49 name: '/pages/print/printerRule', 56 name: '/pages/print/printerRule',
50 component: () => import('@/views/machine/printerRuleList.vue') 57 component: () => import('@/views/machine/printerRuleList.vue')
51 }, 58 },
52 { 59 {
53 path: '/pages/property/videoControl', 60 path: '/pages/property/videoControl',
  61 + meta: { title: '视频监控' },
54 name: '/pages/property/videoControl', 62 name: '/pages/property/videoControl',
55 component: () => import('@/views/machine/videoControlList.vue') 63 component: () => import('@/views/machine/videoControlList.vue')
56 }, 64 },
src/router/oaRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/property/activitiesTypeManage', 3 path: '/pages/property/activitiesTypeManage',
  4 + meta: { title: '信息大类' },
4 name: '/pages/property/activitiesTypeManage', 5 name: '/pages/property/activitiesTypeManage',
5 component: () => import('@/views/oa/activitiesTypeManageList.vue') 6 component: () => import('@/views/oa/activitiesTypeManageList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/property/activitiesManage', 9 path: '/pages/property/activitiesManage',
  10 + meta: { title: '信息发布' },
9 name: '/pages/property/activitiesManage', 11 name: '/pages/property/activitiesManage',
10 component: () => import('@/views/oa/activitiesManageList.vue') 12 component: () => import('@/views/oa/activitiesManageList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/common/noticeManage', 15 path: '/pages/common/noticeManage',
  16 + meta: { title: '发布公告' },
14 name: '/pages/common/noticeManage', 17 name: '/pages/common/noticeManage',
15 component: () => import('@/views/oa/noticeManageList.vue') 18 component: () => import('@/views/oa/noticeManageList.vue')
16 }, 19 },
@@ -31,6 +34,7 @@ export default [ @@ -31,6 +34,7 @@ export default [
31 }, 34 },
32 { 35 {
33 path: '/pages/complaint/complaintType', 36 path: '/pages/complaint/complaintType',
  37 + meta: { title: '投诉类型' },
34 name: '/pages/complaint/complaintType', 38 name: '/pages/complaint/complaintType',
35 component: () => import('@/views/oa/complaintTypeList.vue') 39 component: () => import('@/views/oa/complaintTypeList.vue')
36 }, 40 },
@@ -51,26 +55,31 @@ export default [ @@ -51,26 +55,31 @@ export default [
51 }, 55 },
52 { 56 {
53 path: '/pages/complaint/complaint', 57 path: '/pages/complaint/complaint',
  58 + meta: { title: '投诉建议' },
54 name: '/pages/complaint/complaint', 59 name: '/pages/complaint/complaint',
55 component: () => import('@/views/oa/complaintList.vue') 60 component: () => import('@/views/oa/complaintList.vue')
56 }, 61 },
57 { 62 {
58 path: '/pages/property/notepadManage', 63 path: '/pages/property/notepadManage',
  64 + meta: { title: '业主反馈' },
59 name: '/pages/property/notepadManage', 65 name: '/pages/property/notepadManage',
60 component: () => import('@/views/oa/notepadManageList.vue') 66 component: () => import('@/views/oa/notepadManageList.vue')
61 }, 67 },
62 { 68 {
63 path: '/pages/property/visitManage', 69 path: '/pages/property/visitManage',
  70 + meta: { title: '访客登记' },
64 name: '/pages/property/visitManage', 71 name: '/pages/property/visitManage',
65 component: () => import('@/views/oa/visitManageList.vue') 72 component: () => import('@/views/oa/visitManageList.vue')
66 }, 73 },
67 { 74 {
68 path: '/pages/question/questionTitle', 75 path: '/pages/question/questionTitle',
  76 + meta: { title: '问卷题目' },
69 name: '/pages/question/questionTitle', 77 name: '/pages/question/questionTitle',
70 component: () => import('@/views/oa/questionTitleList.vue') 78 component: () => import('@/views/oa/questionTitleList.vue')
71 }, 79 },
72 { 80 {
73 path: '/pages/property/questionAnswerManage', 81 path: '/pages/property/questionAnswerManage',
  82 + meta: { title: '问卷调研' },
74 name: '/pages/property/questionAnswerManage', 83 name: '/pages/property/questionAnswerManage',
75 component: () => import('@/views/oa/questionAnswerManageList.vue') 84 component: () => import('@/views/oa/questionAnswerManageList.vue')
76 }, 85 },
@@ -86,6 +95,7 @@ export default [ @@ -86,6 +95,7 @@ export default [
86 }, 95 },
87 { 96 {
88 path: '/pages/question/ownerVoting', 97 path: '/pages/question/ownerVoting',
  98 + meta: { title: '业主投票' },
89 name: '/pages/question/ownerVoting', 99 name: '/pages/question/ownerVoting',
90 component: () => import('@/views/oa/ownerVotingList.vue') 100 component: () => import('@/views/oa/ownerVotingList.vue')
91 }, 101 },
@@ -111,31 +121,37 @@ export default [ @@ -111,31 +121,37 @@ export default [
111 }, 121 },
112 { 122 {
113 path: '/pages/property/oaWorkflowManage', 123 path: '/pages/property/oaWorkflowManage',
  124 + meta: { title: '流程实例' },
114 name: '/pages/property/oaWorkflowManage', 125 name: '/pages/property/oaWorkflowManage',
115 component: () => import('@/views/oa/oaWorkflowManageList.vue') 126 component: () => import('@/views/oa/oaWorkflowManageList.vue')
116 }, 127 },
117 { 128 {
118 path: '/pages/property/newOaWorkflowManage', 129 path: '/pages/property/newOaWorkflowManage',
  130 + meta: { title: '我的流程' },
119 name: '/pages/property/newOaWorkflowManage', 131 name: '/pages/property/newOaWorkflowManage',
120 component: () => import('@/views/oa/newOaWorkflowManageList.vue') 132 component: () => import('@/views/oa/newOaWorkflowManageList.vue')
121 }, 133 },
122 { 134 {
123 path: '/pages/property/newOaWorkflowDoing', 135 path: '/pages/property/newOaWorkflowDoing',
  136 + meta: { title: '工作办理' },
124 name: '/pages/property/newOaWorkflowDoing', 137 name: '/pages/property/newOaWorkflowDoing',
125 component: () => import('@/views/oa/newOaWorkflowDoingList.vue') 138 component: () => import('@/views/oa/newOaWorkflowDoingList.vue')
126 }, 139 },
127 { 140 {
128 path: '/pages/property/attendanceClassesManage', 141 path: '/pages/property/attendanceClassesManage',
  142 + meta: { title: '考勤班组' },
129 name: '/pages/property/attendanceClassesManage', 143 name: '/pages/property/attendanceClassesManage',
130 component: () => import('@/views/oa/attendanceClassesManageList.vue') 144 component: () => import('@/views/oa/attendanceClassesManageList.vue')
131 }, 145 },
132 { 146 {
133 path: '/pages/attendance/attendanceClassesStaffManage', 147 path: '/pages/attendance/attendanceClassesStaffManage',
  148 + meta: { title: '考勤人员' },
134 name: '/pages/attendance/attendanceClassesStaffManage', 149 name: '/pages/attendance/attendanceClassesStaffManage',
135 component: () => import('@/views/oa/attendanceClassesStaffManageList.vue') 150 component: () => import('@/views/oa/attendanceClassesStaffManageList.vue')
136 }, 151 },
137 { 152 {
138 path: '/pages/property/todayAttendanceManage', 153 path: '/pages/property/todayAttendanceManage',
  154 + meta: { title: '今日考勤' },
139 name: '/pages/property/todayAttendanceManage', 155 name: '/pages/property/todayAttendanceManage',
140 component: () => import('@/views/oa/todayAttendanceManageList.vue') 156 component: () => import('@/views/oa/todayAttendanceManageList.vue')
141 }, 157 },
@@ -146,26 +162,31 @@ export default [ @@ -146,26 +162,31 @@ export default [
146 }, 162 },
147 { 163 {
148 path: '/pages/property/monthAttendanceManage', 164 path: '/pages/property/monthAttendanceManage',
  165 + meta: { title: '月考勤' },
149 name: '/pages/property/monthAttendanceManage', 166 name: '/pages/property/monthAttendanceManage',
150 component: () => import('@/views/oa/monthAttendanceManageList.vue') 167 component: () => import('@/views/oa/monthAttendanceManageList.vue')
151 }, 168 },
152 { 169 {
153 path: '/pages/property/staffAttendanceManage', 170 path: '/pages/property/staffAttendanceManage',
  171 + meta: { title: '员工考勤' },
154 name: '/pages/property/staffAttendanceManage', 172 name: '/pages/property/staffAttendanceManage',
155 component: () => import('@/views/oa/staffAttendanceManageList.vue') 173 component: () => import('@/views/oa/staffAttendanceManageList.vue')
156 }, 174 },
157 { 175 {
158 path: '/pages/property/attendanceLogManage', 176 path: '/pages/property/attendanceLogManage',
  177 + meta: { title: '考勤记录' },
159 name: '/pages/property/attendanceLogManage', 178 name: '/pages/property/attendanceLogManage',
160 component: () => import('@/views/oa/attendanceLogManageList.vue') 179 component: () => import('@/views/oa/attendanceLogManageList.vue')
161 }, 180 },
162 { 181 {
163 path: '/pages/oa/workType', 182 path: '/pages/oa/workType',
  183 + meta: { title: '工作单类型' },
164 name: '/pages/oa/workType', 184 name: '/pages/oa/workType',
165 component: () => import('@/views/oa/workTypeList.vue') 185 component: () => import('@/views/oa/workTypeList.vue')
166 }, 186 },
167 { 187 {
168 path: '/pages/oa/startWork', 188 path: '/pages/oa/startWork',
  189 + meta: { title: '起工作单' },
169 name: '/pages/oa/startWork', 190 name: '/pages/oa/startWork',
170 component: () => import('@/views/oa/startWorkList.vue') 191 component: () => import('@/views/oa/startWorkList.vue')
171 }, 192 },
@@ -186,21 +207,25 @@ export default [ @@ -186,21 +207,25 @@ export default [
186 }, 207 },
187 { 208 {
188 path: '/pages/oa/doWork', 209 path: '/pages/oa/doWork',
  210 + meta: { title: '办工作单' },
189 name: '/pages/oa/doWork', 211 name: '/pages/oa/doWork',
190 component: () => import('@/views/oa/doWorkList.vue') 212 component: () => import('@/views/oa/doWorkList.vue')
191 }, 213 },
192 { 214 {
193 path: '/pages/oa/copyWork', 215 path: '/pages/oa/copyWork',
  216 + meta: { title: '抄送我的' },
194 name: '/pages/oa/copyWork', 217 name: '/pages/oa/copyWork',
195 component: () => import('@/views/oa/copyWorkList.vue') 218 component: () => import('@/views/oa/copyWorkList.vue')
196 }, 219 },
197 { 220 {
198 path: '/pages/oa/workPool', 221 path: '/pages/oa/workPool',
  222 + meta: { title: '工作单池' },
199 name: '/pages/oa/workPool', 223 name: '/pages/oa/workPool',
200 component: () => import('@/views/oa/workPoolList.vue') 224 component: () => import('@/views/oa/workPoolList.vue')
201 }, 225 },
202 { 226 {
203 path: '/pages/oa/workDeduction', 227 path: '/pages/oa/workDeduction',
  228 + meta: { title: '工作单扣款' },
204 name: '/pages/oa/workDeduction', 229 name: '/pages/oa/workDeduction',
205 component: () => import('@/views/oa/workDeductionList.vue') 230 component: () => import('@/views/oa/workDeductionList.vue')
206 }, 231 },
src/router/reportRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/property/reportProficient', 3 path: '/pages/property/reportProficient',
  4 + meta: { title: '费用台账' },
4 name: '/pages/property/reportProficient', 5 name: '/pages/property/reportProficient',
5 component: () => import('@/views/report/reportProficientList.vue') 6 component: () => import('@/views/report/reportProficientList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/property/reportFeeSummary', 9 path: '/pages/property/reportFeeSummary',
  10 + meta: { title: '费用汇总表' },
9 name: '/pages/property/reportFeeSummary', 11 name: '/pages/property/reportFeeSummary',
10 component: () => import('@/views/report/reportFeeSummaryList.vue') 12 component: () => import('@/views/report/reportFeeSummaryList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/property/reportFeeDetail', 15 path: '/pages/property/reportFeeDetail',
  16 + meta: { title: '费用明细表' },
14 name: '/pages/property/reportFeeDetail', 17 name: '/pages/property/reportFeeDetail',
15 component: () => import('@/views/report/reportFeeDetailList.vue') 18 component: () => import('@/views/report/reportFeeDetailList.vue')
16 }, 19 },
17 { 20 {
18 path: '/pages/report/feeRemind', 21 path: '/pages/report/feeRemind',
  22 + meta: { title: '费用提醒' },
19 name: '/pages/report/feeRemind', 23 name: '/pages/report/feeRemind',
20 component: () => import('@/views/report/feeRemindList.vue') 24 component: () => import('@/views/report/feeRemindList.vue')
21 }, 25 },
22 { 26 {
23 path: '/pages/report/dataReport', 27 path: '/pages/report/dataReport',
  28 + meta: { title: '数据统计' },
24 name: '/pages/report/dataReport', 29 name: '/pages/report/dataReport',
25 component: () => import('@/views/report/dataReportList.vue') 30 component: () => import('@/views/report/dataReportList.vue')
26 }, 31 },
27 { 32 {
28 path: '/pages/property/reportOweFeeDetail', 33 path: '/pages/property/reportOweFeeDetail',
  34 + meta: { title: '欠费明细表' },
29 name: '/pages/property/reportOweFeeDetail', 35 name: '/pages/property/reportOweFeeDetail',
30 component: () => import('@/views/report/reportOweFeeDetailList.vue') 36 component: () => import('@/views/report/reportOweFeeDetailList.vue')
31 }, 37 },
32 { 38 {
33 path: '/pages/property/reportPayFeeDetail', 39 path: '/pages/property/reportPayFeeDetail',
  40 + meta: { title: '缴费明细表' },
34 name: '/pages/property/reportPayFeeDetail', 41 name: '/pages/property/reportPayFeeDetail',
35 component: () => import('@/views/report/reportPayFeeDetailList.vue') 42 component: () => import('@/views/report/reportPayFeeDetailList.vue')
36 }, 43 },
37 { 44 {
38 path: '/pages/property/reportRepair', 45 path: '/pages/property/reportRepair',
  46 + meta: { title: '报修汇总表' },
39 name: '/pages/property/reportRepair', 47 name: '/pages/property/reportRepair',
40 component: () => import('@/views/report/reportRepairList.vue') 48 component: () => import('@/views/report/reportRepairList.vue')
41 }, 49 },
42 { 50 {
43 path: '/pages/property/reportNoFeeRoom', 51 path: '/pages/property/reportNoFeeRoom',
  52 + meta: { title: '未收费房屋' },
44 name: '/pages/property/reportNoFeeRoom', 53 name: '/pages/property/reportNoFeeRoom',
45 component: () => import('@/views/report/reportNoFeeRoomList.vue') 54 component: () => import('@/views/report/reportNoFeeRoomList.vue')
46 }, 55 },
47 { 56 {
48 path: '/pages/property/reportQuestionAnswerDetail', 57 path: '/pages/property/reportQuestionAnswerDetail',
  58 + meta: { title: '问卷明细表' },
49 name: '/pages/property/reportQuestionAnswerDetail', 59 name: '/pages/property/reportQuestionAnswerDetail',
50 component: () => import('@/views/report/reportQuestionAnswerDetailList.vue') 60 component: () => import('@/views/report/reportQuestionAnswerDetailList.vue')
51 }, 61 },
52 { 62 {
53 path: '/pages/property/reportOwnerPayFee', 63 path: '/pages/property/reportOwnerPayFee',
  64 + meta: { title: '业主缴费明细' },
54 name: '/pages/property/reportOwnerPayFee', 65 name: '/pages/property/reportOwnerPayFee',
55 component: () => import('@/views/report/reportOwnerPayFeeList.vue') 66 component: () => import('@/views/report/reportOwnerPayFeeList.vue')
56 }, 67 },
57 { 68 {
58 path: '/pages/property/reportHuaning', 69 path: '/pages/property/reportHuaning',
  70 + meta: { title: '欠费分析' },
59 name: '/pages/property/reportHuaning', 71 name: '/pages/property/reportHuaning',
60 component: () => import('@/views/report/reportHuaningList.vue') 72 component: () => import('@/views/report/reportHuaningList.vue')
61 }, 73 },
62 { 74 {
63 path: '/pages/property/reportPayFeeDeposit', 75 path: '/pages/property/reportPayFeeDeposit',
  76 + meta: { title: '押金报表' },
64 name: '/pages/property/reportPayFeeDeposit', 77 name: '/pages/property/reportPayFeeDeposit',
65 component: () => import('@/views/report/reportPayFeeDepositList.vue') 78 component: () => import('@/views/report/reportPayFeeDepositList.vue')
66 }, 79 },
67 { 80 {
68 path: '/pages/property/commonReport', 81 path: '/pages/property/commonReport',
  82 + meta: { title: '巡检报表' },
69 name: '/pages/property/commonReport', 83 name: '/pages/property/commonReport',
70 component: () => import('@/views/report/commonReportList.vue') 84 component: () => import('@/views/report/commonReportList.vue')
71 }, 85 },
src/router/resourceRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/resource/adminEquipment', 3 path: '/pages/resource/adminEquipment',
  4 + meta: { title: '设备台账' },
4 name: '/pages/resource/adminEquipment', 5 name: '/pages/resource/adminEquipment',
5 component: () => import('@/views/resource/adminEquipmentList.vue') 6 component: () => import('@/views/resource/adminEquipmentList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/resource/resourceAuditFlow', 9 path: '/pages/resource/resourceAuditFlow',
  10 + meta: { title: '审批配置' },
9 name: '/pages/resource/resourceAuditFlow', 11 name: '/pages/resource/resourceAuditFlow',
10 component: () => import('@/views/resource/resourceAuditFlowList.vue') 12 component: () => import('@/views/resource/resourceAuditFlowList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/property/storehouseManage', 15 path: '/pages/property/storehouseManage',
  16 + meta: { title: '仓库信息' },
14 name: '/pages/property/storehouseManage', 17 name: '/pages/property/storehouseManage',
15 component: () => import('@/views/resource/storehouseManageList.vue') 18 component: () => import('@/views/resource/storehouseManageList.vue')
16 }, 19 },
17 { 20 {
18 path: '/pages/common/resourceStoreSpecificationManage', 21 path: '/pages/common/resourceStoreSpecificationManage',
  22 + meta: { title: '物品规格' },
19 name: '/pages/common/resourceStoreSpecificationManage', 23 name: '/pages/common/resourceStoreSpecificationManage',
20 component: () => import('@/views/resource/resourceStoreSpecificationManageList.vue') 24 component: () => import('@/views/resource/resourceStoreSpecificationManageList.vue')
21 }, 25 },
22 { 26 {
23 path: '/pages/common/resourceStoreManage', 27 path: '/pages/common/resourceStoreManage',
  28 + meta: { title: '物品信息' },
24 name: '/pages/common/resourceStoreManage', 29 name: '/pages/common/resourceStoreManage',
25 component: () => import('@/views/resource/resourceStoreManageList.vue') 30 component: () => import('@/views/resource/resourceStoreManageList.vue')
26 }, 31 },
27 32
28 { 33 {
29 path: '/pages/property/resourceSupplierManage', 34 path: '/pages/property/resourceSupplierManage',
  35 + meta: { title: '供应商' },
30 name: '/pages/property/resourceSupplierManage', 36 name: '/pages/property/resourceSupplierManage',
31 component: () => import('@/views/resource/resourceSupplierManageList.vue') 37 component: () => import('@/views/resource/resourceSupplierManageList.vue')
32 }, 38 },
33 { 39 {
34 path: '/pages/common/purchaseApplyManage', 40 path: '/pages/common/purchaseApplyManage',
  41 + meta: { title: '采购申请' },
35 name: '/pages/common/purchaseApplyManage', 42 name: '/pages/common/purchaseApplyManage',
36 component: () => import('@/views/resource/purchaseApplyManageList.vue') 43 component: () => import('@/views/resource/purchaseApplyManageList.vue')
37 }, 44 },
@@ -52,6 +59,7 @@ export default [ @@ -52,6 +59,7 @@ export default [
52 }, 59 },
53 { 60 {
54 path: '/pages/common/itemOutManage', 61 path: '/pages/common/itemOutManage',
  62 + meta: { title: '物品领用' },
55 name: '/pages/common/itemOutManage', 63 name: '/pages/common/itemOutManage',
56 component: () => import('@/views/resource/itemOutManageList.vue') 64 component: () => import('@/views/resource/itemOutManageList.vue')
57 }, 65 },
@@ -62,11 +70,13 @@ export default [ @@ -62,11 +70,13 @@ export default [
62 }, 70 },
63 { 71 {
64 path: '/pages/common/purchaseApplyDetailManage', 72 path: '/pages/common/purchaseApplyDetailManage',
  73 + meta: { title: '出入库明细' },
65 name: '/pages/common/purchaseApplyDetailManage', 74 name: '/pages/common/purchaseApplyDetailManage',
66 component: () => import('@/views/resource/purchaseApplyDetailManageList.vue') 75 component: () => import('@/views/resource/purchaseApplyDetailManageList.vue')
67 }, 76 },
68 { 77 {
69 path: '/pages/common/allocationStorehouseManage', 78 path: '/pages/common/allocationStorehouseManage',
  79 + meta: { title: '调拨申请' },
70 name: '/pages/common/allocationStorehouseManage', 80 name: '/pages/common/allocationStorehouseManage',
71 component: () => import('@/views/resource/allocationStorehouseManageList.vue') 81 component: () => import('@/views/resource/allocationStorehouseManageList.vue')
72 }, 82 },
@@ -77,26 +87,31 @@ export default [ @@ -77,26 +87,31 @@ export default [
77 }, 87 },
78 { 88 {
79 path: '/pages/common/allocationStorehouseDetailed', 89 path: '/pages/common/allocationStorehouseDetailed',
  90 + meta: { title: '调拨明细' },
80 name: '/pages/common/allocationStorehouseDetailed', 91 name: '/pages/common/allocationStorehouseDetailed',
81 component: () => import('@/views/resource/allocationStorehouseDetailedList.vue') 92 component: () => import('@/views/resource/allocationStorehouseDetailedList.vue')
82 }, 93 },
83 { 94 {
84 path: '/pages/property/assetInventoryManage', 95 path: '/pages/property/assetInventoryManage',
  96 + meta: { title: '盘点管理' },
85 name: '/pages/property/assetInventoryManage', 97 name: '/pages/property/assetInventoryManage',
86 component: () => import('@/views/resource/assetInventoryManageList.vue') 98 component: () => import('@/views/resource/assetInventoryManageList.vue')
87 }, 99 },
88 { 100 {
89 path: '/pages/common/myResourceStoreManage', 101 path: '/pages/common/myResourceStoreManage',
  102 + meta: { title: '我的物品' },
90 name: '/pages/common/myResourceStoreManage', 103 name: '/pages/common/myResourceStoreManage',
91 component: () => import('@/views/resource/myResourceStoreManageList.vue') 104 component: () => import('@/views/resource/myResourceStoreManageList.vue')
92 }, 105 },
93 { 106 {
94 path: '/pages/common/allocationUserStorehouseManage', 107 path: '/pages/common/allocationUserStorehouseManage',
  108 + meta: { title: '转赠记录' },
95 name: '/pages/common/allocationUserStorehouseManage', 109 name: '/pages/common/allocationUserStorehouseManage',
96 component: () => import('@/views/resource/allocationUserStorehouseManageList.vue') 110 component: () => import('@/views/resource/allocationUserStorehouseManageList.vue')
97 }, 111 },
98 { 112 {
99 path: '/pages/common/resourceStoreUseRecordManage', 113 path: '/pages/common/resourceStoreUseRecordManage',
  114 + meta: { title: '使用记录' },
100 name: '/pages/common/resourceStoreUseRecordManage', 115 name: '/pages/common/resourceStoreUseRecordManage',
101 component: () => import('@/views/resource/resourceStoreUseRecordManageList.vue') 116 component: () => import('@/views/resource/resourceStoreUseRecordManageList.vue')
102 }, 117 },
src/router/scmRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/scm/couponMarket', 3 path: '/pages/scm/couponMarket',
  4 + meta: { title: '优惠券市场' },
4 name: '/pages/scm/couponMarket', 5 name: '/pages/scm/couponMarket',
5 component: () => import('@/views/scm/couponMarketList.vue') 6 component: () => import('@/views/scm/couponMarketList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/scm/couponPropertyPoolManage', 9 path: '/pages/scm/couponPropertyPoolManage',
  10 + meta: { title: '优惠券' },
9 name: '/pages/scm/couponPropertyPoolManage', 11 name: '/pages/scm/couponPropertyPoolManage',
10 component: () => import('@/views/scm/couponPropertyPoolManageList.vue') 12 component: () => import('@/views/scm/couponPropertyPoolManageList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/scm/couponRule', 15 path: '/pages/scm/couponRule',
  16 + meta: { title: '赠送规则' },
14 name: '/pages/scm/couponRule', 17 name: '/pages/scm/couponRule',
15 component: () => import('@/views/scm/couponRuleList.vue') 18 component: () => import('@/views/scm/couponRuleList.vue')
16 }, 19 },
17 { 20 {
18 path: '/pages/scm/couponPropertyPoolDetail', 21 path: '/pages/scm/couponPropertyPoolDetail',
  22 + meta: { title: '赠送记录' },
19 name: '/pages/scm/couponPropertyPoolDetail', 23 name: '/pages/scm/couponPropertyPoolDetail',
20 component: () => import('@/views/scm/couponPropertyPoolDetailList.vue') 24 component: () => import('@/views/scm/couponPropertyPoolDetailList.vue')
21 }, 25 },
22 { 26 {
23 path: '/pages/scm/couponPropertyUserManage', 27 path: '/pages/scm/couponPropertyUserManage',
  28 + meta: { title: '业主优惠券' },
24 name: '/pages/scm/couponPropertyUserManage', 29 name: '/pages/scm/couponPropertyUserManage',
25 component: () => import('@/views/scm/couponPropertyUserManageList.vue') 30 component: () => import('@/views/scm/couponPropertyUserManageList.vue')
26 }, 31 },
27 { 32 {
28 path: '/pages/scm/couponPropertyUserDetail', 33 path: '/pages/scm/couponPropertyUserDetail',
  34 + meta: { title: '优惠券使用' },
29 name: '/pages/scm/couponPropertyUserDetail', 35 name: '/pages/scm/couponPropertyUserDetail',
30 component: () => import('@/views/scm/couponPropertyUserDetailList.vue') 36 component: () => import('@/views/scm/couponPropertyUserDetailList.vue')
31 }, 37 },
32 { 38 {
33 path: '/pages/scm/integralConfigManage', 39 path: '/pages/scm/integralConfigManage',
  40 + meta: { title: '积分标准' },
34 name: '/pages/scm/integralConfigManage', 41 name: '/pages/scm/integralConfigManage',
35 component: () => import('@/views/scm/integralConfigManageList.vue') 42 component: () => import('@/views/scm/integralConfigManageList.vue')
36 }, 43 },
37 { 44 {
38 path: '/pages/scm/integralRule', 45 path: '/pages/scm/integralRule',
  46 + meta: { title: '积分规则' },
39 name: '/pages/scm/integralRule', 47 name: '/pages/scm/integralRule',
40 component: () => import('@/views/scm/integralRuleList.vue') 48 component: () => import('@/views/scm/integralRuleList.vue')
41 }, 49 },
42 { 50 {
43 path: '/pages/scm/integralGiftDetailManage', 51 path: '/pages/scm/integralGiftDetailManage',
  52 + meta: { title: '积分赠送' },
44 name: '/pages/scm/integralGiftDetailManage', 53 name: '/pages/scm/integralGiftDetailManage',
45 component: () => import('@/views/scm/integralGiftDetailManageList.vue') 54 component: () => import('@/views/scm/integralGiftDetailManageList.vue')
46 }, 55 },
47 { 56 {
48 path: '/pages/scm/communityIntegral', 57 path: '/pages/scm/communityIntegral',
  58 + meta: { title: '小区积分' },
49 name: '/pages/scm/communityIntegral', 59 name: '/pages/scm/communityIntegral',
50 component: () => import('@/views/scm/communityIntegralList.vue') 60 component: () => import('@/views/scm/communityIntegralList.vue')
51 }, 61 },
52 { 62 {
53 path: '/pages/scm/gold', 63 path: '/pages/scm/gold',
  64 + meta: { title: '小区金币' },
54 name: '/pages/scm/gold', 65 name: '/pages/scm/gold',
55 component: () => import('@/views/scm/goldList.vue') 66 component: () => import('@/views/scm/goldList.vue')
56 }, 67 },
57 { 68 {
58 path: '/pages/reserve/reserveCatalogManage', 69 path: '/pages/reserve/reserveCatalogManage',
  70 + meta: { title: '预约目录' },
59 name: '/pages/reserve/reserveCatalogManage', 71 name: '/pages/reserve/reserveCatalogManage',
60 component: () => import('@/views/scm/reserveCatalogManageList.vue') 72 component: () => import('@/views/scm/reserveCatalogManageList.vue')
61 }, 73 },
62 { 74 {
63 path: '/pages/reserve/reserveParamsManage', 75 path: '/pages/reserve/reserveParamsManage',
  76 + meta: { title: '预约参数' },
64 name: '/pages/reserve/reserveParamsManage', 77 name: '/pages/reserve/reserveParamsManage',
65 component: () => import('@/views/scm/reserveParamsManageList.vue') 78 component: () => import('@/views/scm/reserveParamsManageList.vue')
66 }, 79 },
67 { 80 {
68 path: '/pages/reserve/reserveDiningManage', 81 path: '/pages/reserve/reserveDiningManage',
  82 + meta: { title: '预约就餐' },
69 name: '/pages/reserve/reserveDiningManage', 83 name: '/pages/reserve/reserveDiningManage',
70 component: () => import('@/views/scm/reserveDiningManageList.vue') 84 component: () => import('@/views/scm/reserveDiningManageList.vue')
71 }, 85 },
72 { 86 {
73 path: '/pages/reserve/reserveServiceManage', 87 path: '/pages/reserve/reserveServiceManage',
  88 + meta: { title: '预约服务' },
74 name: '/pages/reserve/reserveServiceManage', 89 name: '/pages/reserve/reserveServiceManage',
75 component: () => import('@/views/scm/reserveServiceManageList.vue') 90 component: () => import('@/views/scm/reserveServiceManageList.vue')
76 }, 91 },
@@ -111,11 +126,13 @@ export default [ @@ -111,11 +126,13 @@ export default [
111 }, 126 },
112 { 127 {
113 path: '/pages/reserve/reserveOrder', 128 path: '/pages/reserve/reserveOrder',
  129 + meta: { title: '预约订单' },
114 name: '/pages/reserve/reserveOrder', 130 name: '/pages/reserve/reserveOrder',
115 component: () => import('@/views/scm/reserveOrderList.vue') 131 component: () => import('@/views/scm/reserveOrderList.vue')
116 }, 132 },
117 { 133 {
118 path:'/pages/reserve/reserveConfirm', 134 path:'/pages/reserve/reserveConfirm',
  135 + meta: { title: '订单核销' },
119 name:'/pages/reserve/reserveConfirm', 136 name:'/pages/reserve/reserveConfirm',
120 component: () => import('@/views/scm/reserveConfirmList.vue') 137 component: () => import('@/views/scm/reserveConfirmList.vue')
121 }, 138 },
src/router/systemRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/property/communitySettingManage', 3 path: '/pages/property/communitySettingManage',
  4 + meta: { title: '小区配置' },
4 name: '/pages/property/communitySettingManage', 5 name: '/pages/property/communitySettingManage',
5 component: () => import('@/views/system/communitySettingManageList.vue') 6 component: () => import('@/views/system/communitySettingManageList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/property/workflowManage', 9 path: '/pages/property/workflowManage',
  10 + meta: { title: '流程管理' },
9 name: '/pages/property/workflowManage', 11 name: '/pages/property/workflowManage',
10 component: () => import('@/views/system/workflowManageList.vue') 12 component: () => import('@/views/system/workflowManageList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/property/workflowSettingManage', 15 path: '/pages/property/workflowSettingManage',
  16 + meta: { title: '流程设置' },
14 name: '/pages/property/workflowSettingManage', 17 name: '/pages/property/workflowSettingManage',
15 component: () => import('@/views/system/workflowSettingManageList.vue') 18 component: () => import('@/views/system/workflowSettingManageList.vue')
16 }, 19 },
17 { 20 {
18 path: '/pages/common/storeInfoManage', 21 path: '/pages/common/storeInfoManage',
  22 + meta: { title: '商户信息' },
19 name: '/pages/common/storeInfoManage', 23 name: '/pages/common/storeInfoManage',
20 component: () => import('@/views/system/storeInfoManageList.vue') 24 component: () => import('@/views/system/storeInfoManageList.vue')
21 }, 25 },
22 { 26 {
23 path: '/pages/property/publicWeChatManage', 27 path: '/pages/property/publicWeChatManage',
  28 + meta: { title: '公众号' },
24 name: '/pages/property/publicWeChatManage', 29 name: '/pages/property/publicWeChatManage',
25 component: () => import('@/views/system/publicWeChatManageList.vue') 30 component: () => import('@/views/system/publicWeChatManageList.vue')
26 }, 31 },
27 { 32 {
28 path: '/pages/property/smallWeChatManage', 33 path: '/pages/property/smallWeChatManage',
  34 + meta: { title: '小程序配置' },
29 name: '/pages/property/smallWeChatManage', 35 name: '/pages/property/smallWeChatManage',
30 component: () => import('@/views/system/smallWeChatManageList.vue') 36 component: () => import('@/views/system/smallWeChatManageList.vue')
31 }, 37 },
32 { 38 {
33 path: '/pages/fee/paymentPool', 39 path: '/pages/fee/paymentPool',
  40 + meta: { title: '支付配置' },
34 name: '/pages/fee/paymentPool', 41 name: '/pages/fee/paymentPool',
35 component: () => import('@/views/system/paymentPoolList.vue') 42 component: () => import('@/views/system/paymentPoolList.vue')
36 }, 43 },
37 { 44 {
38 path: '/pages/log/operateDataLog', 45 path: '/pages/log/operateDataLog',
  46 + meta: { title: '操作日志' },
39 name: '/pages/log/operateDataLog', 47 name: '/pages/log/operateDataLog',
40 component: () => import('@/views/system/operateDataLogList.vue') 48 component: () => import('@/views/system/operateDataLogList.vue')
41 }, 49 },
42 { 50 {
43 path: '/pages/property/historyFeeDetailImport', 51 path: '/pages/property/historyFeeDetailImport',
  52 + meta: { title: '历史缴费导入' },
44 name: '/pages/property/historyFeeDetailImport', 53 name: '/pages/property/historyFeeDetailImport',
45 component: () => import('@/views/system/historyFeeDetailImportList.vue') 54 component: () => import('@/views/system/historyFeeDetailImportList.vue')
46 }, 55 },
47 { 56 {
48 path: '/pages/property/feePrintSpecManage', 57 path: '/pages/property/feePrintSpecManage',
  58 + meta: { title: '打印配置' },
49 name: '/pages/property/feePrintSpecManage', 59 name: '/pages/property/feePrintSpecManage',
50 component: () => import('@/views/system/feePrintSpecManageList.vue') 60 component: () => import('@/views/system/feePrintSpecManageList.vue')
51 }, 61 },
52 { 62 {
53 path: '/pages/property/feePrintPageManage', 63 path: '/pages/property/feePrintPageManage',
  64 + meta: { title: '收据模板' },
54 name: '/pages/property/feePrintPageManage', 65 name: '/pages/property/feePrintPageManage',
55 component: () => import('@/views/system/feePrintPageManageList.vue') 66 component: () => import('@/views/system/feePrintPageManageList.vue')
56 }, 67 },
57 { 68 {
58 path: '/pages/property/downloadTempFile', 69 path: '/pages/property/downloadTempFile',
  70 + meta: { title: '下载中心' },
59 name: '/pages/property/downloadTempFile', 71 name: '/pages/property/downloadTempFile',
60 component: () => import('@/views/system/downloadTempFileList.vue') 72 component: () => import('@/views/system/downloadTempFileList.vue')
61 }, 73 },
62 { 74 {
63 path: '/pages/property/assetImportLog', 75 path: '/pages/property/assetImportLog',
  76 + meta: { title: '导入日志' },
64 name: '/pages/property/assetImportLog', 77 name: '/pages/property/assetImportLog',
65 component: () => import('@/views/system/assetImportLogList.vue') 78 component: () => import('@/views/system/assetImportLogList.vue')
66 }, 79 },
@@ -71,6 +84,7 @@ export default [ @@ -71,6 +84,7 @@ export default [
71 }, 84 },
72 { 85 {
73 path: '/pages/fee/payFeeQrcode', 86 path: '/pages/fee/payFeeQrcode',
  87 + meta: { title: '支付二维码' },
74 name: '/pages/fee/payFeeQrcode', 88 name: '/pages/fee/payFeeQrcode',
75 component: () => import('@/views/fee/payFeeQrcodeList.vue') 89 component: () => import('@/views/fee/payFeeQrcodeList.vue')
76 }, 90 },
src/router/userRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/staff/staffCommunity', 3 path: '/pages/staff/staffCommunity',
  4 + meta: { title: '员工小区' },
4 name: '/pages/staff/staffCommunity', 5 name: '/pages/staff/staffCommunity',
5 component: () => import('@/views/staff/staffCommunityList.vue') 6 component: () => import('@/views/staff/staffCommunityList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/property/staffAppAuthManage', 9 path: '/pages/property/staffAppAuthManage',
  10 + meta: { title: '员工认证' },
9 name: '/pages/property/staffAppAuthManage', 11 name: '/pages/property/staffAppAuthManage',
10 component: () => import('@/views/staff/staffAppAuthManageList.vue') 12 component: () => import('@/views/staff/staffAppAuthManageList.vue')
11 }, 13 },
12 { 14 {
13 path: '/pages/property/dataPrivilegeManage', 15 path: '/pages/property/dataPrivilegeManage',
  16 + meta: { title: '数据权限' },
14 name: '/pages/property/dataPrivilegeManage', 17 name: '/pages/property/dataPrivilegeManage',
15 component: () => import('@/views/org/dataPrivilegeManageList.vue') 18 component: () => import('@/views/org/dataPrivilegeManageList.vue')
16 }, 19 },
17 { 20 {
18 path: '/pages/property/classesManage', 21 path: '/pages/property/classesManage',
  22 + meta: { title: '班次设置' },
19 name: '/pages/property/classesManage', 23 name: '/pages/property/classesManage',
20 component: () => import('@/views/org/classesManageList.vue') 24 component: () => import('@/views/org/classesManageList.vue')
21 }, 25 },
22 { 26 {
23 path: '/pages/property/scheduleClasses', 27 path: '/pages/property/scheduleClasses',
  28 + meta: { title: '排班设置' },
24 name: '/pages/property/scheduleClasses', 29 name: '/pages/property/scheduleClasses',
25 component: () => import('@/views/org/scheduleClassesList.vue') 30 component: () => import('@/views/org/scheduleClassesList.vue')
26 }, 31 },
@@ -36,6 +41,7 @@ export default [ @@ -36,6 +41,7 @@ export default [
36 }, 41 },
37 { 42 {
38 path: '/pages/property/scheduleClassesPage', 43 path: '/pages/property/scheduleClassesPage',
  44 + meta: { title: '排班表' },
39 name: '/pages/property/scheduleClassesPage', 45 name: '/pages/property/scheduleClassesPage',
40 component: () => import('@/views/org/scheduleClassesPageList.vue') 46 component: () => import('@/views/org/scheduleClassesPageList.vue')
41 }, 47 },
src/router/workRouter.js
1 export default [ 1 export default [
2 { 2 {
3 path: '/pages/property/itemReleaseTypeManage', 3 path: '/pages/property/itemReleaseTypeManage',
  4 + meta: { title: '放行类型' },
4 name: '/pages/property/itemReleaseTypeManage', 5 name: '/pages/property/itemReleaseTypeManage',
5 component: () => import('@/views/work/itemReleaseTypeManageList.vue') 6 component: () => import('@/views/work/itemReleaseTypeManageList.vue')
6 }, 7 },
7 { 8 {
8 path: '/pages/property/itemReleaseManage', 9 path: '/pages/property/itemReleaseManage',
  10 + meta: { title: '物品放行' },
9 name: '/pages/property/itemReleaseManage', 11 name: '/pages/property/itemReleaseManage',
10 component: () => import('@/views/work/itemReleaseManageList.vue') 12 component: () => import('@/views/work/itemReleaseManageList.vue')
11 }, 13 },
src/views/community/community.vue
1 -<template> 1 +<template>
2 <div class="community-container"> 2 <div class="community-container">
3 <div class="page-header"> 3 <div class="page-header">
4 - <el-breadcrumb separator="/">  
5 - <el-breadcrumb-item>{{ $t('layout.home') }}</el-breadcrumb-item>  
6 - <el-breadcrumb-item>{{ $t('layout.myCommunity') }}</el-breadcrumb-item>  
7 - </el-breadcrumb>  
8 <el-button type="primary" @click="handleAdd">{{ $t('community.addCommunity') }}</el-button> 4 <el-button type="primary" @click="handleAdd">{{ $t('community.addCommunity') }}</el-button>
9 </div> 5 </div>
10 6
src/views/dev/addRoute.vue
1 -<template> 1 +<template>
2 <div class="add-app-api-container"> 2 <div class="add-app-api-container">
3 <el-card class="box-card"> 3 <el-card class="box-card">
4 <div class="card-title" slot="header"> 4 <div class="card-title" slot="header">
@@ -200,7 +200,7 @@ export default { @@ -200,7 +200,7 @@ export default {
200 <style lang="scss" scoped> 200 <style lang="scss" scoped>
201 .add-app-api-container { 201 .add-app-api-container {
202 width: 100%; 202 width: 100%;
203 - padding: 40px 0 0 0; 203 + padding: 20px;
204 204
205 .box-card { 205 .box-card {
206 width: 100%; 206 width: 100%;
src/views/dev/app/appList.vue
@@ -195,7 +195,7 @@ export default { @@ -195,7 +195,7 @@ export default {
195 195
196 <style lang="scss" scoped> 196 <style lang="scss" scoped>
197 .app-container { 197 .app-container {
198 - padding: 0; 198 + padding: 20px;
199 margin: 0; 199 margin: 0;
200 200
201 .search-wrapper { 201 .search-wrapper {
src/views/dev/attrSpecList.vue
@@ -199,7 +199,7 @@ export default { @@ -199,7 +199,7 @@ export default {
199 199
200 <style lang="scss" scoped> 200 <style lang="scss" scoped>
201 .attrSpec-container { 201 .attrSpec-container {
202 - padding: 0; 202 + padding: 20px;
203 margin: 0; 203 margin: 0;
204 display: flex; 204 display: flex;
205 background-color: #f0f2f5; 205 background-color: #f0f2f5;
src/views/dev/attrValueList.vue
@@ -142,7 +142,7 @@ export default { @@ -142,7 +142,7 @@ export default {
142 142
143 <style lang="scss" scoped> 143 <style lang="scss" scoped>
144 .attrValue-container { 144 .attrValue-container {
145 - padding: 0; 145 + padding: 20px;
146 margin: 0; 146 margin: 0;
147 147
148 .search-wrapper { 148 .search-wrapper {
src/views/dev/businessDatabusList.vue
@@ -142,7 +142,7 @@ export default { @@ -142,7 +142,7 @@ export default {
142 142
143 <style lang="scss" scoped> 143 <style lang="scss" scoped>
144 .businessDatabus-container { 144 .businessDatabus-container {
145 - padding: 0; 145 + padding: 20px;
146 margin: 0; 146 margin: 0;
147 147
148 .search-wrapper { 148 .search-wrapper {
src/views/dev/businessTableHisList.vue
@@ -212,7 +212,7 @@ export default { @@ -212,7 +212,7 @@ export default {
212 212
213 <style lang="scss" scoped> 213 <style lang="scss" scoped>
214 .businessTableHis-container { 214 .businessTableHis-container {
215 - padding: 0; 215 + padding: 20px;
216 margin: 0; 216 margin: 0;
217 217
218 .search-wrapper { 218 .search-wrapper {
src/views/dev/dictList.vue
@@ -165,7 +165,7 @@ export default { @@ -165,7 +165,7 @@ export default {
165 165
166 <style lang="scss" scoped> 166 <style lang="scss" scoped>
167 .dict-container { 167 .dict-container {
168 - padding: 0; 168 + padding: 20px;
169 margin: 0; 169 margin: 0;
170 display: flex; 170 display: flex;
171 background-color: #f0f2f5; 171 background-color: #f0f2f5;
src/views/dev/mappingDomainList.vue
@@ -197,7 +197,7 @@ export default { @@ -197,7 +197,7 @@ export default {
197 197
198 <style lang="scss" scoped> 198 <style lang="scss" scoped>
199 .mappingDomain-container { 199 .mappingDomain-container {
200 - padding: 0; 200 + padding: 20px;
201 margin: 0; 201 margin: 0;
202 202
203 .search-wrapper { 203 .search-wrapper {
src/views/dev/mappingList.vue
@@ -179,7 +179,7 @@ export default { @@ -179,7 +179,7 @@ export default {
179 179
180 <style lang="scss" scoped> 180 <style lang="scss" scoped>
181 .mapping-container { 181 .mapping-container {
182 - padding: 15px; 182 + padding: 20px;
183 margin: 0; 183 margin: 0;
184 display: flex; 184 display: flex;
185 background-color: #f0f2f5; 185 background-color: #f0f2f5;
src/views/dev/menuCatalogList.vue
@@ -183,7 +183,7 @@ export default { @@ -183,7 +183,7 @@ export default {
183 183
184 <style lang="scss" scoped> 184 <style lang="scss" scoped>
185 .menuCatalog-container { 185 .menuCatalog-container {
186 - padding: 0; 186 + padding: 20px;
187 margin: 0; 187 margin: 0;
188 display: flex; 188 display: flex;
189 background-color: #f0f2f5; 189 background-color: #f0f2f5;
src/views/dev/menuGroupCatalogList.vue
@@ -131,7 +131,7 @@ export default { @@ -131,7 +131,7 @@ export default {
131 131
132 <style lang="scss" scoped> 132 <style lang="scss" scoped>
133 .menuGroupCatalog-container { 133 .menuGroupCatalog-container {
134 - padding: 0; 134 + padding: 20px;
135 margin: 0; 135 margin: 0;
136 136
137 .search-wrapper { 137 .search-wrapper {
src/views/dev/menuGroupList.vue
@@ -167,7 +167,7 @@ export default { @@ -167,7 +167,7 @@ export default {
167 167
168 <style lang="scss" scoped> 168 <style lang="scss" scoped>
169 .menuGroup-container { 169 .menuGroup-container {
170 - padding: 0; 170 + padding: 20px;
171 margin: 0; 171 margin: 0;
172 display: flex; 172 display: flex;
173 background-color: #f0f2f5; 173 background-color: #f0f2f5;
src/views/dev/menuList.vue
@@ -211,7 +211,7 @@ export default { @@ -211,7 +211,7 @@ export default {
211 211
212 <style lang="scss" scoped> 212 <style lang="scss" scoped>
213 .menu-container { 213 .menu-container {
214 - padding: 0; 214 + padding: 20px;
215 margin: 0; 215 margin: 0;
216 display: flex; 216 display: flex;
217 background-color: #f0f2f5; 217 background-color: #f0f2f5;
src/views/dev/privilegeList.vue
@@ -143,7 +143,7 @@ export default { @@ -143,7 +143,7 @@ export default {
143 143
144 <style lang="scss" scoped> 144 <style lang="scss" scoped>
145 .privilege-container { 145 .privilege-container {
146 - padding: 0; 146 + padding: 20px;
147 margin: 0; 147 margin: 0;
148 148
149 .search-wrapper { 149 .search-wrapper {
src/views/dev/routeList.vue
@@ -168,7 +168,7 @@ export default { @@ -168,7 +168,7 @@ export default {
168 168
169 <style lang="scss" scoped> 169 <style lang="scss" scoped>
170 .route-container { 170 .route-container {
171 - 171 + padding: 20px;
172 display: flex; 172 display: flex;
173 background-color: #f0f2f5; 173 background-color: #f0f2f5;
174 174
src/views/dev/serviceBusinessList.vue
@@ -131,7 +131,7 @@ export default { @@ -131,7 +131,7 @@ export default {
131 131
132 <style lang="scss" scoped> 132 <style lang="scss" scoped>
133 .serviceBusiness-container { 133 .serviceBusiness-container {
134 - padding: 0; 134 + padding: 20px;
135 margin: 0; 135 margin: 0;
136 136
137 .search-wrapper { 137 .search-wrapper {
src/views/dev/serviceList.vue
@@ -141,7 +141,7 @@ export default { @@ -141,7 +141,7 @@ export default {
141 141
142 <style lang="scss" scoped> 142 <style lang="scss" scoped>
143 .service-container { 143 .service-container {
144 - padding: 0; 144 + padding: 20px;
145 margin: 0; 145 margin: 0;
146 146
147 .search-wrapper { 147 .search-wrapper {
src/views/layout/LayoutLang.js
@@ -45,12 +45,16 @@ export const messages = { @@ -45,12 +45,16 @@ export const messages = {
45 fetchError: 'Failed to fetch data', 45 fetchError: 'Failed to fetch data',
46 deleteError: 'Failed to delete', 46 deleteError: 'Failed to delete',
47 submitError: 'Failed to submit', 47 submitError: 'Failed to submit',
48 - moreCommunity:'More Community' 48 + moreCommunity:'More Community',
  49 + myCommunity: 'My Community',
  50 + closeAllTabs: 'Close All'
49 } 51 }
50 }, 52 },
51 zh: { 53 zh: {
52 layout: { 54 layout: {
53 home: '首页', 55 home: '首页',
  56 + myCommunity: '我的小区',
  57 + closeAllTabs: '全部关闭',
54 businessManagement: '业务管理', 58 businessManagement: '业务管理',
55 propertyManagement: '物业管理', 59 propertyManagement: '物业管理',
56 userManagement: '用户管理', 60 userManagement: '用户管理',
src/views/layout/layout.vue
1 -<template> 1 +<template>
2 <el-container class="app-wrapper"> 2 <el-container class="app-wrapper">
3 <!-- 顶部导航 --> 3 <!-- 顶部导航 -->
4 <el-header height="60px" class="app-header"> 4 <el-header height="60px" class="app-header">
@@ -69,6 +69,23 @@ @@ -69,6 +69,23 @@
69 69
70 <!-- 主要内容区 --> 70 <!-- 主要内容区 -->
71 <el-main class="app-main"> 71 <el-main class="app-main">
  72 + <!-- 多标签页:单行不换行 -->
  73 + <div class="tabs-wrap" v-if="visitedTabs.length > 0">
  74 + <div class="tabs-list">
  75 + <div
  76 + v-for="tab in visitedTabs"
  77 + :key="tab.path"
  78 + :class="['tabs-item', { active: $route.path === tab.path }]"
  79 + @click="goTab(tab)"
  80 + >
  81 + <span class="tabs-item-title">{{ tab.titleKey ? $t(tab.titleKey) : tab.title }}</span>
  82 + <i class="el-icon-close tabs-item-close" @click.stop="removeTab(tab)" v-if="visitedTabs.length > 1"></i>
  83 + </div>
  84 + </div>
  85 + <el-button type="text" size="mini" class="tabs-close-all" @click="closeAllTabs">
  86 + {{ $t('layout.closeAllTabs') }}
  87 + </el-button>
  88 + </div>
72 <router-view /> 89 <router-view />
73 </el-main> 90 </el-main>
74 </el-container> 91 </el-container>
@@ -90,7 +107,6 @@ import searchCommunityDataList from &#39;@/components/system/searchCommunityDataList @@ -90,7 +107,6 @@ import searchCommunityDataList from &#39;@/components/system/searchCommunityDataList
90 import { initSystem } from '@/api/util/vcApi' 107 import { initSystem } from '@/api/util/vcApi'
91 import config from '@/conf/config' 108 import config from '@/conf/config'
92 109
93 -  
94 export default { 110 export default {
95 name: 'Layout', 111 name: 'Layout',
96 data() { 112 data() {
@@ -116,7 +132,22 @@ export default { @@ -116,7 +132,22 @@ export default {
116 companyName: '', 132 companyName: '',
117 logoUrl: '', 133 logoUrl: '',
118 version: '' 134 version: ''
119 - } 135 + },
  136 + visitedTabs: [] // 已打开的页面 { path, titleKey?, title? }
  137 + }
  138 + },
  139 + watch: {
  140 + $route: {
  141 + handler(route) {
  142 + if (!route.path || route.path === '/views/user/login' || route.path === '/login') return
  143 + const path = route.path
  144 + const exists = this.visitedTabs.some(t => t.path === path)
  145 + if (!exists) {
  146 + const info = this.getTabTitle(path, route.meta || {})
  147 + if (info) this.visitedTabs.push({ path, ...info })
  148 + }
  149 + },
  150 + immediate: true
120 } 151 }
121 }, 152 },
122 created() { 153 created() {
@@ -136,6 +167,32 @@ export default { @@ -136,6 +167,32 @@ export default {
136 searchCommunityDataList 167 searchCommunityDataList
137 }, 168 },
138 methods: { 169 methods: {
  170 + // 标签页名称:仅当路由配置了 meta.title 或 meta.titleKey 时才展示该标签
  171 + getTabTitle(path, meta) {
  172 + if (path === '/views/index/index' || path === '/') {
  173 + return { titleKey: 'layout.home' }
  174 + }
  175 + const m = meta || {}
  176 + if (m.title) return { title: m.title }
  177 + if (m.titleKey) return { titleKey: m.titleKey }
  178 + return null
  179 + },
  180 + goTab(tab) {
  181 + if (this.$route.path === tab.path) return
  182 + this.$router.push(tab.path).catch(() => {})
  183 + },
  184 + removeTab(tab) {
  185 + const list = this.visitedTabs.filter(t => t.path !== tab.path)
  186 + this.visitedTabs = list
  187 + if (this.$route.path === tab.path) {
  188 + const next = list.length ? list[list.length - 1] : { path: '/views/index/index' }
  189 + this.$router.push(next.path).catch(() => {})
  190 + }
  191 + },
  192 + closeAllTabs() {
  193 + this.visitedTabs = []
  194 + this.$router.push('/views/index/index').catch(() => {})
  195 + },
139 async getSystemInfo() { 196 async getSystemInfo() {
140 const { data } = await listSystemInfo({ page: 1, row: 1 }); 197 const { data } = await listSystemInfo({ page: 1, row: 1 });
141 this.systemInfo.systemSimpleTitle = data[0].systemSimpleTitle 198 this.systemInfo.systemSimpleTitle = data[0].systemSimpleTitle
@@ -399,6 +456,65 @@ export default { @@ -399,6 +456,65 @@ export default {
399 padding: 0px; 456 padding: 0px;
400 } 457 }
401 458
  459 +.tabs-wrap {
  460 + display: flex;
  461 + align-items: center;
  462 + padding: 8px 16px;
  463 + background: #fff;
  464 + border-bottom: 1px solid #ebeef5;
  465 + gap: 8px;
  466 +}
  467 +.tabs-list {
  468 + display: flex;
  469 + flex-wrap: nowrap;
  470 + gap: 4px;
  471 + flex: 1;
  472 + min-width: 0;
  473 + overflow-x: auto;
  474 +}
  475 +.tabs-item {
  476 + display: inline-flex;
  477 + align-items: center;
  478 + padding: 6px 12px;
  479 + font-size: 13px;
  480 + border-radius: 4px;
  481 + cursor: pointer;
  482 + color: #606266;
  483 + background: #f4f4f5;
  484 + max-width: 160px;
  485 + overflow: hidden;
  486 + text-overflow: ellipsis;
  487 + white-space: nowrap;
  488 +}
  489 +.tabs-item:hover {
  490 + color: #409EFF;
  491 + background: #ecf5ff;
  492 +}
  493 +.tabs-item.active {
  494 + color: #409EFF;
  495 + background: #ecf5ff;
  496 + font-weight: 500;
  497 +}
  498 +.tabs-item-title {
  499 + flex: 1;
  500 + min-width: 0;
  501 + overflow: hidden;
  502 + text-overflow: ellipsis;
  503 +}
  504 +.tabs-item-close {
  505 + margin-left: 6px;
  506 + font-size: 12px;
  507 + opacity: 0.7;
  508 +}
  509 +.tabs-item-close:hover {
  510 + opacity: 1;
  511 + color: #f56c6c;
  512 +}
  513 +.tabs-close-all {
  514 + flex-shrink: 0;
  515 + padding: 4px 8px;
  516 +}
  517 +
402 :deep(.el-menu--horizontal) { 518 :deep(.el-menu--horizontal) {
403 border-bottom: none; 519 border-bottom: none;
404 } 520 }
src/views/log/transactionLogManageList.vue
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <el-row> 3 <el-row>
4 <el-col :span="24"> 4 <el-col :span="24">
5 <el-card> 5 <el-card>
6 - <div slot="header" class="clearfix"> 6 + <div slot="header" class="flex justify-between ">
7 <span>{{ $t('transactionLogManage.queryCondition') }}</span> 7 <span>{{ $t('transactionLogManage.queryCondition') }}</span>
8 </div> 8 </div>
9 <el-row :gutter="20"> 9 <el-row :gutter="20">
@@ -46,7 +46,7 @@ @@ -46,7 +46,7 @@
46 <el-row> 46 <el-row>
47 <el-col :span="24"> 47 <el-col :span="24">
48 <el-card> 48 <el-card>
49 - <div slot="header" class="clearfix"> 49 + <div slot="header" class="flex justify-between ">
50 <span>{{ $t('transactionLogManage.transactionLog') }}</span> 50 <span>{{ $t('transactionLogManage.transactionLog') }}</span>
51 </div> 51 </div>
52 <el-table 52 <el-table