From 6d9d3e277658eacd7b61e339652c8f4e6ce513da Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: Wed, 4 Jun 2025 21:49:41 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=89=A9=E4=B8=9A=E9=A6=96?=
=?UTF-8?q?=E9=A1=B5=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/index/propertyIndexApi.js | 101 +++++++
src/components/index/index-property.vue | 92 +++++++
src/components/index/indexCommunity.vue | 217 +++++++++++++++
src/components/index/indexNotice.vue | 174 ++++++++++++
src/components/index/indexOwnerRoom.vue | 179 +++++++++++++
src/components/index/indexRepairComplaint.vue | 253 ++++++++++++++++++
src/views/index/index.vue | 7 +-
src/views/index/indexLang.js | 70 +++++
8 files changed, 1092 insertions(+), 1 deletion(-)
create mode 100644 src/api/index/propertyIndexApi.js
create mode 100644 src/components/index/index-property.vue
create mode 100644 src/components/index/indexCommunity.vue
create mode 100644 src/components/index/indexNotice.vue
create mode 100644 src/components/index/indexOwnerRoom.vue
create mode 100644 src/components/index/indexRepairComplaint.vue
diff --git a/src/api/index/propertyIndexApi.js b/src/api/index/propertyIndexApi.js
new file mode 100644
index 000000000..a7003a495
--- /dev/null
+++ b/src/api/index/propertyIndexApi.js
@@ -0,0 +1,101 @@
+import request from '@/utils/request'
+
+// 查询物业资产指标
+export function getPropertyAssetsIndex(params) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: '/propertyIndex.queryPropertyAssetsIndex',
+ method: 'get',
+ params
+ }).then(response => {
+ const res = response.data
+ if (res.code === 0) {
+ resolve(res)
+ } else {
+ reject(new Error(res.msg || '查询物业资产指标失败'))
+ }
+ }).catch(error => {
+ reject(error)
+ })
+ })
+}
+
+// 查询记事本列表
+export function getNotepadList(params) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: '/notepad.listNotepad',
+ method: 'get',
+ params
+ }).then(response => {
+ const res = response.data
+ if (res.code === 0) {
+ resolve(res)
+ } else {
+ reject(new Error(res.msg || '查询记事本列表失败'))
+ }
+ }).catch(error => {
+ reject(error)
+ })
+ })
+}
+
+// 查询报修指标
+export function getRepairIndex(params) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: '/propertyIndex.queryRepairIndex',
+ method: 'get',
+ params
+ }).then(response => {
+ const res = response.data
+ if (res.code === 0) {
+ resolve(res)
+ } else {
+ reject(new Error(res.msg || '查询报修指标失败'))
+ }
+ }).catch(error => {
+ reject(error)
+ })
+ })
+}
+
+// 查询投诉指标
+export function getComplaintIndex(params) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: '/propertyIndex.queryComplaintIndex',
+ method: 'get',
+ params
+ }).then(response => {
+ const res = response.data
+ if (res.code === 0) {
+ resolve(res)
+ } else {
+ reject(new Error(res.msg || '查询投诉指标失败'))
+ }
+ }).catch(error => {
+ reject(error)
+ })
+ })
+}
+
+// 查询业主注册指标
+export function getOwnerRegisterIndex(params) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: '/propertyIndex.queryOwnerRegisterIndex',
+ method: 'get',
+ params
+ }).then(response => {
+ const res = response.data
+ if (res.code === 0) {
+ resolve(res)
+ } else {
+ reject(new Error(res.msg || '查询业主注册指标失败'))
+ }
+ }).catch(error => {
+ reject(error)
+ })
+ })
+}
\ No newline at end of file
diff --git a/src/components/index/index-property.vue b/src/components/index/index-property.vue
new file mode 100644
index 000000000..b14c6a589
--- /dev/null
+++ b/src/components/index/index-property.vue
@@ -0,0 +1,92 @@
+
+
+
+ {{ $t('propertyIndex.home') }}
+ /
+ {{ $t('propertyIndex.dashboard') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/index/indexCommunity.vue b/src/components/index/indexCommunity.vue
new file mode 100644
index 000000000..512310b98
--- /dev/null
+++ b/src/components/index/indexCommunity.vue
@@ -0,0 +1,217 @@
+
+
+
+ {{ $t('propertyIndex.communityInfo') }}
+
+
+
+
+
+
+
+
{{ indexCommunityViewInfo[item.key] }}
+
{{ $t(`propertyIndex.${item.label}`) }}
+
+
+
+
+
+
+
{{ $t('propertyIndex.residentReg') }}
+
+
+
+
+
+
{{ indexCommunityViewInfo.ownerCount }}
+ {{ $t('propertyIndex.unit') }}
+
+
+ {{ $t('propertyIndex.registerResident') }} >
+
+
+
+
+
+
{{ $t('propertyIndex.vehicle') }}
+
+
+
+
+
+
{{ indexCommunityViewInfo.carCount }}
+ {{ $t('propertyIndex.unit') }}
+
+
+ {{ $t('propertyIndex.viewVehicle') }} >
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/index/indexNotice.vue b/src/components/index/indexNotice.vue
new file mode 100644
index 000000000..53050838a
--- /dev/null
+++ b/src/components/index/indexNotice.vue
@@ -0,0 +1,174 @@
+
+
+
+ {{ $t('propertyIndex.ownerFeedback') }}
+
+
+ -
+
+ {{ $t('propertyIndex.noFeedback') }}
+
+
+ -
+
+ {{ item.objName }}({{ item.roomName }}){{ $t('propertyIndex.feedback') }}{{ item.title }}
+ ({{ item.state === 'F' ? $t('propertyIndex.completed') : $t('propertyIndex.followingUp') }}-{{ $t('propertyIndex.transferRepair') }})
+
+
+ {{ item.createTime }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/index/indexOwnerRoom.vue b/src/components/index/indexOwnerRoom.vue
new file mode 100644
index 000000000..82d038e32
--- /dev/null
+++ b/src/components/index/indexOwnerRoom.vue
@@ -0,0 +1,179 @@
+
+
+
+
{{ $t('propertyIndex.residentRegStats') }}
+
+
+
+
{{ item.value }}
+
{{ $t(`propertyIndex.${item.label}`) }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/index/indexRepairComplaint.vue b/src/components/index/indexRepairComplaint.vue
new file mode 100644
index 000000000..690602840
--- /dev/null
+++ b/src/components/index/indexRepairComplaint.vue
@@ -0,0 +1,253 @@
+
+
+
+
+
+
{{ $t('propertyIndex.repairStats') }}
+
+
+
+
{{ item.value }}
+
{{ $t(`propertyIndex.${item.label}`) }}
+
+
+
+
+
+
+
{{ $t('propertyIndex.complaintStats') }}
+
+
+
+
{{ item.value }}
+
{{ $t(`propertyIndex.${item.label}`) }}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/index/index.vue b/src/views/index/index.vue
index 9420dd2e9..6c413d3d0 100644
--- a/src/views/index/index.vue
+++ b/src/views/index/index.vue
@@ -7,6 +7,9 @@
+
+
+
@@ -15,12 +18,14 @@
import {deepCopy} from "@/utils/vc"
import indexDev from "@/components/index/index-dev.vue"
import indexAdmin from "@/components/index/index-admin.vue"
+ import indexProperty from '@/components/index/index-property.vue'
export default {
name: 'index',
components: {
indexDev,
- indexAdmin
+ indexAdmin,
+ indexProperty
},
data() {
return {
diff --git a/src/views/index/indexLang.js b/src/views/index/indexLang.js
index d545819c7..24990de84 100644
--- a/src/views/index/indexLang.js
+++ b/src/views/index/indexLang.js
@@ -8,6 +8,41 @@ export const messages = {
repairCount: 'Repair Count',
communityFeeStats: 'Community Fee Statistics',
communityRepairStats: 'Community Repair Statistics'
+ },
+ propertyIndex: {
+ home: 'Home',
+ dashboard: 'Dashboard',
+ communityInfo: 'Community Information',
+ building: 'Building',
+ house: 'House',
+ shop: 'Shop',
+ parkingSpace: 'Parking Space',
+ residentReg: 'Resident Registration',
+ registerResident: 'Register Resident',
+ vehicle: 'Vehicle',
+ viewVehicle: 'View Vehicles',
+ unit: 'unit',
+ ownerFeedback: 'Owner Feedback',
+ noFeedback: 'No feedback content currently',
+ feedback: 'feedback',
+ completed: 'Completed',
+ followingUp: 'Following up',
+ transferRepair: 'Transferred to repair order',
+ repairStats: 'Repair Statistics',
+ allRepair: 'All Repairs',
+ toBeDispatched: 'To be dispatched',
+ processing: 'Processing',
+ processed: 'Processed',
+ complaintStats: 'Complaint Statistics',
+ allComplaint: 'All Complaints',
+ repairInfo: 'Repair Info',
+ unprocessed: 'Unprocessed',
+ residentRegStats: 'Resident Registration Statistics',
+ unregistered: 'Unregistered',
+ registered: 'Registered',
+ unboundRoom: 'Unbound Room',
+ boundRoom: 'Bound Room',
+ residentInfo: 'Resident Info'
}
},
zh: {
@@ -19,6 +54,41 @@ export const messages = {
repairCount: '报修单数',
communityFeeStats: '小区缴费统计',
communityRepairStats: '小区报修统计'
+ },
+ propertyIndex: {
+ home: '首页',
+ dashboard: '控制台',
+ communityInfo: '小区信息',
+ building: '楼宇',
+ house: '房屋',
+ shop: '商铺',
+ parkingSpace: '车位',
+ residentReg: '住户登记',
+ registerResident: '登记住户',
+ vehicle: '车辆',
+ viewVehicle: '查看车辆',
+ unit: '个',
+ ownerFeedback: '业主反馈',
+ noFeedback: '当前没有业主反馈内容',
+ feedback: '反馈',
+ completed: '完成',
+ followingUp: '跟进中',
+ transferRepair: '已转报修单',
+ repairStats: '报修统计',
+ allRepair: '全部报修',
+ toBeDispatched: '待派单',
+ processing: '处理中',
+ processed: '已处理',
+ complaintStats: '投诉统计',
+ allComplaint: '全部投诉',
+ repairInfo: '报修信息',
+ unprocessed: '未处理',
+ residentRegStats: '住户注册统计',
+ unregistered: '未注册',
+ registered: '已注册',
+ unboundRoom: '未绑定房屋',
+ boundRoom: '已绑定房屋',
+ residentInfo: '住户信息'
}
}
}
\ No newline at end of file