Compare commits
44 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bfdfa05cd7 | ||
|
|
2ea75ee5ef | ||
|
|
b83735e993 | ||
|
|
981d059ceb | ||
|
|
726168dfde | ||
|
|
68214b7a39 | ||
|
|
276bd43878 | ||
|
|
7b20d3e7ef | ||
|
|
3b0e3928eb | ||
|
|
406cf90db5 | ||
|
|
144b9d9670 | ||
|
|
0dfd541769 | ||
|
|
3fa96351d7 | ||
|
|
28959cff23 | ||
|
|
de2b0fec48 | ||
|
|
6ac733cdd2 | ||
|
|
03e2fa531a | ||
|
|
3048aa3f88 | ||
|
|
ffa0d1067a | ||
|
|
519df168c6 | ||
|
|
0717bb489b | ||
|
|
1c11add746 | ||
|
|
f66c0fb145 | ||
|
|
586ec70274 | ||
|
|
ef681e4eb3 | ||
|
|
fa39c98a95 | ||
|
|
40196737d3 | ||
|
|
494b7869ea | ||
|
|
ca5f214bac | ||
|
|
2907f9202c | ||
|
|
903c92fef0 | ||
|
|
0c4c9676b5 | ||
|
|
37970c547b | ||
|
|
725bdfa3fe | ||
|
|
4efb535730 | ||
|
|
298f93380c | ||
|
|
3a808750ac | ||
|
|
54d467ede7 | ||
|
|
dff51dd4d4 | ||
|
|
4e2ae414c4 | ||
|
|
33d35c8d70 | ||
|
|
826bf3c782 | ||
|
|
ea8129216b | ||
|
|
50e7b14fd6 |
@@ -1,65 +1,62 @@
|
||||
# 页面标题
|
||||
VITE_APP_TITLE = 智慧物业后台管理系统
|
||||
VITE_APP_TITLE=智慧物业后台管理系统
|
||||
|
||||
VITE_APP_LOGO_TITLE = 智慧物业后台管理系统
|
||||
VITE_APP_LOGO_TITLE=智慧物业后台管理系统
|
||||
|
||||
# 开发环境配置
|
||||
VITE_APP_ENV = 'development'
|
||||
VITE_APP_ENV='development'
|
||||
|
||||
# 开发环境
|
||||
VITE_APP_BASE_API = '/dev-api'
|
||||
VITE_APP_BASE_API='/dev-api'
|
||||
# # 开发环境 接口代理地址
|
||||
VITE_APP_PROXY_API = 'http://192.168.1.222:8080'
|
||||
#VITE_APP_PROXY_API='http://192.168.1.222:8080'
|
||||
# 开发环境 接口代理地址
|
||||
# VITE_APP_PROXY_API = 'http://192.168.0.239:8080'
|
||||
VITE_APP_PROXY_API='http://192.168.1.6:8080'
|
||||
# 图片基础地址
|
||||
VITE_IMG_URL = 'http://192.168.1.222:8080'
|
||||
VITE_IMG_URL='http://192.168.1.222:8080'
|
||||
|
||||
# 应用访问路径 例如使用前缀 /admin/
|
||||
VITE_APP_CONTEXT_PATH = '/'
|
||||
VITE_APP_CONTEXT_PATH='/'
|
||||
|
||||
# 监控地址
|
||||
VITE_APP_MONITOR_ADMIN = 'http://192.168.1.215/admin/applications'
|
||||
|
||||
VITE_APP_MONITOR_ADMIN='http://192.168.1.215/admin/applications'
|
||||
|
||||
# SnailJob 控制台地址
|
||||
VITE_APP_SNAILJOB_ADMIN = 'http://192.168.1.215/snail-job'
|
||||
VITE_APP_SNAILJOB_ADMIN='http://192.168.1.215/snail-job'
|
||||
|
||||
VITE_APP_PORT = 5173
|
||||
VITE_APP_PORT=5174
|
||||
|
||||
# 登录成功跳转地址
|
||||
VITE_LOGIN_BACK_URL = '/equipment/WaterDevice'
|
||||
# VITE_LOGIN_BACK_URL = '/equipment/WaterDevice'
|
||||
VITE_LOGIN_BACK_URL='/index'
|
||||
# 工作台正式内容:false 假内容:true
|
||||
VITE_LOGIN_BACK_URL_WORKBENCH_TRUE=false
|
||||
# 是否展示工作台
|
||||
VITE_APP_SHOW_WORK_PLATFORM = true
|
||||
VITE_APP_SHOW_WORK_PLATFORM=true
|
||||
|
||||
|
||||
# 地图类型 天地图 or 高德地图 天地图 WGS84 高德地图 GCJ02, 高德地图 需要在高德地图官网申请key
|
||||
# 高德地图 GCJ02
|
||||
# 天地图 WGS84
|
||||
VITE_APP_MAP_TYPE = 'GCJ02'
|
||||
# 地图类型 天地图 WGS84 高德地图 GCJ02, 高德地图 需要在高德地图官网申请key
|
||||
VITE_APP_MAP_TYPE='GCJ02'
|
||||
|
||||
# 高德地图key 建议放入环境变量中,避免泄露
|
||||
VITE_GCJ02_KEY_GD = '8e302fe1be5f4db62bc734db23dca149'
|
||||
VITE_GCJ02_JS_CODE_GD = '09534b3534d8da53968529a9ce164118'
|
||||
VITE_GCJ02_KEY_GD='8e302fe1be5f4db62bc734db23dca149'
|
||||
VITE_GCJ02_JS_CODE_GD='09534b3534d8da53968529a9ce164118'
|
||||
|
||||
# 天地图key 建议放入环境变量中,避免泄露
|
||||
VITE_TIANDITU_KEY = 'f71689f9e22158947ebf64ad95e0a595'
|
||||
VITE_TIANDITU_JS_CODE = ''
|
||||
|
||||
VITE_TIANDITU_KEY='f71689f9e22158947ebf64ad95e0a595'
|
||||
|
||||
# 接口加密功能开关(如需关闭 后端也必须对应关闭)
|
||||
VITE_APP_ENCRYPT = true
|
||||
VITE_APP_ENCRYPT=true
|
||||
# 接口加密传输 RSA 公钥与后端解密私钥对应 如更换需前后端一同更换
|
||||
VITE_APP_RSA_PUBLIC_KEY = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
|
||||
VITE_APP_RSA_PUBLIC_KEY='MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
|
||||
# 接口响应解密 RSA 私钥与后端加密公钥对应 如更换需前后端一同更换
|
||||
VITE_APP_RSA_PRIVATE_KEY = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE='
|
||||
VITE_APP_RSA_PRIVATE_KEY='MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE='
|
||||
|
||||
# 客户端id
|
||||
VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e'
|
||||
VITE_APP_CLIENT_ID='e5cd7e4891bf95d1d19206ce24a7b32e'
|
||||
|
||||
# websocket 开关 默认使用sse推送
|
||||
VITE_APP_WEBSOCKET = false
|
||||
VITE_APP_WEBSOCKET=false
|
||||
|
||||
# sse 开关
|
||||
VITE_APP_SSE = false
|
||||
VITE_APP_SSE=true
|
||||
|
||||
|
||||
@@ -1,57 +1,58 @@
|
||||
# 页面标题
|
||||
VITE_APP_TITLE = 智慧物业后台管理系统
|
||||
VITE_APP_TITLE=智慧物业后台管理系统
|
||||
|
||||
VITE_APP_LOGO_TITLE = 智慧物业后台管理系统
|
||||
VITE_APP_LOGO_TITLE=智慧物业后台管理系统
|
||||
# 生产环境配置
|
||||
VITE_APP_ENV = 'production'
|
||||
VITE_APP_ENV='production'
|
||||
|
||||
# 应用访问路径 例如使用前缀 /admin/
|
||||
VITE_APP_CONTEXT_PATH = '/'
|
||||
VITE_APP_CONTEXT_PATH='/'
|
||||
|
||||
# 监控地址
|
||||
VITE_APP_MONITOR_ADMIN = '/admin/applications'
|
||||
VITE_APP_MONITOR_ADMIN='/admin/applications'
|
||||
|
||||
# SnailJob 控制台地址
|
||||
VITE_APP_SNAILJOB_ADMIN = '/snail-job'
|
||||
VITE_APP_SNAILJOB_ADMIN='/snail-job'
|
||||
|
||||
# 生产环境
|
||||
VITE_APP_BASE_API = 'https://wuyeapi.bugtc.com'
|
||||
# VITE_APP_BASE_API = 'http://192.168.0.222:8080'
|
||||
|
||||
# VITE_APP_BASE_API = 'https://wuyeapi.bugtc.com'
|
||||
VITE_APP_BASE_API='https://wuyeapi.ckdzkj.com'
|
||||
#VITE_APP_BASE_API='http://192.168.1.198'
|
||||
# 登录成功跳转地址
|
||||
VITE_LOGIN_BACK_URL = '/equipment/WaterDevice'
|
||||
# VITE_LOGIN_BACK_URL = '/equipment/WaterDevice'
|
||||
VITE_LOGIN_BACK_URL='/index'
|
||||
# 工作台正式内容:false 假内容:true
|
||||
VITE_LOGIN_BACK_URL_WORKBENCH_TRUE=false
|
||||
# 是否展示工作台
|
||||
VITE_APP_SHOW_WORK_PLATFORM = false
|
||||
VITE_APP_SHOW_WORK_PLATFORM=true
|
||||
|
||||
|
||||
# 地图类型 天地图 or 高德地图 天地图 WGS84 高德地图 GCJ02, 高德地图 需要在高德地图官网申请key
|
||||
# 高德地图 GCJ02
|
||||
# 天地图 WGS84
|
||||
VITE_APP_MAP_TYPE = 'GCJ02'
|
||||
# 地图类型 天地图 WGS84 高德地图 GCJ02, 高德地图 需要在高德地图官网申请key
|
||||
VITE_APP_MAP_TYPE='GCJ02'
|
||||
|
||||
# 高德地图key 建议放入环境变量中,避免泄露
|
||||
VITE_GCJ02_KEY_GD = '8e302fe1be5f4db62bc734db23dca149'
|
||||
VITE_GCJ02_JS_CODE_GD = '09534b3534d8da53968529a9ce164118'
|
||||
|
||||
VITE_GCJ02_KEY_GD='8e302fe1be5f4db62bc734db23dca149'
|
||||
VITE_GCJ02_JS_CODE_GD='09534b3534d8da53968529a9ce164118'
|
||||
|
||||
# 天地图key 建议放入环境变量中,避免泄露
|
||||
VITE_TIANDITU_KEY='f71689f9e22158947ebf64ad95e0a595'
|
||||
|
||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||
# VITE_BUILD_COMPRESS = gzip
|
||||
|
||||
VITE_APP_PORT = 80
|
||||
VITE_APP_PORT=80
|
||||
|
||||
# 接口加密功能开关(如需关闭 后端也必须对应关闭)
|
||||
VITE_APP_ENCRYPT = true
|
||||
VITE_APP_ENCRYPT=true
|
||||
# 接口加密传输 RSA 公钥与后端解密私钥对应 如更换需前后端一同更换
|
||||
VITE_APP_RSA_PUBLIC_KEY = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
|
||||
VITE_APP_RSA_PUBLIC_KEY='MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ=='
|
||||
# 接口响应解密 RSA 私钥与后端加密公钥对应 如更换需前后端一同更换
|
||||
VITE_APP_RSA_PRIVATE_KEY = 'MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE='
|
||||
VITE_APP_RSA_PRIVATE_KEY='MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE='
|
||||
|
||||
# 客户端id
|
||||
VITE_APP_CLIENT_ID = 'e5cd7e4891bf95d1d19206ce24a7b32e'
|
||||
VITE_APP_CLIENT_ID='e5cd7e4891bf95d1d19206ce24a7b32e'
|
||||
|
||||
# websocket 开关 默认使用sse推送
|
||||
VITE_APP_WEBSOCKET = false
|
||||
VITE_APP_WEBSOCKET=false
|
||||
|
||||
# sse 开关
|
||||
VITE_APP_SSE = false
|
||||
VITE_APP_SSE=true
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -29,8 +29,6 @@ tests/e2e/reports
|
||||
selenium-debug.log
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
|
||||
11
package.json
11
package.json
@@ -30,7 +30,8 @@
|
||||
"@vueuse/core": "14.2.1",
|
||||
"animate.css": "4.1.1",
|
||||
"await-to-js": "3.0.0",
|
||||
"axios": "1.13.6",
|
||||
"axios": "1.15.2",
|
||||
"big.js": "^7.0.1",
|
||||
"crypto-js": "4.2.0",
|
||||
"echarts": "6.0.0",
|
||||
"element-china-area-data": "^6.1.0",
|
||||
@@ -51,16 +52,20 @@
|
||||
"vue-json-pretty": "2.6.0",
|
||||
"vue-router": "5.0.3",
|
||||
"vue-types": "6.0.0",
|
||||
"vue3-print-nb": "^0.1.4",
|
||||
"vuedraggable": "^4.1.0",
|
||||
"vxe-table": "4.18.1"
|
||||
"vxe-table": "4.18.1",
|
||||
"xlsx-js-style": "^1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@iconify/json": "^2.2.448",
|
||||
"@types/big.js": "^7.0.0",
|
||||
"@types/crypto-js": "4.2.2",
|
||||
"@types/file-saver": "^2.0.7",
|
||||
"@types/js-cookie": "3.0.6",
|
||||
"@types/node": "^25.4.0",
|
||||
"@types/nprogress": "0.2.3",
|
||||
"@types/xlsx": "^0.0.35",
|
||||
"@unocss/preset-attributify": "66.6.6",
|
||||
"@unocss/preset-icons": "66.6.6",
|
||||
"@unocss/preset-uno": "66.6.6",
|
||||
@@ -83,7 +88,7 @@
|
||||
"unplugin-icons": "23.0.1",
|
||||
"unplugin-vue-components": "31.0.0",
|
||||
"unplugin-vue-setup-extend-plus": "1.0.1",
|
||||
"vite": "7.3.1",
|
||||
"vite": "8.0.5",
|
||||
"vite-plugin-svg-icons-ng": "^1.5.2",
|
||||
"vite-plugin-vue-devtools": "8.0.7",
|
||||
"vite-plugin-zip-pack": "^1.2.4",
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -8,7 +8,6 @@
|
||||
import { useSettingsStore } from '@/store/modules/settings';
|
||||
import { handleThemeStyle } from '@/utils/theme';
|
||||
import { useAppStore } from '@/store/modules/app';
|
||||
import { useDictStore } from './store/modules/dict';
|
||||
|
||||
const appStore = useAppStore();
|
||||
onMounted(() => {
|
||||
|
||||
@@ -80,7 +80,7 @@ export function getCodeImg(): AxiosPromise<VerifyCodeResult> {
|
||||
/**
|
||||
* 第三方登录
|
||||
*/
|
||||
export function callback(data: LoginData): AxiosPromise<any> {
|
||||
export function callback(data: LoginData) {
|
||||
const LoginData = {
|
||||
...data,
|
||||
clientId: clientId,
|
||||
|
||||
@@ -1,38 +1,26 @@
|
||||
export interface ActivityVO {
|
||||
/**
|
||||
* 活动管理表id
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
title: string;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
author: string;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
content: string;
|
||||
|
||||
/**
|
||||
* 发布状态 0未发布 1已发布
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
pageViews: number;
|
||||
|
||||
/**
|
||||
* 创建者姓名
|
||||
*/
|
||||
createName: string;
|
||||
'id': string;
|
||||
'villageId': string;
|
||||
'title': string;
|
||||
'author': string;
|
||||
'content': string;
|
||||
'status': string;
|
||||
'pageViews': number;
|
||||
'createName': string;
|
||||
'coverImage': string;
|
||||
'startTime': string;
|
||||
'endTime': string;
|
||||
'applyDeadline': string;
|
||||
'signinStartTime': string;
|
||||
'signinEndTime': string;
|
||||
'address': string;
|
||||
'quota': number;
|
||||
'appliedCount': number;
|
||||
'organizer': string;
|
||||
'contactName': string;
|
||||
'contactPhone': string;
|
||||
'pointsReward': number;
|
||||
'requirements': string;
|
||||
}
|
||||
|
||||
export interface ActivityForm extends BaseEntity {
|
||||
|
||||
@@ -65,6 +65,7 @@ export const delBanner = (id: string | number | Array<string | number>) => {
|
||||
/**
|
||||
* 改变Banner图管理 状态
|
||||
* @param id
|
||||
* @param status
|
||||
*/
|
||||
export const switchBanner = (id: string, status: string) => {
|
||||
return request({
|
||||
|
||||
@@ -47,11 +47,6 @@ export interface BannerForm extends BaseEntity {
|
||||
*/
|
||||
byOrder?: number;
|
||||
link: string;
|
||||
|
||||
/**
|
||||
* 小区id
|
||||
*/
|
||||
villageId?: string;
|
||||
}
|
||||
|
||||
export interface BannerQuery extends PageQuery {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { ChargeTypeVO, ChargeTypeForm, ChargeTypeQuery } from './type';
|
||||
import { ChargeTypeVO, ChargeTypeForm, ChargeTypeQuery, ChargeTypeRelationQuery } from './type';
|
||||
|
||||
/**
|
||||
* 查询收费类型列表
|
||||
@@ -61,3 +61,37 @@ export const delChargeType = (id: string | number | Array<string | number>) => {
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询收费类型关联列表
|
||||
* @param query
|
||||
*/
|
||||
export const getChargeTypeRelation = (query?: ChargeTypeRelationQuery) => {
|
||||
return request({
|
||||
url: '/chargeType/relation/list',
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增收费类型关联
|
||||
* @param data
|
||||
*/
|
||||
export const addChargeTypeRelation = (data: ChargeTypeRelationQuery) => {
|
||||
return request({
|
||||
url: '/chargeType/relation',
|
||||
method: 'POST',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 新增收费类型关联
|
||||
* @param data
|
||||
*/
|
||||
export const editChargeTypeRelation = (data: ChargeTypeRelationQuery) => {
|
||||
return request({
|
||||
url: '/chargeType/relation',
|
||||
method: 'PUT',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
@@ -2,7 +2,7 @@ export interface ChargeTypeVO {
|
||||
/**
|
||||
* 收费类型表id
|
||||
*/
|
||||
id: string | number;
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* 收费类型名称
|
||||
@@ -64,3 +64,20 @@ export interface ChargeType2Query extends PageQuery {
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
export interface ChargeTypeRelationQuery {
|
||||
/**
|
||||
* 主收费类型表id
|
||||
*/
|
||||
masterTypeId?: string;
|
||||
/**
|
||||
* 子收费类型表id
|
||||
*/
|
||||
slaveTypeIds?: string;
|
||||
id?: string;
|
||||
// 状态 0启用 1停用
|
||||
status?: string;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ export interface ComplaintTypeVO {
|
||||
/**
|
||||
* 投诉类型管理表id
|
||||
*/
|
||||
id: string | number;
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* 投诉类型名称
|
||||
@@ -13,43 +13,21 @@ export interface ComplaintTypeVO {
|
||||
* 状态 0 启用 1停用
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 创建人名称
|
||||
*/
|
||||
createNam: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
creaateTime: string;
|
||||
}
|
||||
|
||||
export interface ComplaintTypeForm extends BaseEntity {
|
||||
/**
|
||||
* 投诉类型管理表id
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 投诉类型名称
|
||||
*/
|
||||
name?: string;
|
||||
|
||||
id?: string;
|
||||
/**
|
||||
* 状态 0 启用 1停用
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 创建人名称
|
||||
* 投诉类型名称
|
||||
*/
|
||||
createNam?: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
creaateTime?: string;
|
||||
name?: string;
|
||||
}
|
||||
|
||||
export interface ComplaintTypeQuery extends PageQuery {
|
||||
@@ -62,19 +40,4 @@ export interface ComplaintTypeQuery extends PageQuery {
|
||||
* 状态 0 启用 1停用
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 创建人名称
|
||||
*/
|
||||
createNam?: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
creaateTime?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export const listComplaint = (query?: ComplaintQuery): AxiosPromise<ComplaintVO[
|
||||
* 查询投诉管理详细
|
||||
* @param id
|
||||
*/
|
||||
export const getComplaint = (id: string | number): AxiosPromise<ComplaintVO> => {
|
||||
export const getComplaint = (id: string): AxiosPromise<ComplaintVO> => {
|
||||
return request({
|
||||
url: '/complaint/' + id,
|
||||
method: 'get'
|
||||
|
||||
@@ -30,7 +30,7 @@ export interface ComplaintVO {
|
||||
problemIamgeUrl: string;
|
||||
|
||||
/**
|
||||
* 投诉状态 0待处理 1处理中 2已处理
|
||||
* 投诉状态 0 待处理 1 已处理
|
||||
*/
|
||||
status: string;
|
||||
|
||||
@@ -48,6 +48,8 @@ export interface ComplaintVO {
|
||||
* 处理描述
|
||||
*/
|
||||
handleContent: string;
|
||||
|
||||
problemImageUrl: string;
|
||||
}
|
||||
|
||||
export interface ComplaintForm extends BaseEntity {
|
||||
@@ -79,7 +81,7 @@ export interface ComplaintForm extends BaseEntity {
|
||||
/**
|
||||
* 问题照片url
|
||||
*/
|
||||
problemIamgeUrl?: string;
|
||||
problemImageUrl?: string;
|
||||
|
||||
/**
|
||||
* 投诉状态 0待处理 1处理中 2已处理
|
||||
@@ -126,7 +128,7 @@ export interface ComplaintQuery extends PageQuery {
|
||||
/**
|
||||
* 问题照片url
|
||||
*/
|
||||
problemIamgeUrl?: string;
|
||||
problemImageUrl?: string;
|
||||
|
||||
/**
|
||||
* 投诉状态 0待处理 1处理中 2已处理
|
||||
|
||||
@@ -13,7 +13,8 @@ export interface DecorationVO {
|
||||
* 所属房屋id
|
||||
*/
|
||||
houseId: string | number;
|
||||
|
||||
buildingId: string;
|
||||
unitNoId: string;
|
||||
/**
|
||||
* 申请人姓名
|
||||
*/
|
||||
|
||||
@@ -61,3 +61,10 @@ export const delHandleLog = (id: string | number | Array<string | number>) => {
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
export const uploadAttachments = (files: FormData) => {
|
||||
return request({
|
||||
url: '/handleLog/uploadAttachments',
|
||||
method: 'post',
|
||||
data: files
|
||||
});
|
||||
};
|
||||
|
||||
@@ -28,6 +28,28 @@ export interface HandleLogVO {
|
||||
* 办事地点
|
||||
*/
|
||||
handlePosition: string;
|
||||
|
||||
handleLogFileList: FileVO[];
|
||||
}
|
||||
|
||||
export interface FileVO {
|
||||
/**
|
||||
* 文件id
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 文件名
|
||||
*/
|
||||
fileName: string;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
filePath: string;
|
||||
|
||||
'handleLogId': string;
|
||||
'ossId': string;
|
||||
}
|
||||
|
||||
export interface HandleLogForm extends BaseEntity {
|
||||
|
||||
@@ -80,3 +80,49 @@ export const list_statapi = (query?: { taskTimeBegin: string; taskTimeEnd: strin
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
export type exportPageApiQuery = {
|
||||
/**
|
||||
* 数据类型:1-日报 / 2-周报 / 3-月报
|
||||
*/
|
||||
dataType?: string;
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
pageNum: number;
|
||||
/**
|
||||
* 每页条数
|
||||
*/
|
||||
pageSize: number;
|
||||
/**
|
||||
* 查询开始日期
|
||||
*/
|
||||
queryDateBegin?: string;
|
||||
/**
|
||||
* 查询结束日期
|
||||
*/
|
||||
queryDateEnd?: string;
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
statDate?: string;
|
||||
};
|
||||
|
||||
type exportAllApiQuery = Omit<exportPageApiQuery, 'pageSize' | 'pageNum'>;
|
||||
/** 导出当前页 数据api */
|
||||
export const exportPageApi = (data: exportPageApiQuery): AxiosPromise<any[]> => {
|
||||
return request({
|
||||
url: '/inspection/data/export/page',
|
||||
method: 'POST',
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
/** 导出 所有 数据api */
|
||||
export const exportAllApi = (data: exportAllApiQuery): AxiosPromise<any[]> => {
|
||||
return request({
|
||||
url: '/inspection/data/export',
|
||||
method: 'POST',
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@ import { PlanVO, PlanForm, PlanQuery } from '@/api/system/InspectionPlan/type';
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listPlan = (query?: PlanQuery): AxiosPromise<PlanVO[]> => {
|
||||
export const listPlan = (query: PlanQuery | {} = {}): AxiosPromise<PlanVO[]> => {
|
||||
return request({
|
||||
url: '/inspection/plan/list',
|
||||
method: 'get',
|
||||
@@ -70,6 +70,6 @@ export const changePlanStatus = (id: string, status: string) => {
|
||||
return request({
|
||||
url: '/inspection/plan/changeStatus',
|
||||
method: 'put',
|
||||
data: { id, status }
|
||||
params: { id, status }
|
||||
});
|
||||
};
|
||||
|
||||
@@ -3,17 +3,12 @@ export interface PlanVO {
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
inspectorIds: string;
|
||||
/**
|
||||
* 巡检计划名称
|
||||
*/
|
||||
planName: string;
|
||||
|
||||
/**
|
||||
* 巡检人员ID,多个用逗号分隔
|
||||
*/
|
||||
inspectorIds: string;
|
||||
|
||||
/**
|
||||
* 执行周期,如:开始日期-结束日期
|
||||
*/
|
||||
@@ -32,7 +27,12 @@ export interface PlanVO {
|
||||
/**
|
||||
* 巡检设置:0-必须拍照,1-可以跳检
|
||||
*/
|
||||
inspectSetting: string;
|
||||
inspectSetting: number;
|
||||
inspectSettingDict: {
|
||||
dictLabel: string;
|
||||
dictValue: string;
|
||||
listClass: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 计划路线,多个用逗号分隔
|
||||
@@ -53,7 +53,11 @@ export interface PlanVO {
|
||||
* 执行周期具体日期
|
||||
*/
|
||||
executeDay: string;
|
||||
|
||||
executeDayList: {
|
||||
dictLabel: string;
|
||||
dictValue: string;
|
||||
listClass: string;
|
||||
}[];
|
||||
/** 巡检人员信息 */
|
||||
inspectorList: {
|
||||
'userId': string;
|
||||
@@ -106,7 +110,7 @@ export interface PlanForm extends BaseEntity {
|
||||
/**
|
||||
* 巡检设置:0-必须拍照,1-可以跳检
|
||||
*/
|
||||
inspectSetting?: string;
|
||||
inspectSetting?: number;
|
||||
|
||||
/**
|
||||
* 计划路线,多个用逗号分隔
|
||||
|
||||
@@ -8,7 +8,7 @@ import { PointVO, PointForm, PointQuery } from '@/api/system/InspectionPoint/typ
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listPoint = (query?: PointQuery): AxiosPromise<PointVO[]> => {
|
||||
export const listPoint = (query?: PointQuery | {}): AxiosPromise<PointVO[]> => {
|
||||
return request({
|
||||
url: '/inspection/point/list',
|
||||
method: 'get',
|
||||
@@ -64,6 +64,7 @@ export const delPoint = (id: string | number | Array<string | number>) => {
|
||||
/**
|
||||
* 修改巡检点状态
|
||||
* @param id
|
||||
* @param status
|
||||
*/
|
||||
export const changePointStatus = (id: string, status: string) => {
|
||||
return request({
|
||||
|
||||
@@ -2,7 +2,7 @@ export interface PointVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* 巡检点名称
|
||||
@@ -17,7 +17,7 @@ export interface PointVO {
|
||||
/**
|
||||
* 所属路线ID
|
||||
*/
|
||||
routeId: string | number;
|
||||
routeId: string;
|
||||
|
||||
/**
|
||||
* 巡检点位置(经纬度),格式:经度,纬度
|
||||
|
||||
@@ -19,11 +19,15 @@ export const listRecord = (query?: RecordQuery): AxiosPromise<RecordVO[]> => {
|
||||
/**
|
||||
* 查询巡检记录主详细
|
||||
* @param id
|
||||
* @param date
|
||||
*/
|
||||
export const getRecord = (id: string | number): AxiosPromise<RecordVO> => {
|
||||
export const getRecord = (id: string, date?: string): AxiosPromise<RecordVO> => {
|
||||
return request({
|
||||
url: '/inspection/record/' + id,
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
params: {
|
||||
date
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ export interface RecordVO {
|
||||
actualStartTime?: string;
|
||||
createByName?: string;
|
||||
createTime?: string;
|
||||
details?: [];
|
||||
details?: DetailsVo[];
|
||||
id?: string;
|
||||
inspectorId?: number;
|
||||
inspectorName?: string;
|
||||
@@ -12,7 +12,7 @@ export interface RecordVO {
|
||||
remark?: string;
|
||||
routeId?: string;
|
||||
routeName?: string;
|
||||
status?: number;
|
||||
status?: string;
|
||||
statusLabel?: null;
|
||||
taskName?: string;
|
||||
taskTime?: string;
|
||||
@@ -82,3 +82,19 @@ export interface RecordQuery extends PageQuery {
|
||||
*/
|
||||
taskName?: string;
|
||||
}
|
||||
|
||||
export interface DetailsVo {
|
||||
'id': string;
|
||||
'taskId': string;
|
||||
'pointId': string;
|
||||
'pointName': string;
|
||||
'location': string;
|
||||
'checkTime': string;
|
||||
'checkResult': string;
|
||||
'photos': string;
|
||||
'sortNo': string;
|
||||
'remark': string;
|
||||
'imgUrl': string;
|
||||
'status': string;
|
||||
photoslist?: string[];
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import { RouteVO, RouteForm, RouteQuery } from './type';
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listRoute = (query?: RouteQuery): AxiosPromise<RouteVO[]> => {
|
||||
export const listRoute = (query: RouteQuery | {} = {}): AxiosPromise<RouteVO[]> => {
|
||||
return request({
|
||||
url: '/inspection/route/list',
|
||||
method: 'get',
|
||||
@@ -20,7 +20,7 @@ export const listRoute = (query?: RouteQuery): AxiosPromise<RouteVO[]> => {
|
||||
* 查询巡检路线详细
|
||||
* @param id
|
||||
*/
|
||||
export const getRoute = (id: string | number): AxiosPromise<RouteVO> => {
|
||||
export const getRoute = (id: string): AxiosPromise<RouteVO> => {
|
||||
return request({
|
||||
url: '/inspection/route/' + id,
|
||||
method: 'get'
|
||||
@@ -61,3 +61,11 @@ export const delRoute = (id: string | number | Array<string | number>) => {
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
export const changeStatusRoute = (id: string, status: string) => {
|
||||
return request({
|
||||
url: '/inspection/route/changeStatus',
|
||||
method: 'put',
|
||||
params: { id, status }
|
||||
});
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@ export interface RouteVO {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id: string | number;
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* 巡检路线名称
|
||||
@@ -70,7 +70,7 @@ export interface RouteForm extends BaseEntity {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
id?: string | number;
|
||||
id?: string;
|
||||
|
||||
/**
|
||||
* 巡检路线名称
|
||||
|
||||
@@ -1,17 +1,40 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { NoticeVO, NoticeForm, NoticeQuery } from '@/api/system/NoticePc/type';
|
||||
|
||||
export interface NotificationVo {
|
||||
'id': 'string';
|
||||
'title': 'string';
|
||||
'item': 'string';
|
||||
'content': 'string';
|
||||
'manageIsCheck': 'string';
|
||||
'repairIsCheck': 'string';
|
||||
}
|
||||
/**
|
||||
* 查询消息通知列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const getNotificationList = (query?: NoticeQuery): AxiosPromise<NoticeVO[]> => {
|
||||
export const getNotificationList = (query): AxiosPromise<NotificationVo[]> => {
|
||||
return request({
|
||||
url: '/notification/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 消息通知 已读
|
||||
* @returns {*}
|
||||
* @param ids
|
||||
*/
|
||||
|
||||
export const ReadNotificationByID = (ids: string[]) => {
|
||||
return request({
|
||||
url: '/notification/read',
|
||||
method: 'POST',
|
||||
data: {
|
||||
id: ids
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -61,3 +61,61 @@ export const delParkingCost = (id: string | number | Array<string | number>) =>
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
export type Request = {
|
||||
/**
|
||||
* 区域id
|
||||
*/
|
||||
areaId?: string;
|
||||
/**
|
||||
* 0 审核中 1 审核通过 2 审核不通过
|
||||
*/
|
||||
checkStatus?: string;
|
||||
/**
|
||||
* 添加者姓名,sys_user nickname
|
||||
*/
|
||||
createName?: string;
|
||||
/**
|
||||
* id车位管理表
|
||||
*/
|
||||
id?: string;
|
||||
/**
|
||||
* 车位面积(单位㎡)
|
||||
*/
|
||||
parkingArea?: number;
|
||||
/**
|
||||
* 车位编号
|
||||
*/
|
||||
parkingCode?: string;
|
||||
/**
|
||||
* 车位楼层
|
||||
*/
|
||||
parkingFloor?: string;
|
||||
/**
|
||||
* 车位状态 0 闲置 1自用 2出租
|
||||
*/
|
||||
parkingStatus?: string;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
/**
|
||||
* 住户id
|
||||
*/
|
||||
residentId?: string;
|
||||
/**
|
||||
* 所属小区id
|
||||
*/
|
||||
villageId?: string;
|
||||
};
|
||||
/**
|
||||
* 查询停车缴费 车位列表
|
||||
* @param {Request} queryParams
|
||||
*/
|
||||
export const getParkingCostCarAreaApi = (queryParams: Request) => {
|
||||
return request({
|
||||
url: '/parkingCost/parkingList',
|
||||
method: 'get',
|
||||
params: queryParams
|
||||
});
|
||||
};
|
||||
|
||||
159
src/api/system/Payment/index.ts
Normal file
159
src/api/system/Payment/index.ts
Normal file
@@ -0,0 +1,159 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 获取缴费方式,种类占比
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export type IncomeStatsResponse = {
|
||||
'totalDue': string;
|
||||
'totalPaid': string;
|
||||
'totalUnpaid': string;
|
||||
'paidPercentage': string;
|
||||
'payWx': number;
|
||||
'payZfb': number;
|
||||
'payOffline': number;
|
||||
'totalPay': number;
|
||||
'feeTypeStats': feeTypeStats[];
|
||||
'dailyStats': {
|
||||
'statDate': string;
|
||||
'totalDue': string;
|
||||
'totalPaid': string;
|
||||
'totalUnpaid': string;
|
||||
}[];
|
||||
};
|
||||
export type feeTypeStats = {
|
||||
'feeType': number;
|
||||
'feeName': string;
|
||||
'totalDue': string;
|
||||
'totalPaid': string;
|
||||
'totalUnpaid': string;
|
||||
'paidPercentage': string;
|
||||
};
|
||||
export const income_statsApi = (datetime?: string): AxiosPromise<IncomeStatsResponse> => {
|
||||
return request({
|
||||
url: '/api/analysis/income/stats',
|
||||
method: 'get',
|
||||
params: {
|
||||
startDate: datetime
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export interface sourceType {
|
||||
'totalPayable': string;
|
||||
'totalReceived': string;
|
||||
'totalPending': string;
|
||||
'parkingFee': string;
|
||||
'parkingFeePercent': string;
|
||||
'propertyFee': string;
|
||||
'propertyFeePercent': string;
|
||||
'utilityFee': string;
|
||||
'utilityFeePercent': string;
|
||||
'shopRent': string;
|
||||
'shopRentPercent': string;
|
||||
'repairFee': string;
|
||||
'repairFeePercent': string;
|
||||
'garbageFee': string;
|
||||
'garbageFeePercent': string;
|
||||
}
|
||||
// 收入来源
|
||||
export const income_scourcApi = (datetime?: string): AxiosPromise<sourceType> => {
|
||||
return request({
|
||||
url: '/api/analysis/income/source',
|
||||
method: 'get',
|
||||
params: {
|
||||
date: datetime
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export interface PayMentMethod {
|
||||
'wechatAmount': string;
|
||||
'wechatPercent': string;
|
||||
'alipayAmount': string;
|
||||
'alipayPercent': string;
|
||||
'yidangAmount': string;
|
||||
'yidangPercent': string;
|
||||
'cashAmount': string;
|
||||
'cashPercent': string;
|
||||
'unionPayAmount': string;
|
||||
'unionPayPercent': string;
|
||||
'transferAmount': string;
|
||||
'transferPercent': string;
|
||||
'depositOffsetAmount': string;
|
||||
'depositOffsetAmountPercent': string;
|
||||
'propertyOffsetAmount': string;
|
||||
'propertyOffsetAmountPercent': string;
|
||||
}
|
||||
// 缴费方式
|
||||
export const payment_methodApi = (datetime?: string): AxiosPromise<PayMentMethod> => {
|
||||
return request({
|
||||
url: '/api/analysis/income/payment_method',
|
||||
method: 'get',
|
||||
params: {
|
||||
date: datetime
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export interface Arrears_distrubution {
|
||||
month: number;
|
||||
amount: string;
|
||||
}
|
||||
// 欠费分布
|
||||
export const arrears_distributionApi = (
|
||||
datetime?: string
|
||||
): AxiosPromise<{
|
||||
items: Arrears_distrubution[];
|
||||
}> => {
|
||||
return request({
|
||||
url: '/api/analysis/income/arrears_distribution',
|
||||
method: 'get',
|
||||
params: {
|
||||
date: datetime
|
||||
}
|
||||
});
|
||||
};
|
||||
export interface payment_sourceType {
|
||||
'miniProgramAmount': string;
|
||||
'miniProgramPercent': string;
|
||||
'mobileAppAmount': string;
|
||||
'mobileAppPercent': string;
|
||||
'offlineAmount': string;
|
||||
'offlinePercent': string;
|
||||
}
|
||||
// 缴费来源分析
|
||||
export const payment_sourceApi = (datetime?: string): AxiosPromise<payment_sourceType> => {
|
||||
return request({
|
||||
url: '/api/analysis/income/payment_source',
|
||||
method: 'get',
|
||||
params: {
|
||||
date: datetime
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export interface payment_trendType {
|
||||
'date': string;
|
||||
'paidAmount': string;
|
||||
'unpaidAmount': string;
|
||||
}
|
||||
|
||||
// 缴费走势分析
|
||||
export const payment_trendApi = (
|
||||
startDate?: string,
|
||||
endDate?: string
|
||||
): AxiosPromise<{
|
||||
items: payment_trendType[];
|
||||
}> => {
|
||||
return request({
|
||||
url: '/api/analysis/income/payment_trend',
|
||||
method: 'get',
|
||||
params: {
|
||||
startDate,
|
||||
endDate
|
||||
}
|
||||
});
|
||||
};
|
||||
111
src/api/system/Personnel/index.ts
Normal file
111
src/api/system/Personnel/index.ts
Normal file
@@ -0,0 +1,111 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 查询入住情况
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const user_movein_list = (query?: {
|
||||
dateTime: string;
|
||||
}): AxiosPromise<{
|
||||
'villageId': string;
|
||||
'villageName': string;
|
||||
'totalHouse': number;
|
||||
'occupiedHouse': number;
|
||||
'occupancyRate': string;
|
||||
'occupancyCount': number;
|
||||
}> => {
|
||||
return request({
|
||||
url: '/api/analysis/occupancy/stats',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询居住人类型列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const get_movein_user_type = (query?: {
|
||||
dateTime: string;
|
||||
}): Promise<{
|
||||
'owner': string;
|
||||
'ownerRate': string;
|
||||
'tenant': string;
|
||||
'tenantRate': string;
|
||||
'relatives': string;
|
||||
'relativeRate': string;
|
||||
'otherType': string;
|
||||
'otherRate': string;
|
||||
'totalResident': string;
|
||||
}> => {
|
||||
return request({
|
||||
url: '/residentType/selectTotal',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 查询住户性别比例
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const get_movein_user_sex = (query?: {
|
||||
dateTime: string;
|
||||
}): Promise<{
|
||||
'man': number;
|
||||
'woman': number;
|
||||
'total': number;
|
||||
'manRate': string;
|
||||
'womanRate': string;
|
||||
}> => {
|
||||
return request({
|
||||
url: '/gender/overview',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 获取迁入迁出趋势图
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const get_movein_moveout_list = (query?: {
|
||||
date: string;
|
||||
}): AxiosPromise<
|
||||
{
|
||||
'date': string;
|
||||
'moveInCount': number;
|
||||
'moveOutCount': number;
|
||||
'totalCount': number;
|
||||
}[]
|
||||
> => {
|
||||
return request({
|
||||
url: '/api/analysis/resident/moveInOutStats',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
export const get_person_age = (query?: {
|
||||
dateTime: string;
|
||||
}): AxiosPromise<
|
||||
{
|
||||
'date': string;
|
||||
'moveInCount': number;
|
||||
'moveOutCount': number;
|
||||
'totalCount': number;
|
||||
}[]
|
||||
> => {
|
||||
return request({
|
||||
url: '/gender/personAge',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
@@ -53,11 +53,47 @@ export const updateQuestionnaire = (data: QuestionnaireForm) => {
|
||||
|
||||
/**
|
||||
* 删除问卷调查
|
||||
* @param id
|
||||
* @param ids
|
||||
* @param vailid
|
||||
* @param ids
|
||||
* @param vailid
|
||||
*/
|
||||
export const delQuestionnaire = (id: string | number | Array<string | number>) => {
|
||||
export const delQuestionnaire = (ids: string | string[], vailid: boolean = true) => {
|
||||
return request({
|
||||
url: '/questionnaire/' + id,
|
||||
method: 'delete'
|
||||
url: '/questionnaire/' + ids + '?isValid=' + vailid,
|
||||
method: 'delete',
|
||||
headers: {
|
||||
silentError: 'true'
|
||||
}
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 查询问卷调查回答列表
|
||||
*/
|
||||
export const getQuestionnaireAnswer = (
|
||||
{
|
||||
pageSize,
|
||||
pageNum,
|
||||
questionnaireId
|
||||
}
|
||||
) => {
|
||||
return request({
|
||||
url: '/questionnaireAnswer/list',
|
||||
method: 'GET',
|
||||
params: {
|
||||
pageSize,
|
||||
pageNum,
|
||||
questionnaireId,
|
||||
answerStatus: '1'
|
||||
}
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 查询问卷调查回答详情
|
||||
*/
|
||||
export const getQuestionnaireAnswerMain = (id: string) => {
|
||||
return request({
|
||||
url: '/questionnaireAnswer/' + id,
|
||||
method: 'GET'
|
||||
});
|
||||
};
|
||||
|
||||
@@ -51,7 +51,7 @@ export interface QuestionnaireForm extends BaseEntity {
|
||||
/**
|
||||
* 问卷ID
|
||||
*/
|
||||
id?: string | number;
|
||||
id?: string;
|
||||
|
||||
/**
|
||||
* 所属小区id
|
||||
@@ -154,11 +154,12 @@ export interface QuestionComponentItem {
|
||||
type: string;
|
||||
title: string;
|
||||
required: boolean;
|
||||
|
||||
options: QuestionComponentOption[];
|
||||
}
|
||||
|
||||
export interface QuestionComponentnaireForm {
|
||||
id?: string | number | null;
|
||||
id?: string;
|
||||
title: string;
|
||||
description?: string;
|
||||
content: QuestionComponentItem[];
|
||||
|
||||
@@ -1,65 +1,32 @@
|
||||
export interface RepairVO {
|
||||
/**
|
||||
* 报修管理表id
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 关联房屋id
|
||||
*/
|
||||
houseId: string | number;
|
||||
|
||||
/**
|
||||
* 维修项目id
|
||||
*/
|
||||
maintenanceItemId: string | number;
|
||||
|
||||
/**
|
||||
* 问题描述
|
||||
*/
|
||||
problem: string;
|
||||
|
||||
/**
|
||||
* 报修人id(住户表id)
|
||||
*/
|
||||
residentId: string | number;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
phone: number;
|
||||
|
||||
/**
|
||||
* 预约日期
|
||||
*/
|
||||
orderDate: string;
|
||||
|
||||
/**
|
||||
* 问题图片地址
|
||||
*/
|
||||
problemImageUrl: string;
|
||||
|
||||
/**
|
||||
* 0 已提交 1已分配 2维修中 3维修完成
|
||||
*/
|
||||
problemStatus: string;
|
||||
|
||||
/**
|
||||
* 维修描述
|
||||
*/
|
||||
repairDes: string;
|
||||
|
||||
/**
|
||||
* 维修图片url
|
||||
*/
|
||||
repairImageUrl: string;
|
||||
|
||||
/**
|
||||
* 维修人员id
|
||||
*/
|
||||
repairId: string;
|
||||
/** 名称(小区名-楼栋名-单元号-房间号) */
|
||||
name?: string;
|
||||
'id': string;
|
||||
'houseId': string;
|
||||
'maintenanceItemId': number;
|
||||
'maintenanceItemName': number;
|
||||
'problem': string;
|
||||
'residentId': string;
|
||||
'residentName': string;
|
||||
'phone': string;
|
||||
'orderDate': string;
|
||||
'problemImageUrl': string;
|
||||
'problemStatus': string;
|
||||
'repairDes': string;
|
||||
'repairImageUrl': string;
|
||||
'repairId': string;
|
||||
'repairName': string;
|
||||
'houseName': string;
|
||||
'item': string;
|
||||
'projectType': number;
|
||||
'updateTime': string;
|
||||
'projectTypeStr': string;
|
||||
'repairIsCheck': string;
|
||||
'manageIsCheck': string;
|
||||
'isCheckStr': number;
|
||||
'repairPhone': number;
|
||||
'repairRoleName': number;
|
||||
'repairStatus': string;
|
||||
repairUserId: string;
|
||||
'createTime': string;
|
||||
}
|
||||
|
||||
export interface RepairForm extends BaseEntity {
|
||||
@@ -86,12 +53,12 @@ export interface RepairForm extends BaseEntity {
|
||||
/**
|
||||
* 报修人id(住户表id)
|
||||
*/
|
||||
residentId?: string | number;
|
||||
residentId?: string;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
phone?: number;
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 预约日期
|
||||
@@ -163,12 +130,12 @@ export interface RepairQuery extends PageQuery {
|
||||
/**
|
||||
* 报修人id(住户表id)
|
||||
*/
|
||||
residentId?: string | number;
|
||||
residentId?: string;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
phone?: number;
|
||||
phone?: string;
|
||||
|
||||
/**
|
||||
* 预约日期
|
||||
|
||||
@@ -23,7 +23,7 @@ export interface RepairProjectVO {
|
||||
* 项目层级 0,1
|
||||
*/
|
||||
projectLevel: number;
|
||||
children?: [];
|
||||
children?: RepairProjectVO[];
|
||||
/**
|
||||
* 排序 (数越小越靠前)
|
||||
*/
|
||||
@@ -33,6 +33,9 @@ export interface RepairProjectVO {
|
||||
* 状态 0启用 1停用
|
||||
*/
|
||||
status: string;
|
||||
|
||||
disabled?: boolean;
|
||||
// children?: RepairProjectVO[];
|
||||
}
|
||||
|
||||
export interface RepairProjectForm extends BaseEntity {
|
||||
@@ -70,26 +73,6 @@ export interface RepairProjectForm extends BaseEntity {
|
||||
* 状态 0启用 1停用
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
cretaeTime?: string;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
createBy?: number;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
updateTime?: string;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
updateBy?: number;
|
||||
}
|
||||
|
||||
export interface RepairProjectQuery extends PageQuery {
|
||||
@@ -122,9 +105,4 @@ export interface RepairProjectQuery extends PageQuery {
|
||||
* 状态 0启用 1停用
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
@@ -93,11 +93,12 @@ export type BillUserlist = {
|
||||
'houseNo': string;
|
||||
'residentId': string;
|
||||
'buildingId': string;
|
||||
'parkingId': string;
|
||||
};
|
||||
/**
|
||||
* 查询业主列表
|
||||
* @param data
|
||||
* @returns {*}
|
||||
* @param query
|
||||
* @param query
|
||||
*/
|
||||
export const queryResidentList_holder = (query: { pageNum: number; pageSize: number }): AxiosPromise<BillUserlist[]> => {
|
||||
return request({
|
||||
@@ -106,3 +107,26 @@ export const queryResidentList_holder = (query: { pageNum: number; pageSize: num
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询车位业主列表
|
||||
* @param query
|
||||
* @param query
|
||||
*/
|
||||
export const queryResidentList_Cars = (query: { pageNum: number; pageSize: number }): AxiosPromise<BillUserlist[]> => {
|
||||
return request({
|
||||
url: '/bill/getParkingList',
|
||||
method: 'GET',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 生成账单
|
||||
*/
|
||||
export const manualGenerateApi = (data: { billId: string; chargePeriod: string; yearMonths?: string[]; year?: string[] }) => {
|
||||
return request({
|
||||
url: '/bill/manualGenerate',
|
||||
method: 'POST',
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
@@ -3,6 +3,7 @@ export interface BillVO {
|
||||
* 账单管理表id
|
||||
*/
|
||||
id: string;
|
||||
billName: string;
|
||||
|
||||
/**
|
||||
* 账单编号
|
||||
@@ -13,14 +14,19 @@ export interface BillVO {
|
||||
* 收费项目id
|
||||
*/
|
||||
chargeItemId: string;
|
||||
residentIds: string[];
|
||||
|
||||
/**
|
||||
* 收费范围 0全体业主 1部分业主
|
||||
*/
|
||||
chargeScope: string;
|
||||
/**
|
||||
* 按季度收费时,指定季度起始年月列表,格式 "yyyy-MM",如 ["2026-01", "2026-04", "2026-07"]
|
||||
*/
|
||||
periodCalcType: string;
|
||||
|
||||
/**
|
||||
* 收费周期 0年 1月 2日
|
||||
* 收费周期 0年 1月 2日 3 季度 4永久;为空时取账单配置
|
||||
*/
|
||||
chargePeriod: string;
|
||||
|
||||
@@ -48,6 +54,8 @@ export interface BillVO {
|
||||
* 创建时间
|
||||
*/
|
||||
cerateTime: string;
|
||||
|
||||
parkingIds: string[];
|
||||
}
|
||||
|
||||
export interface BillForm extends BaseEntity {
|
||||
@@ -103,7 +111,7 @@ export interface BillForm extends BaseEntity {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
cerateTime?: string;
|
||||
createTime?: string;
|
||||
}
|
||||
|
||||
export interface BillQuery extends PageQuery {
|
||||
|
||||
@@ -10,10 +10,10 @@ export type cashlist = {
|
||||
|
||||
/**
|
||||
* 查询住户列表
|
||||
* @param post
|
||||
* @returns {*}
|
||||
* @param data
|
||||
*/
|
||||
export const cashQuery = (data: { residentName?: string }): AxiosPromise<cashlist[]> => {
|
||||
export const cashQuery = (data: { residentName?: string; queryType: number }): AxiosPromise<cashlist[]> => {
|
||||
return request({
|
||||
url: '/cash/residentList',
|
||||
method: 'post',
|
||||
@@ -22,9 +22,13 @@ export const cashQuery = (data: { residentName?: string }): AxiosPromise<cashlis
|
||||
};
|
||||
|
||||
export type billlistType = {
|
||||
needPayAmount: string; // 需要支付金额
|
||||
actualAccount: string; // 实际支付金额
|
||||
singleDiscountAmount: string; // 单笔优惠金额
|
||||
'villageId': string;
|
||||
'residentId': string;
|
||||
'houseId': string;
|
||||
'detailsId': string;
|
||||
'houseName': string;
|
||||
'parkingId': string;
|
||||
'parkingName': string;
|
||||
@@ -38,11 +42,15 @@ export type billlistType = {
|
||||
'endDate': string;
|
||||
'money': string;
|
||||
'payStatus': string;
|
||||
'remark': string;
|
||||
amount: string;
|
||||
residentName: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询账单列表
|
||||
* @param post
|
||||
* @returns {*}
|
||||
* @param data
|
||||
*/
|
||||
export const billQuery = (data: { residentId?: string; payStatus: '0' | '1' }): AxiosPromise<billlistType[]> => {
|
||||
return request({
|
||||
@@ -51,3 +59,72 @@ export const billQuery = (data: { residentId?: string; payStatus: '0' | '1' }):
|
||||
data: data
|
||||
});
|
||||
};
|
||||
export const billEdit = (data: { 'detailsId': string[]; 'payType': string; 'payStatus': string }): AxiosPromise<billlistType[]> => {
|
||||
return request({
|
||||
url: '/cash/billEdit',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 打印票据
|
||||
export const billPrint = (data: { 'detailsIds': string[]; 'residentId': string }): AxiosPromise<BillPrintType> => {
|
||||
return request({
|
||||
url: '/cash/print',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
// 查询所有账单总金额
|
||||
export const getAllAccount = (
|
||||
data = {}
|
||||
): AxiosPromise<{
|
||||
/** 总金额 */
|
||||
'receivableAmount': string;
|
||||
/** 总实收金额 */
|
||||
'receivedAmount': string;
|
||||
/** 总优惠金额 */
|
||||
'discountAmount': string;
|
||||
/** 未收金额 */
|
||||
'unpaidAmount': string;
|
||||
}> => {
|
||||
return request({
|
||||
url: '/cash/billAmountSummary',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
// 删除账单
|
||||
export const billDelete = (ids: string | string[]) => {
|
||||
return request({
|
||||
url: `/cash/bill/${ids}`,
|
||||
method: 'DELETE'
|
||||
});
|
||||
};
|
||||
|
||||
export type BillPrintType = {
|
||||
'totalAccount': string;
|
||||
'residentName': string;
|
||||
'payTypeSummary': {
|
||||
'payType': string;
|
||||
'payAmount': string;
|
||||
}[];
|
||||
'detailsList': {
|
||||
'detailsId': string;
|
||||
'chargeItemName': string;
|
||||
'billName': string;
|
||||
'detailsTime': string;
|
||||
'useCount': string;
|
||||
'account': string;
|
||||
'payType': string;
|
||||
'singleDiscountAmount': string;
|
||||
'actualAccount': string;
|
||||
'remark': string;
|
||||
}[];
|
||||
'printDate': string;
|
||||
totalDiscountAmount: string;
|
||||
totalActualAccount: string;
|
||||
'HouseName': string;
|
||||
'title': string;
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@ import { ChargeItemVO, ChargeItemForm, ChargeItemQuery } from './type';
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listChargeItem = (query?: ChargeItemQuery): AxiosPromise<ChargeItemVO[]> => {
|
||||
export const listChargeItem = (query?: ChargeItemQuery | {}): AxiosPromise<ChargeItemVO[]> => {
|
||||
return request({
|
||||
url: '/chargeItem/list',
|
||||
method: 'get',
|
||||
@@ -64,7 +64,7 @@ export const delChargeItem = (id: string | number | Array<string | number>) => {
|
||||
|
||||
/**
|
||||
* 启停 收费项目
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export const changChargeItem = (data: { id: string; status: string }) => {
|
||||
return request({
|
||||
|
||||
@@ -12,9 +12,10 @@ export interface ChargeItemVO {
|
||||
* 收费类型
|
||||
*/
|
||||
typeId: string;
|
||||
itemName: string;
|
||||
|
||||
/**
|
||||
* 计费方式 0单次收费 1周期收费 2仪表收费
|
||||
* 计费方式 0单次收费 1 周期收费 2 仪表收费
|
||||
*/
|
||||
billingMethod: string;
|
||||
|
||||
@@ -52,6 +53,10 @@ export interface ChargeItemVO {
|
||||
* 小区id
|
||||
*/
|
||||
villageId: string;
|
||||
/**
|
||||
* 状态 0正常 1停用
|
||||
*/
|
||||
status: string;
|
||||
}
|
||||
|
||||
export interface ChargeItemForm extends BaseEntity {
|
||||
|
||||
@@ -64,7 +64,7 @@ export const delElectricityDevice = (id: string | number | Array<string | number
|
||||
|
||||
/**
|
||||
* 生成条形码
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export const ElectricityDeviceMakerQrcode = (data: { deviceCode: string; id: string }[]) => {
|
||||
return request({
|
||||
@@ -76,7 +76,7 @@ export const ElectricityDeviceMakerQrcode = (data: { deviceCode: string; id: str
|
||||
|
||||
/**
|
||||
* 获取设备指定时间段的用电量
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export const getElectricityDeviceTimeRangeUsedWater = (data: { deviceCode: string; 'startTime': string; 'endTime': string }) => {
|
||||
return request({
|
||||
@@ -85,3 +85,14 @@ export const getElectricityDeviceTimeRangeUsedWater = (data: { deviceCode: strin
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 电表解绑房屋
|
||||
* @param { string } deviceCode
|
||||
*/
|
||||
export const ElectricityDeviceUnbind = (deviceCode: string) => {
|
||||
return request({
|
||||
url: `/electricityDevice/unbind/${deviceCode}`,
|
||||
method: 'PUT'
|
||||
});
|
||||
};
|
||||
|
||||
@@ -61,3 +61,45 @@ export const delTopupRecord = (id: string | number | Array<string | number>) =>
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
export type TopupRecordList = {
|
||||
'id': string;
|
||||
'rechargeTime': string;
|
||||
'villageName': string;
|
||||
'residentName': string;
|
||||
'houseName': string;
|
||||
'fixedPriceUnit': string;
|
||||
'fixedPrice': string;
|
||||
'unit': string;
|
||||
'deviceCode': string;
|
||||
'orderId': string;
|
||||
'rechargeAmount': string;
|
||||
'topUpType': string;
|
||||
};
|
||||
/** 查询所有设备充值记录 */
|
||||
export const getTopupRecordByDate = (query: {
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
pageSize: number;
|
||||
pageNum: number;
|
||||
}): AxiosPromise<TopupRecordList[]> => {
|
||||
return request({
|
||||
url: '/topupRecord/water/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/** 查询所有电表充值记录 */
|
||||
export const getElectricityTopupRecordByDate = (query: {
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
pageSize: number;
|
||||
pageNum: number;
|
||||
}): AxiosPromise<TopupRecordList[]> => {
|
||||
return request({
|
||||
url: '/topupRecord/electricity/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
@@ -64,7 +64,7 @@ export const delWaterDevice = (id: string | number | Array<string | number>) =>
|
||||
|
||||
/**
|
||||
* 获取设备指定时间段的用水量
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export const getWaterDeviceTimeRangeUsedWater = (data: { deviceCode: string; 'startTime': string; 'endTime': string }) => {
|
||||
return request({
|
||||
@@ -76,7 +76,7 @@ export const getWaterDeviceTimeRangeUsedWater = (data: { deviceCode: string; 'st
|
||||
|
||||
/**
|
||||
* 生成条形码
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export const WaterDeviceMakerQrcode = (data: { deviceCode: string; id: string }[]) => {
|
||||
return request({
|
||||
@@ -87,7 +87,7 @@ export const WaterDeviceMakerQrcode = (data: { deviceCode: string; id: string }[
|
||||
};
|
||||
/**
|
||||
* 更新固件
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export const WaterDeviceUpdateBin = (data: { deviceCodes: string[]; urlA: string; urlB: string }) => {
|
||||
return request({
|
||||
@@ -107,3 +107,14 @@ export const latestRecord = (deviceCodes: string) => {
|
||||
method: 'GET'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 解绑设备绑定的房屋
|
||||
* @param deviceCode
|
||||
*/
|
||||
export const waterDeviceUnbind = (deviceCode: string) => {
|
||||
return request({
|
||||
url: `/waterDevice/unbind/${deviceCode}`,
|
||||
method: 'PUT'
|
||||
});
|
||||
};
|
||||
|
||||
@@ -17,8 +17,8 @@ export const listStock = (query?: any): AxiosPromise<any[]> => {
|
||||
|
||||
/**
|
||||
* 查询 库存查询 详情
|
||||
* @param query
|
||||
* @returns {*}
|
||||
* @param id
|
||||
*/
|
||||
|
||||
export const listStockMain = (id?: string): AxiosPromise<any[]> => {
|
||||
|
||||
@@ -8,7 +8,7 @@ import { SupplierVO, SupplierForm, SupplierQuery } from './type';
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listSupplier = (query?: SupplierQuery): AxiosPromise<SupplierVO[]> => {
|
||||
export const listSupplier = (query: SupplierQuery | {} = {}): AxiosPromise<SupplierVO[]> => {
|
||||
return request({
|
||||
url: '/warehouse/supplier/list',
|
||||
method: 'get',
|
||||
|
||||
@@ -88,11 +88,6 @@ export interface WarehouseQuery extends PageQuery {
|
||||
*/
|
||||
warehouseName?: string;
|
||||
|
||||
/**
|
||||
* 仓库归属id*(关联com_village)
|
||||
*/
|
||||
villageId?: string;
|
||||
|
||||
/**
|
||||
* 联系人*
|
||||
*/
|
||||
|
||||
@@ -8,7 +8,7 @@ import { AreaVO, AreaForm, AreaQuery } from '@/api/system/carArea/type';
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listArea = (query?: AreaQuery): AxiosPromise<AreaVO[]> => {
|
||||
export const listArea = (query: AreaQuery | {} = {}): AxiosPromise<AreaVO[]> => {
|
||||
return request({
|
||||
url: '/area/list',
|
||||
method: 'get',
|
||||
|
||||
@@ -64,12 +64,28 @@ export const delCar = (id: string | number | Array<string | number>) => {
|
||||
|
||||
/**
|
||||
* 删除车辆图片
|
||||
* @param id
|
||||
* @param format
|
||||
*/
|
||||
export const uploadCar = (formdata: FormData) => {
|
||||
export const uploadCar = (format: FormData) => {
|
||||
return request({
|
||||
url: '/car/uploadImage',
|
||||
method: 'POST',
|
||||
data: formdata
|
||||
data: format
|
||||
});
|
||||
};
|
||||
|
||||
export interface AppUserList {
|
||||
'user_id': string;
|
||||
'user_name': string;
|
||||
'user_phone': string;
|
||||
}
|
||||
/**
|
||||
* 获取用户端app-用户
|
||||
* */
|
||||
export const getAppUser = (data): AxiosPromise<AppUserList[]> => {
|
||||
return request({
|
||||
url: '/car/getAppUserList',
|
||||
method: 'GET',
|
||||
params: data
|
||||
});
|
||||
};
|
||||
|
||||
@@ -2,17 +2,17 @@ export interface CarVO {
|
||||
/**
|
||||
* 车辆管理表id
|
||||
*/
|
||||
id: string | number;
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* 区域id
|
||||
*/
|
||||
areaId: string | number;
|
||||
areaId: string;
|
||||
|
||||
/**
|
||||
* 车位id
|
||||
*/
|
||||
parkingId: string | number;
|
||||
parkingId: string;
|
||||
|
||||
/**
|
||||
* 持有人id(住户表id)
|
||||
|
||||
@@ -4,9 +4,9 @@ export interface communitylist_rows_type {
|
||||
villageCode: string;
|
||||
address: string;
|
||||
houseUse: number | null;
|
||||
villageArea: number;
|
||||
villageArea: string;
|
||||
remark: string;
|
||||
parkingSpaceCount: number;
|
||||
parkingSpaceCount: string;
|
||||
villageImageUrl: string;
|
||||
city: string;
|
||||
status: '0' | '1';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { DeptForm, DeptQuery, DeptTreeVO, DeptVO } from './types';
|
||||
import { DeptForm, DeptQuery, DeptVO } from './types';
|
||||
|
||||
// 查询部门列表
|
||||
export const listDept = (query?: DeptQuery) => {
|
||||
|
||||
@@ -19,6 +19,7 @@ export interface DeviceVO {
|
||||
* 设备编号
|
||||
*/
|
||||
deviceCode: string;
|
||||
shelfLife: string;
|
||||
|
||||
/**
|
||||
* 设备型号
|
||||
|
||||
@@ -5,18 +5,19 @@ import { addBuildingType, addHouseType, BuildingUnit, BuildingVo } from './type'
|
||||
// 楼栋---------------------------------------------------------------------------------------
|
||||
|
||||
/** 根据 小区id 和 类型 查询楼栋信息 */
|
||||
export function getBuildinglistAPI(): AxiosPromise<BuildingVo[]> {
|
||||
export function getBuildinglistAPI(query = {}): AxiosPromise<BuildingVo[]> {
|
||||
return request({
|
||||
url: '/building/byVillage',
|
||||
method: 'get',
|
||||
params: {}
|
||||
params: query
|
||||
});
|
||||
}
|
||||
/** 获取所有楼栋 */
|
||||
export function getBuildinglists(): AxiosPromise<BuildingVo[]> {
|
||||
export function getBuildinglists(query = {}): AxiosPromise<BuildingVo[]> {
|
||||
return request({
|
||||
url: '/building/list',
|
||||
method: 'get'
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
}
|
||||
/** 获取单一楼栋 */
|
||||
@@ -117,7 +118,7 @@ export interface Data {
|
||||
billResidentList: BillResidentList[];
|
||||
chargeItemList: string[];
|
||||
house: House;
|
||||
parking: Parking;
|
||||
parkingList: Parking[];
|
||||
residentList: ResidentList[];
|
||||
storeroom: Storeroom;
|
||||
}
|
||||
@@ -162,7 +163,11 @@ export interface Storeroom {
|
||||
shareArea: string;
|
||||
storeroomId: number;
|
||||
storeroomNo: string;
|
||||
remark: string;
|
||||
unitNoId: string;
|
||||
unitNo: number;
|
||||
|
||||
unitNoName: string;
|
||||
}
|
||||
|
||||
export interface Parking {
|
||||
|
||||
@@ -90,5 +90,6 @@ export interface addHouseType {
|
||||
'shareArea': string;
|
||||
'houseType': string;
|
||||
'storeroomId': string;
|
||||
'parkingId': string;
|
||||
'parkingId'?: string;
|
||||
'parkingIds': string[];
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { HouseRentalVO, HouseRentalForm, HouseRentalQuery } from '@/api/system/houseRental/type';
|
||||
import { HouseRentalVO, HouseRentalForm, HouseRentalQuery, HouseRentalSigningVO } from '@/api/system/houseRental/type';
|
||||
|
||||
/**
|
||||
* 查询房屋租赁管理列表
|
||||
@@ -74,10 +74,52 @@ interface uploadHouseImagetype {
|
||||
}[];
|
||||
'error': string[];
|
||||
}
|
||||
export const uploadHouseImage = (formdata: FormData): AxiosPromise<uploadHouseImagetype> => {
|
||||
export const uploadHouseImage = (formData: FormData): AxiosPromise<uploadHouseImagetype> => {
|
||||
return request({
|
||||
url: '/houseRental/uploadImages',
|
||||
method: 'POST',
|
||||
data: formdata
|
||||
data: formData
|
||||
});
|
||||
};
|
||||
export const getHouseOwnUser = (houseId: string): AxiosPromise<uploadHouseImagetype> => {
|
||||
return request({
|
||||
url: `/houseRental/ownerName/${houseId}`,
|
||||
method: 'GET'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 房屋租赁管理 改变状态 0:下架 1:上架
|
||||
* @param houseId
|
||||
* */
|
||||
export const changeHouseRedientStatus = (houseId: string): AxiosPromise<uploadHouseImagetype> => {
|
||||
return request({
|
||||
url: `/houseRental/changeStatus/${houseId}`,
|
||||
method: 'PUT'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 房屋租赁管理 签约
|
||||
* @param data
|
||||
*/
|
||||
export const HouseRedientSign = (data: HouseRentalSigningVO): AxiosPromise<uploadHouseImagetype> => {
|
||||
return request({
|
||||
url: `/houseRental/sign`,
|
||||
method: 'POST',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 房屋租赁管理 签约上传
|
||||
* @param url
|
||||
* @param data
|
||||
*/
|
||||
export const HouseRedientSignUpload = (url: string, data: FormData) => {
|
||||
return request({
|
||||
url: url,
|
||||
method: 'POST',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
@@ -2,7 +2,7 @@ export interface HouseRentalVO {
|
||||
/**
|
||||
* id 房屋租赁表id
|
||||
*/
|
||||
id: string | number;
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* 租户姓名
|
||||
@@ -57,7 +57,7 @@ export interface HouseRentalVO {
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
phone: number;
|
||||
phone: string;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
@@ -72,7 +72,7 @@ export interface HouseRentalVO {
|
||||
/**
|
||||
* 房屋id
|
||||
*/
|
||||
houseId: number;
|
||||
houseId: string;
|
||||
/**
|
||||
* 房屋用途
|
||||
*/
|
||||
@@ -88,83 +88,53 @@ export interface HouseRentalVO {
|
||||
pubTime: string;
|
||||
houseImageUrls: string[];
|
||||
facilitieslist: string[];
|
||||
signingList?: HouseRentalSigningVO[];
|
||||
}
|
||||
|
||||
export interface HouseRentalForm extends BaseEntity {
|
||||
id: string;
|
||||
houseId: string;
|
||||
rentalName: string; // 租户姓名
|
||||
rent: string; // 租金
|
||||
houseFace: string; // 房屋朝向
|
||||
rentalType: string; // 整租合租
|
||||
phone: string; //手机号
|
||||
houseArea: number; // 房屋面积
|
||||
floorNo: number; //楼层号
|
||||
inTime: string; //入住时间
|
||||
facilities: string; //房屋设施
|
||||
houseImageUrl: string; //房屋图片
|
||||
supInfo: string; //补充租房信息
|
||||
vx: string; //微信
|
||||
houseUse?: string; //房屋用途
|
||||
rentalStatus: number; //租赁状态
|
||||
buildingId: string; //楼栋id
|
||||
unitNoId: string; //单元id
|
||||
email: string; //邮箱
|
||||
/**
|
||||
* id 房屋租赁表id
|
||||
* 小区id
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 租户姓名
|
||||
*/
|
||||
rentalName?: string;
|
||||
|
||||
/**
|
||||
* 租金 单位元
|
||||
*/
|
||||
rent?: number;
|
||||
|
||||
/**
|
||||
* 0 整租 1 合租
|
||||
*/
|
||||
rentalType?: string;
|
||||
|
||||
/**
|
||||
* 房屋朝向
|
||||
*/
|
||||
houseFace?: string;
|
||||
|
||||
/**
|
||||
* 房屋面积
|
||||
*/
|
||||
houseArea?: number;
|
||||
|
||||
/**
|
||||
* 楼层号
|
||||
*/
|
||||
floorNo?: number;
|
||||
|
||||
/**
|
||||
* 入住时间
|
||||
*/
|
||||
inTime?: string;
|
||||
|
||||
/**
|
||||
* 房屋设施(“,”隔开)
|
||||
*/
|
||||
facilities?: string;
|
||||
|
||||
/**
|
||||
* 房屋照片url( "," 隔开)
|
||||
*/
|
||||
houseImageUrl?: string;
|
||||
|
||||
/**
|
||||
* 补充租房信息
|
||||
*/
|
||||
supInfo?: string;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
phone?: number;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
vx?: string;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
email?: string;
|
||||
|
||||
/**
|
||||
* 房屋id
|
||||
*/
|
||||
houseId?: string | number;
|
||||
villageId?: string;
|
||||
}
|
||||
export interface HouseRentalSigningVO {
|
||||
rentAmount: string | number;
|
||||
depositAmount: string | number;
|
||||
'id': string;
|
||||
'rentalId': string;
|
||||
'contractNo': string;
|
||||
'tenantName': string;
|
||||
'tenantPhone': string;
|
||||
'chargeMode': string;
|
||||
'chargeStandard': string;
|
||||
'contractName': string;
|
||||
'contractStatus': string;
|
||||
'leaseStartDate': string;
|
||||
'leaseEndDate': string;
|
||||
'houseId': string;
|
||||
contractUrl: string;
|
||||
'villageId': string;
|
||||
'remark': string;
|
||||
'createTime': string;
|
||||
}
|
||||
|
||||
export interface HouseRentalQuery extends PageQuery {
|
||||
|
||||
@@ -15,6 +15,13 @@ export const listHouseUseType = (query?: HouseUseTypeQuery): AxiosPromise<HouseU
|
||||
params: query
|
||||
});
|
||||
};
|
||||
export const listHouseUseType_add_house = (query?: HouseUseTypeQuery | {}): AxiosPromise<HouseUseTypeVO[]> => {
|
||||
return request({
|
||||
url: '/houseUseType/getList',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询房屋类型详细
|
||||
|
||||
@@ -12,7 +12,7 @@ export function listOss(query: OssQuery): AxiosPromise<OssVO[]> {
|
||||
}
|
||||
|
||||
// 查询OSS对象基于id串
|
||||
export function listByIds(ossId: string | number): AxiosPromise<OssVO[]> {
|
||||
export function listByIds(ossId: string): AxiosPromise<OssVO[]> {
|
||||
return request({
|
||||
url: '/resource/oss/listByIds/' + ossId,
|
||||
method: 'get'
|
||||
|
||||
@@ -63,7 +63,7 @@ export const delParking = (id: string | number | Array<string | number>) => {
|
||||
};
|
||||
/**
|
||||
* 改变车位审核装填
|
||||
* @param id
|
||||
* @param data
|
||||
*/
|
||||
export const getParkingReview = (data: { id: string; propertyReviewFeedback: string; propertyStatus: number }) => {
|
||||
return request({
|
||||
@@ -88,6 +88,7 @@ export const getParkingReviewInfo = (id: string) => {
|
||||
/**
|
||||
* 查询小区内车位列表
|
||||
* @param { string } villageid
|
||||
* @param houseId
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
@@ -101,3 +102,25 @@ export const GetVillageListParking = (villageid: string, houseId: string = undef
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询 车位持有人信息
|
||||
* @returns {*}
|
||||
* @param residentId
|
||||
*/
|
||||
export const getParkingResidentInfo = (
|
||||
residentId: string
|
||||
): AxiosPromise<{
|
||||
id: '';
|
||||
name: '';
|
||||
type: '';
|
||||
status: '';
|
||||
idCard: '';
|
||||
phone: '';
|
||||
houseName: '';
|
||||
}> => {
|
||||
return request({
|
||||
url: `/car/holder/${residentId}`,
|
||||
method: 'GET'
|
||||
});
|
||||
};
|
||||
|
||||
20
src/api/system/report/LeaseManagementDetails/index.ts
Normal file
20
src/api/system/report/LeaseManagementDetails/index.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import request from '@/utils/request';
|
||||
import {
|
||||
leaseManagementDetailChargeTypesResponse,
|
||||
leaseManagementDetailRequest,
|
||||
leaseManagementDetailResponse
|
||||
} from '@/api/system/report/LeaseManagementDetails/type';
|
||||
|
||||
export const getLeaseManagementDetailList = (data?: leaseManagementDetailRequest): Promise<leaseManagementDetailResponse> => {
|
||||
return request({
|
||||
url: '/leaseManagementDetail/list',
|
||||
method: 'POST',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
export const getLeaseManagementDetailChargeTypesList = (): Promise<leaseManagementDetailChargeTypesResponse> => {
|
||||
return request({
|
||||
url: '/leaseManagementDetail/chargeTypes',
|
||||
method: 'POST'
|
||||
});
|
||||
};
|
||||
203
src/api/system/report/LeaseManagementDetails/type.ts
Normal file
203
src/api/system/report/LeaseManagementDetails/type.ts
Normal file
@@ -0,0 +1,203 @@
|
||||
export type leaseManagementDetailRequest = {
|
||||
/**
|
||||
* 面积
|
||||
*/
|
||||
areaSize?: string;
|
||||
/**
|
||||
* 收费模式多选
|
||||
*/
|
||||
chargeModes?: string[];
|
||||
/**
|
||||
* 收费标准多选
|
||||
*/
|
||||
chargeStandards?: string[];
|
||||
/**
|
||||
* 按收费类型筛选应收/已收/未收金额区间
|
||||
*/
|
||||
chargeTypeFilters?: ChargeTypeFilter[];
|
||||
/**
|
||||
* 租赁起始日-开始
|
||||
*/
|
||||
leaseStartDateBegin?: string;
|
||||
/**
|
||||
* 租赁起始日-结束
|
||||
*/
|
||||
leaseStartDateEnd?: string;
|
||||
/**
|
||||
* 承租方
|
||||
*/
|
||||
lessee?: string;
|
||||
/**
|
||||
* 当前页码
|
||||
*/
|
||||
pageNum: number;
|
||||
/**
|
||||
* 每页条数
|
||||
*/
|
||||
pageSize: number;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
phone?: string;
|
||||
/**
|
||||
* 房号
|
||||
*/
|
||||
roomNumber?: string;
|
||||
/**
|
||||
* 小区多选
|
||||
*/
|
||||
villageIds?: number[];
|
||||
|
||||
leaseEndDateBegin?: string;
|
||||
leaseEndDateEnd?: string;
|
||||
};
|
||||
|
||||
export type ChargeTypeFilter = {
|
||||
/**
|
||||
* 收费类型名称
|
||||
*/
|
||||
chargeTypeName?: string;
|
||||
/**
|
||||
* 收费类型ID
|
||||
*/
|
||||
chargeTypeId?: string;
|
||||
/**
|
||||
* 应收上限
|
||||
*/
|
||||
receivableMax?: string;
|
||||
/**
|
||||
* 应收下限
|
||||
*/
|
||||
receivableMin?: string;
|
||||
/**
|
||||
* 已收上限
|
||||
*/
|
||||
receivedMax: string;
|
||||
/**
|
||||
* 已收下限
|
||||
*/
|
||||
receivedMin: string;
|
||||
/**
|
||||
* 未收上限
|
||||
*/
|
||||
uncollectedMax: string;
|
||||
/**
|
||||
* 未收下限
|
||||
*/
|
||||
uncollectedMin: string;
|
||||
};
|
||||
|
||||
export type leaseManagementDetailResponse = {
|
||||
/**
|
||||
* 收费类型
|
||||
*/
|
||||
chargeItems: ChargeItem[];
|
||||
code: number;
|
||||
msg: string;
|
||||
/**
|
||||
* 当前页明细行数据
|
||||
*/
|
||||
rows: Row[];
|
||||
/**
|
||||
* 总记录数
|
||||
*/
|
||||
total: number;
|
||||
};
|
||||
|
||||
export type ChargeItem = {
|
||||
/**
|
||||
* 收费类型ID
|
||||
*/
|
||||
chargeTypeId: string;
|
||||
/**
|
||||
* 收费类型名称
|
||||
*/
|
||||
chargeTypeName: string;
|
||||
};
|
||||
|
||||
export type Row = {
|
||||
/**
|
||||
* 小区名称
|
||||
*/
|
||||
area: string;
|
||||
/**
|
||||
* 面积(㎡)
|
||||
*/
|
||||
areaSize: string;
|
||||
/**
|
||||
* 小区ID
|
||||
*/
|
||||
buildingId: string;
|
||||
/**
|
||||
* 收费模式
|
||||
*/
|
||||
chargeMode: string;
|
||||
/**
|
||||
* 收费标准
|
||||
*/
|
||||
chargeStandard: string;
|
||||
/**
|
||||
* 房屋ID
|
||||
*/
|
||||
houseId: string;
|
||||
/**
|
||||
* 签约记录ID
|
||||
*/
|
||||
id: string;
|
||||
/**
|
||||
* 租赁终止日
|
||||
*/
|
||||
leaseEndDate: string;
|
||||
/**
|
||||
* 租赁起始日
|
||||
*/
|
||||
leaseStartDate: string;
|
||||
/**
|
||||
* 承租方
|
||||
*/
|
||||
lessee: string;
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
phone: string;
|
||||
/**
|
||||
* 各收费类型应收
|
||||
*/
|
||||
receivableAmounts: { [key: string]: any };
|
||||
/**
|
||||
* 各收费类型已收
|
||||
*/
|
||||
receivedAmounts: { [key: string]: any };
|
||||
/**
|
||||
* 房号
|
||||
*/
|
||||
roomNumber: string;
|
||||
/**
|
||||
* 各收费类型未收
|
||||
*/
|
||||
uncollectedAmounts: { [key: string]: any };
|
||||
[property: string]: any;
|
||||
};
|
||||
|
||||
export type leaseManagementDetailChargeTypesResponse = {
|
||||
code: number;
|
||||
data: Datum[];
|
||||
msg: string;
|
||||
};
|
||||
|
||||
export type Datum = {
|
||||
chargeTypeId: string;
|
||||
chargeTypeName: string;
|
||||
};
|
||||
|
||||
// 0000000000000000
|
||||
export interface queryParamsType extends leaseManagementDetailRequest {
|
||||
chargeTypeFilters: chargeTypeFiltersType[];
|
||||
}
|
||||
|
||||
export interface chargeTypeFiltersType extends ChargeTypeFilter {
|
||||
receivable?: string;
|
||||
uncollected?: string;
|
||||
received?: string;
|
||||
chargeTypeName?: string;
|
||||
}
|
||||
20
src/api/system/report/aging/index.ts
Normal file
20
src/api/system/report/aging/index.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import request from '@/utils/request';
|
||||
import { AgingListResponse, OwnerArrearsDetailVo } from '@/api/system/report/aging/type';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export const getAgingList = (query): Promise<AgingListResponse> => {
|
||||
return request({
|
||||
url: '/agingAnalysis/summary',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export const getDetailList = (query): Promise<AgingListResponse> => {
|
||||
return request({
|
||||
url: '/agingAnalysis/detail',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
74
src/api/system/report/aging/type.ts
Normal file
74
src/api/system/report/aging/type.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
export interface AgingListResponse {
|
||||
total: number;
|
||||
rows: AgingSummary[];
|
||||
summary: AgingSummary;
|
||||
code: number;
|
||||
msg: string;
|
||||
}
|
||||
|
||||
export interface AgingSummary {
|
||||
amountLe6: string;
|
||||
amountM6To12: string;
|
||||
amountOver5: string;
|
||||
amountY1To2: string;
|
||||
amountY2To3: string;
|
||||
amountY3To4: string;
|
||||
amountY4To5: string;
|
||||
cutoffPeriod: string;
|
||||
houseTypeName: string;
|
||||
totalAmount: string;
|
||||
villageName: string;
|
||||
}
|
||||
// 明细 ---------------------------------
|
||||
/**
|
||||
* 业主欠费明细视图对象
|
||||
*
|
||||
* OwnerArrearsDetailVo
|
||||
*/
|
||||
export type OwnerArrearsDetailVo = {
|
||||
/**
|
||||
* 区域(小区名称)
|
||||
*/
|
||||
area?: string;
|
||||
/**
|
||||
* 欠费月数
|
||||
*/
|
||||
arrearsMonths?: number;
|
||||
/**
|
||||
* 应账账期(如:20170101-20171231)
|
||||
*/
|
||||
billPeriod?: string;
|
||||
/**
|
||||
* 客户(业主姓名)
|
||||
*/
|
||||
customerName?: string;
|
||||
/**
|
||||
* 垃圾清运费
|
||||
*/
|
||||
garbageFee?: number;
|
||||
/**
|
||||
* 房号
|
||||
*/
|
||||
houseNo?: string;
|
||||
/**
|
||||
* 其他费用合计
|
||||
*/
|
||||
otherFee?: number;
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
/**
|
||||
* 物业费
|
||||
*/
|
||||
propertyFee?: number;
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
serialNumber?: number;
|
||||
/**
|
||||
* 金额合计
|
||||
*/
|
||||
totalAmount?: number;
|
||||
[property: string]: any;
|
||||
};
|
||||
18
src/api/system/report/arrears/arrears.ts
Normal file
18
src/api/system/report/arrears/arrears.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import request from '@/utils/request';
|
||||
import { ArrearsDetailQuery, ArrearsListResponse, ArrearsQuery, OwnerArrearsDetailVo } from '@/api/system/report/arrears/type';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export const getArrearsList = (query?: ArrearsQuery): Promise<ArrearsListResponse> => {
|
||||
return request({
|
||||
url: '/outstandingFeeSummary/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
export const getArrearsDetails = (query?: ArrearsDetailQuery): AxiosPromise<OwnerArrearsDetailVo[]> => {
|
||||
return request({
|
||||
url: '/outstandingFeeSummary/ownerArrearsDetail',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
113
src/api/system/report/arrears/type.ts
Normal file
113
src/api/system/report/arrears/type.ts
Normal file
@@ -0,0 +1,113 @@
|
||||
|
||||
export interface ArrearsQuery extends PageQuery {
|
||||
/**
|
||||
* 视图类型:
|
||||
* 1 - 维度一(收费类型为行)
|
||||
* 2 - 维度二(房屋类型为行)
|
||||
* */
|
||||
viewType: number;
|
||||
chargeItemId?: string;
|
||||
houseUseId?: string;
|
||||
villageId?: string;
|
||||
}
|
||||
|
||||
export interface ArrearsListResponse {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: ArrearsVO[];
|
||||
}
|
||||
|
||||
export interface ArrearsVO extends ArrearsType1, ArrearsType2 {
|
||||
'villageName': string;
|
||||
'totalAmount': string;
|
||||
}
|
||||
|
||||
|
||||
export interface ArrearsType1 {
|
||||
'chargeItemName'?: string;
|
||||
'houseTypeAmounts'?: {
|
||||
[key: string]: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ArrearsType2 {
|
||||
'houseTypeName'?: string;
|
||||
'chargeItemAmounts'?: {
|
||||
[key: string]: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ArrearsDetailQuery extends PageQuery {
|
||||
/**
|
||||
* 客户姓名(模糊查询)
|
||||
*/
|
||||
customerName?: string;
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
endTime?: string;
|
||||
/**
|
||||
* 房号(模糊查询)
|
||||
*/
|
||||
houseNo?: string;
|
||||
/**
|
||||
* 联系电话(模糊查询)
|
||||
*/
|
||||
phone?: string;
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
startTime?: string;
|
||||
}
|
||||
/**
|
||||
* 业主欠费明细视图对象
|
||||
*
|
||||
* OwnerArrearsDetailVo
|
||||
*/
|
||||
export type OwnerArrearsDetailVo = {
|
||||
/**
|
||||
* 区域(小区名称)
|
||||
*/
|
||||
area?: string;
|
||||
/**
|
||||
* 欠费月数
|
||||
*/
|
||||
arrearsMonths?: number;
|
||||
/**
|
||||
* 应账账期(如:20170101-20171231)
|
||||
*/
|
||||
billPeriod?: string;
|
||||
/**
|
||||
* 各收费类型金额(key: 收费类型名称, value: 金额)
|
||||
*/
|
||||
chargeItemAmounts?: MapBigDecimal;
|
||||
/**
|
||||
* 客户(业主姓名)
|
||||
*/
|
||||
customerName?: string;
|
||||
/**
|
||||
* 房号
|
||||
*/
|
||||
houseNo?: string;
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
phone?: string;
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
serialNumber?: number | string;
|
||||
/**
|
||||
* 金额合计
|
||||
*/
|
||||
totalAmount?: number;
|
||||
};
|
||||
|
||||
/**
|
||||
* 各收费类型金额(key: 收费类型名称, value: 金额)
|
||||
*
|
||||
* MapBigDecimal
|
||||
*/
|
||||
export type MapBigDecimal = {
|
||||
[property: string]: number;
|
||||
};
|
||||
9
src/api/system/report/arrearsTrend/index.ts
Normal file
9
src/api/system/report/arrearsTrend/index.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
export const getArrearsTend = (query) => {
|
||||
return request({
|
||||
url: '/propertyFeeTrend/arrearsTrend',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
0
src/api/system/report/arrearsTrend/type.ts
Normal file
0
src/api/system/report/arrearsTrend/type.ts
Normal file
54
src/api/system/report/businessDailyReport/index.ts
Normal file
54
src/api/system/report/businessDailyReport/index.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import request from '@/utils/request';
|
||||
import { Response } from '@/api/system/report/businessDailyReport/type';
|
||||
|
||||
/**
|
||||
* 按小区统计
|
||||
* @param query
|
||||
* @returns
|
||||
* */
|
||||
export const getBusinessDailyReport = (query): Promise<Response> => {
|
||||
return request({
|
||||
url: '/businessDailyReport/village',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 按小区统计导出
|
||||
* @param query
|
||||
* @returns
|
||||
* */
|
||||
export const getBusinessDailyReportExport = (query): Promise<Response> => {
|
||||
return request({
|
||||
url: '/businessDailyReport/village/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 按收费项目统计
|
||||
* @param query
|
||||
* @returns
|
||||
* */
|
||||
export const getBusinessDailyReportChargeItem = (query): Promise<Response> => {
|
||||
return request({
|
||||
url: '/businessDailyReport/chargeItem',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 按收费项目统计导出
|
||||
* @param query
|
||||
* @returns
|
||||
* */
|
||||
export const getBusinessDailyReportChargeItemExport = (query): Promise<Response> => {
|
||||
return request({
|
||||
url: '/businessDailyReport/chargeItem/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
77
src/api/system/report/businessDailyReport/type.ts
Normal file
77
src/api/system/report/businessDailyReport/type.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
export type Response = {
|
||||
code: number;
|
||||
msg: string;
|
||||
/**
|
||||
* 支付方式
|
||||
*/
|
||||
payTypes: PayType[];
|
||||
/**
|
||||
* 数据列表
|
||||
*/
|
||||
rows: RowsType[];
|
||||
/**
|
||||
* 合计行
|
||||
*/
|
||||
summary: Summary;
|
||||
total: number;
|
||||
};
|
||||
|
||||
export type RowsType = Row | RowVillage;
|
||||
|
||||
export type Row = {
|
||||
/**
|
||||
* 收费项目ID
|
||||
*/
|
||||
chargeItemId: string;
|
||||
/**
|
||||
* 收费项目名称
|
||||
*/
|
||||
chargeItemName: string;
|
||||
/**
|
||||
* 各支付方式金额
|
||||
*/
|
||||
payAmounts: { [key: string]: string };
|
||||
/**
|
||||
* 合计金额
|
||||
*/
|
||||
totalAmount: string;
|
||||
};
|
||||
|
||||
export type RowVillage = {
|
||||
/**
|
||||
* 各支付方式金额
|
||||
*/
|
||||
payAmounts?: { [key: string]: string };
|
||||
/**
|
||||
* 合计金额
|
||||
*/
|
||||
totalAmount?: number;
|
||||
/**
|
||||
* 小区ID
|
||||
*/
|
||||
villageId?: number;
|
||||
/**
|
||||
* 小区名称
|
||||
*/
|
||||
villageName?: string;
|
||||
};
|
||||
|
||||
export type PayType = {
|
||||
/**
|
||||
* 支付方式编码
|
||||
*/
|
||||
payType: string;
|
||||
/**
|
||||
* 支付方式名称
|
||||
*/
|
||||
payTypeName: string;
|
||||
};
|
||||
/**
|
||||
* 合计行
|
||||
*/
|
||||
export type Summary = {
|
||||
chargeItemId: null;
|
||||
chargeItemName: string;
|
||||
payAmounts: { [key: string]: string };
|
||||
totalAmount: string;
|
||||
};
|
||||
9
src/api/system/report/chargeTrend/index.ts
Normal file
9
src/api/system/report/chargeTrend/index.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
export const getChargeTend = (query)=> {
|
||||
return request({
|
||||
url: '/propertyFeeTrend/chargeTrend',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
0
src/api/system/report/chargeTrend/type.ts
Normal file
0
src/api/system/report/chargeTrend/type.ts
Normal file
18
src/api/system/report/dailyFeeReport/index.ts
Normal file
18
src/api/system/report/dailyFeeReport/index.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import request from '@/utils/request';
|
||||
import { FilterResponse, Response } from '@/api/system/report/dailyFeeReport/type';
|
||||
|
||||
export const getDailyFeeReportList = (data = {}): Promise<Response> => {
|
||||
return request({
|
||||
url: '/dailyFeeReport/list',
|
||||
method: 'POST',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
// 获取动态查询数据
|
||||
export const getDailyFeeReportDynamicList = (data = {}): Promise<FilterResponse> => {
|
||||
return request({
|
||||
url: '/dailyFeeReport/filters',
|
||||
method: 'GET',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
44
src/api/system/report/dailyFeeReport/type.ts
Normal file
44
src/api/system/report/dailyFeeReport/type.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
export type Response = {
|
||||
code: number;
|
||||
rows: Datum[];
|
||||
total: number;
|
||||
msg: string;
|
||||
};
|
||||
|
||||
export type Datum = {
|
||||
alipayAmount: string;
|
||||
cashAmount: string;
|
||||
chargeTypeAmounts: ChargeTypeAmounts;
|
||||
deposit: string;
|
||||
depositAmount: string;
|
||||
discountAmount: string;
|
||||
electricFee: string;
|
||||
handler: null | string;
|
||||
houseName: string;
|
||||
payTime: string;
|
||||
propertyOffsetAmount: string;
|
||||
remark: null;
|
||||
residentName: string;
|
||||
transferAmount: string;
|
||||
unionPayAmount: string;
|
||||
waterFee: string;
|
||||
wechatAmount: string;
|
||||
yiDangFuAmount: string;
|
||||
};
|
||||
|
||||
export type ChargeTypeAmounts = {
|
||||
[property: string]: {
|
||||
amount?: string;
|
||||
endDate?: string;
|
||||
startDate?: string;
|
||||
};
|
||||
};
|
||||
|
||||
export type FilterResponse = {
|
||||
code: number;
|
||||
data: {
|
||||
'chargeTypeId': string;
|
||||
'chargeTypeName': string;
|
||||
}[];
|
||||
msg: string;
|
||||
};
|
||||
10
src/api/system/report/monthFeeReport/index.ts
Normal file
10
src/api/system/report/monthFeeReport/index.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
import { MonthFeeReportQueryForm, Response } from '@/api/system/report/monthFeeReport/type';
|
||||
|
||||
export const getMonthFeeReportList = (data: MonthFeeReportQueryForm = {}): Promise<Response> => {
|
||||
return request({
|
||||
url: '/chargeMonthlyReport/list',
|
||||
method: 'GET',
|
||||
params: data
|
||||
});
|
||||
};
|
||||
75
src/api/system/report/monthFeeReport/type.ts
Normal file
75
src/api/system/report/monthFeeReport/type.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
export type MonthFeeReportQueryForm = {
|
||||
/**
|
||||
* 房屋用途类型
|
||||
*/
|
||||
buildingIds?: string;
|
||||
/**
|
||||
* 月收费率区间
|
||||
*/
|
||||
monthRate?: string;
|
||||
/**
|
||||
* 本月应收区间
|
||||
*/
|
||||
monthReceivable?: string;
|
||||
/**
|
||||
* 本月未收区间
|
||||
*/
|
||||
monthUnpaid?: string;
|
||||
/**
|
||||
* 当前页码
|
||||
*/
|
||||
pageNum?: number;
|
||||
/**
|
||||
* 每页条数
|
||||
*/
|
||||
pageSize?: number;
|
||||
/**
|
||||
* 综合欠收区间
|
||||
*/
|
||||
totalArrears?: string;
|
||||
/**
|
||||
* 综合预收区间
|
||||
*/
|
||||
totalPrepaid?: string;
|
||||
/**
|
||||
* 小区ID
|
||||
*/
|
||||
villageId?: string;
|
||||
/**
|
||||
* 年收费率区间
|
||||
*/
|
||||
yearRate?: string;
|
||||
/**
|
||||
* 本年应收区间
|
||||
*/
|
||||
yearReceivable?: string;
|
||||
/**
|
||||
* 本年未收区间
|
||||
*/
|
||||
yearUnpaid?: string;
|
||||
};
|
||||
export type Response = {
|
||||
code: number;
|
||||
msg: string;
|
||||
rows: Row[];
|
||||
total: number;
|
||||
};
|
||||
|
||||
export type Row = {
|
||||
buildingId: BuildingId;
|
||||
buildingName: string;
|
||||
monthRate: string;
|
||||
monthReceivable: string;
|
||||
monthReceived: string;
|
||||
monthUnpaid: string;
|
||||
totalArrears: string;
|
||||
totalPrepaid: string;
|
||||
yearRate: string;
|
||||
yearReceivable: string;
|
||||
yearReceived: string;
|
||||
yearUnpaid: string;
|
||||
[property: string]: any;
|
||||
};
|
||||
|
||||
export type BuildingId = number | string;
|
||||
10
src/api/system/report/paidInExpenses/index.ts
Normal file
10
src/api/system/report/paidInExpenses/index.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
import { Response } from '@/api/system/report/paidInExpensesReceivable/type';
|
||||
|
||||
export const getPaidInExpensesList = (data): Promise<Response> => {
|
||||
return request({
|
||||
url: '/paidInExpenses/list',
|
||||
method: 'POST',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
29
src/api/system/report/paidInExpenses/type.ts
Normal file
29
src/api/system/report/paidInExpenses/type.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
export type Response = {
|
||||
code: number;
|
||||
data: Data;
|
||||
msg: string;
|
||||
};
|
||||
|
||||
export type Data = {
|
||||
chargeTypes: string[];
|
||||
details: Detail[];
|
||||
total: Total;
|
||||
};
|
||||
|
||||
export type Detail = {
|
||||
amounts: DetailAmounts;
|
||||
name: string;
|
||||
sequence: string;
|
||||
total: string;
|
||||
};
|
||||
|
||||
export type DetailAmounts = {
|
||||
[property: string]: string;
|
||||
};
|
||||
|
||||
export type Total = {
|
||||
amounts: DetailAmounts;
|
||||
name: string;
|
||||
sequence: string;
|
||||
total: string;
|
||||
};
|
||||
10
src/api/system/report/paidInExpensesReceivable/index.ts
Normal file
10
src/api/system/report/paidInExpensesReceivable/index.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
import { Response } from '@/api/system/report/paidInExpensesReceivable/type';
|
||||
|
||||
export const getPaidInExpensesReceivableList = (data): Promise<Response> => {
|
||||
return request({
|
||||
url: '/paidInExpenses/receivable/list',
|
||||
method: 'POST',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
29
src/api/system/report/paidInExpensesReceivable/type.ts
Normal file
29
src/api/system/report/paidInExpensesReceivable/type.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
export type Response = {
|
||||
code: number;
|
||||
data: Data;
|
||||
msg: string;
|
||||
};
|
||||
|
||||
export type Data = {
|
||||
chargeTypes: string[];
|
||||
details: Detail[];
|
||||
total: Total;
|
||||
};
|
||||
|
||||
export type Detail = {
|
||||
amounts: DetailAmounts;
|
||||
name: string;
|
||||
sequence: string;
|
||||
total: string;
|
||||
};
|
||||
|
||||
export type DetailAmounts = {
|
||||
[property: string]: string;
|
||||
};
|
||||
|
||||
export type Total = {
|
||||
amounts: DetailAmounts;
|
||||
name: string;
|
||||
sequence: string;
|
||||
total: string;
|
||||
};
|
||||
10
src/api/system/report/prepaidBalance/index.ts
Normal file
10
src/api/system/report/prepaidBalance/index.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
import { Request, Response } from '@/api/system/report/prepaidBalance/type';
|
||||
|
||||
export const getPrepaidBalanceList = (query: Request): Promise<Response> => {
|
||||
return request({
|
||||
url: '/prepaidBalance/summary',
|
||||
method: 'GET',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
83
src/api/system/report/prepaidBalance/type.ts
Normal file
83
src/api/system/report/prepaidBalance/type.ts
Normal file
@@ -0,0 +1,83 @@
|
||||
export type Request = {
|
||||
/**
|
||||
* 收费类型ID
|
||||
*/
|
||||
chargeTypeId?: string;
|
||||
/**
|
||||
* 房屋类型ID
|
||||
*/
|
||||
houseUseTypeId?: string;
|
||||
/**
|
||||
* 当前页数
|
||||
*/
|
||||
pageNum?: number;
|
||||
/**
|
||||
* 分页大小
|
||||
*/
|
||||
pageSize?: number;
|
||||
/**
|
||||
* 小区ID
|
||||
*/
|
||||
villageId?: string;
|
||||
};
|
||||
|
||||
export type Response = {
|
||||
/**
|
||||
* 动态收费项目列头
|
||||
*/
|
||||
chargeItems: ChargeItem[];
|
||||
code: number;
|
||||
msg: string;
|
||||
/**
|
||||
* 汇总数据行列表
|
||||
*/
|
||||
rows: Row[];
|
||||
/**
|
||||
* 全部合计行
|
||||
*/
|
||||
summary: Summary;
|
||||
/**
|
||||
* 总记录数
|
||||
*/
|
||||
total: number;
|
||||
};
|
||||
|
||||
export type ChargeItem = {
|
||||
/**
|
||||
* 收费项目名称
|
||||
*/
|
||||
chargeItemName: string;
|
||||
/**
|
||||
* 收费类型ID
|
||||
*/
|
||||
chargeTypeId: number;
|
||||
};
|
||||
|
||||
export type Row = {
|
||||
/**
|
||||
* 各收费项目预收余额
|
||||
*/
|
||||
chargeItemAmounts?: { [key: string]: any };
|
||||
/**
|
||||
* 房屋类型名称
|
||||
*/
|
||||
houseTypeName?: string;
|
||||
/**
|
||||
* 合计金额
|
||||
*/
|
||||
totalAmount?: number;
|
||||
/**
|
||||
* 小区名称
|
||||
*/
|
||||
villageName?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 全部合计行
|
||||
*/
|
||||
export type Summary = {
|
||||
chargeItemAmounts: { [key: string]: string };
|
||||
houseTypeName: string;
|
||||
totalAmount: number;
|
||||
villageName: string;
|
||||
};
|
||||
10
src/api/system/report/prepaidBalanceDetail/index.ts
Normal file
10
src/api/system/report/prepaidBalanceDetail/index.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
import { Request, Response } from '@/api/system/report/prepaidBalance/type';
|
||||
|
||||
export const getPrepaidBalanceDetailList = (query: Request): Promise<Response> => {
|
||||
return request({
|
||||
url: '/prepaidBalance/detail',
|
||||
method: 'GET',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
83
src/api/system/report/prepaidBalanceDetail/type.ts
Normal file
83
src/api/system/report/prepaidBalanceDetail/type.ts
Normal file
@@ -0,0 +1,83 @@
|
||||
export type Request = {
|
||||
/**
|
||||
* 收费类型ID
|
||||
*/
|
||||
chargeTypeId?: string;
|
||||
/**
|
||||
* 房屋类型ID
|
||||
*/
|
||||
houseUseTypeId?: string;
|
||||
/**
|
||||
* 当前页数
|
||||
*/
|
||||
pageNum?: number;
|
||||
/**
|
||||
* 分页大小
|
||||
*/
|
||||
pageSize?: number;
|
||||
/**
|
||||
* 小区ID
|
||||
*/
|
||||
villageId?: string;
|
||||
};
|
||||
|
||||
export type Response = {
|
||||
/**
|
||||
* 动态收费项目列头
|
||||
*/
|
||||
chargeItems: ChargeItem[];
|
||||
code: number;
|
||||
msg: string;
|
||||
/**
|
||||
* 汇总数据行列表
|
||||
*/
|
||||
rows: Row[];
|
||||
/**
|
||||
* 全部合计行
|
||||
*/
|
||||
summary: Summary;
|
||||
/**
|
||||
* 总记录数
|
||||
*/
|
||||
total: number;
|
||||
};
|
||||
|
||||
export type ChargeItem = {
|
||||
/**
|
||||
* 收费项目名称
|
||||
*/
|
||||
chargeItemName: string;
|
||||
/**
|
||||
* 收费类型ID
|
||||
*/
|
||||
chargeTypeId: number;
|
||||
};
|
||||
|
||||
export type Row = {
|
||||
/**
|
||||
* 各收费项目预收余额
|
||||
*/
|
||||
chargeItemAmounts?: { [key: string]: any };
|
||||
/**
|
||||
* 房屋类型名称
|
||||
*/
|
||||
houseTypeName?: string;
|
||||
/**
|
||||
* 合计金额
|
||||
*/
|
||||
totalAmount?: number;
|
||||
/**
|
||||
* 小区名称
|
||||
*/
|
||||
villageName?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 全部合计行
|
||||
*/
|
||||
export type Summary = {
|
||||
chargeItemAmounts: { [key: string]: string };
|
||||
houseTypeName: string;
|
||||
totalAmount: number;
|
||||
villageName: string;
|
||||
};
|
||||
@@ -1,14 +1,13 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { ResidentVO, ResidentForm, ResidentQuery } from '@/api/system/resident/type';
|
||||
import { ResidentVO, ResidentForm, ResidentQuery } from '@/api/system/residentReviewProcess/resident/type';
|
||||
|
||||
/**
|
||||
* 查询住户管理列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listResident = (query?: ResidentQuery): AxiosPromise<ResidentVO[]> => {
|
||||
export const listResident = (query?: ResidentQuery | {}): AxiosPromise<ResidentVO[]> => {
|
||||
return request({
|
||||
url: '/resident/list',
|
||||
method: 'get',
|
||||
@@ -64,7 +63,6 @@ export const delResident = (id: string | number | Array<string | number>) => {
|
||||
|
||||
/**
|
||||
* 添加住户管理-上传身份证
|
||||
* @param id
|
||||
*/
|
||||
export const UploadidCardApi = () => {
|
||||
return request({
|
||||
@@ -2,8 +2,10 @@ export interface ResidentVO {
|
||||
/**
|
||||
* 主键 住户管理id
|
||||
*/
|
||||
userId: string | number;
|
||||
userId: string;
|
||||
id: string;
|
||||
unitNoId: string;
|
||||
idCardType: string;
|
||||
/**
|
||||
* 住户编号
|
||||
*/
|
||||
@@ -13,21 +15,22 @@ export interface ResidentVO {
|
||||
* 姓名
|
||||
*/
|
||||
name: string;
|
||||
nickName: string;
|
||||
|
||||
/**
|
||||
* 0业主 1租户
|
||||
* 0 业主 1 租户
|
||||
*/
|
||||
type: string;
|
||||
|
||||
/**
|
||||
* 0 男性 1女性
|
||||
* 0 男性 1 女性
|
||||
*/
|
||||
gender: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard: string | number;
|
||||
idCard: string;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
@@ -42,7 +45,7 @@ export interface ResidentVO {
|
||||
/**
|
||||
* 楼栋id
|
||||
*/
|
||||
buildingId: string | number;
|
||||
buildingId: string;
|
||||
|
||||
/**
|
||||
* 房屋表id
|
||||
@@ -74,11 +77,22 @@ export interface ResidentVO {
|
||||
}
|
||||
|
||||
export interface ResidentForm extends BaseEntity {
|
||||
/**
|
||||
* 年龄
|
||||
*/
|
||||
age?: number;
|
||||
/**
|
||||
* 主键 住户管理id
|
||||
*/
|
||||
userId?: string | number;
|
||||
|
||||
userId?: string;
|
||||
unitNoId?: string;
|
||||
/**
|
||||
* 证件类型
|
||||
* 0 身份证
|
||||
* 1 护照
|
||||
* 2 港澳通行证
|
||||
*/
|
||||
idCardType?: string;
|
||||
/**
|
||||
* 住户编号
|
||||
*/
|
||||
@@ -90,19 +104,22 @@ export interface ResidentForm extends BaseEntity {
|
||||
name?: string;
|
||||
|
||||
/**
|
||||
* 0业主 1租户
|
||||
* 0 业主
|
||||
* 1 亲属
|
||||
* 2 租户
|
||||
* 3 朋友
|
||||
*/
|
||||
type?: string;
|
||||
ownerRelationship?: string;
|
||||
|
||||
/**
|
||||
* 0 男性 1女性
|
||||
* 0 男性 1 女性
|
||||
*/
|
||||
gender?: string;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
idCard?: string | number;
|
||||
idCard?: string;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
@@ -117,7 +134,7 @@ export interface ResidentForm extends BaseEntity {
|
||||
/**
|
||||
* 楼栋id
|
||||
*/
|
||||
buildingId?: string | number;
|
||||
buildingId?: string;
|
||||
|
||||
/**
|
||||
* 房屋表id
|
||||
@@ -150,20 +167,29 @@ export interface ResidentQuery extends PageQuery {
|
||||
* 日期范围参数
|
||||
*/
|
||||
date?: any;
|
||||
|
||||
/**
|
||||
* 住户类型
|
||||
* 0业主 1租户
|
||||
* 房屋名称
|
||||
*/
|
||||
type?: string;
|
||||
houseName?: string;
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* 0 业主
|
||||
* 1 亲属
|
||||
* 2 租户
|
||||
* 3 朋友
|
||||
*/
|
||||
ownerRelationship?: string;
|
||||
/**
|
||||
* 住户状态
|
||||
* 0审核中 1 已认证
|
||||
* 0 审核中 1 已认证
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
houseId?: number;
|
||||
villageId?: string;
|
||||
buildingId?: number;
|
||||
unitNo?: number;
|
||||
unitNoId?: number;
|
||||
}
|
||||
@@ -1,140 +0,0 @@
|
||||
export interface ResidentReviewProcessVO {
|
||||
/**
|
||||
* 住户审核表
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* 住户表id
|
||||
*/
|
||||
residentId: string | number;
|
||||
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
submitTime: string;
|
||||
|
||||
/**
|
||||
* 提交状态 0未提交 1已提交
|
||||
*/
|
||||
submitStatus: number;
|
||||
|
||||
/**
|
||||
* 物业审核时间
|
||||
*/
|
||||
propertyTime: string;
|
||||
|
||||
/**
|
||||
* 物业审核状态 0 待审核 1审核通过 2审核未通过
|
||||
*/
|
||||
propertyStatus: number;
|
||||
|
||||
/**
|
||||
* 物业审核意见
|
||||
*/
|
||||
propertyReviewFeedback: string;
|
||||
|
||||
/**
|
||||
* 认证时间
|
||||
*/
|
||||
certificationTime: string;
|
||||
|
||||
/**
|
||||
* 认证状态 0未认证 1已认证
|
||||
*/
|
||||
certificationStatus: number;
|
||||
}
|
||||
|
||||
export interface ResidentReviewProcessForm extends BaseEntity {
|
||||
/**
|
||||
* 住户审核表
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* 住户表id
|
||||
*/
|
||||
residentId?: string | number;
|
||||
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
submitTime?: string;
|
||||
|
||||
/**
|
||||
* 提交状态 0未提交 1已提交
|
||||
*/
|
||||
submitStatus?: number;
|
||||
|
||||
/**
|
||||
* 物业审核时间
|
||||
*/
|
||||
propertyTime?: string;
|
||||
|
||||
/**
|
||||
* 物业审核状态 0 待审核 1审核通过 2审核未通过
|
||||
*/
|
||||
propertyStatus?: number;
|
||||
|
||||
/**
|
||||
* 物业审核意见
|
||||
*/
|
||||
propertyReviewFeedback?: string;
|
||||
|
||||
/**
|
||||
* 认证时间
|
||||
*/
|
||||
certificationTime?: string;
|
||||
|
||||
/**
|
||||
* 认证状态 0未认证 1已认证
|
||||
*/
|
||||
certificationStatus?: number;
|
||||
}
|
||||
|
||||
export interface ResidentReviewProcessQuery extends PageQuery {
|
||||
/**
|
||||
* 住户表id
|
||||
*/
|
||||
residentId?: string | number;
|
||||
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
submitTime?: string;
|
||||
|
||||
/**
|
||||
* 提交状态 0未提交 1已提交
|
||||
*/
|
||||
submitStatus?: number;
|
||||
|
||||
/**
|
||||
* 物业审核时间
|
||||
*/
|
||||
propertyTime?: string;
|
||||
|
||||
/**
|
||||
* 物业审核状态 0 待审核 1审核通过 2审核未通过
|
||||
*/
|
||||
propertyStatus?: number;
|
||||
|
||||
/**
|
||||
* 物业审核意见
|
||||
*/
|
||||
propertyReviewFeedback?: string;
|
||||
|
||||
/**
|
||||
* 认证时间
|
||||
*/
|
||||
certificationTime?: string;
|
||||
|
||||
/**
|
||||
* 认证状态 0未认证 1已认证
|
||||
*/
|
||||
certificationStatus?: number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
63
src/api/system/revenueNotice/index.ts
Normal file
63
src/api/system/revenueNotice/index.ts
Normal file
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { RevenueNoticeVO, RevenueNoticeForm, RevenueNoticeQuery } from './type';
|
||||
|
||||
/**
|
||||
* 查询公区收益通知列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listRevenueNotice = (query?: RevenueNoticeQuery): AxiosPromise<RevenueNoticeVO[]> => {
|
||||
return request({
|
||||
url: '/revenueNotice/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询公区收益通知详细
|
||||
* @param noticeId
|
||||
*/
|
||||
export const getRevenueNotice = (noticeId: string | number): AxiosPromise<RevenueNoticeVO> => {
|
||||
return request({
|
||||
url: '/revenueNotice/' + noticeId,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增公区收益通知
|
||||
* @param data
|
||||
*/
|
||||
export const addRevenueNotice = (data: RevenueNoticeForm) => {
|
||||
return request({
|
||||
url: '/revenueNotice',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改公区收益通知
|
||||
* @param data
|
||||
*/
|
||||
export const updateRevenueNotice = (data: RevenueNoticeForm) => {
|
||||
return request({
|
||||
url: '/revenueNotice',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除公区收益通知
|
||||
* @param noticeId
|
||||
*/
|
||||
export const delRevenueNotice = (noticeId: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/revenueNotice/' + noticeId,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
140
src/api/system/revenueNotice/type.ts
Normal file
140
src/api/system/revenueNotice/type.ts
Normal file
@@ -0,0 +1,140 @@
|
||||
export interface RevenueNoticeVO {
|
||||
/**
|
||||
* 公告ID
|
||||
*/
|
||||
noticeId: string | number;
|
||||
|
||||
/**
|
||||
* 公告标题
|
||||
*/
|
||||
noticeTitle: string;
|
||||
|
||||
/**
|
||||
* 公告内容
|
||||
*/
|
||||
noticeContent: string;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
author: string;
|
||||
|
||||
/**
|
||||
* 紧急程度 0=普通 1=紧急 2=非常紧急
|
||||
*/
|
||||
urgencyLevel: number;
|
||||
|
||||
/**
|
||||
* 发布状态 0=草稿 1=已发布
|
||||
*/
|
||||
publishStatus: number;
|
||||
|
||||
/**
|
||||
* 发布人
|
||||
*/
|
||||
publishBy: string;
|
||||
|
||||
/**
|
||||
* 发布日期
|
||||
*/
|
||||
publishTime: string;
|
||||
|
||||
/**
|
||||
* 所属小区id
|
||||
*/
|
||||
villageId: string | number;
|
||||
}
|
||||
|
||||
export interface RevenueNoticeForm extends BaseEntity {
|
||||
/**
|
||||
* 公告ID
|
||||
*/
|
||||
noticeId?: string | number;
|
||||
|
||||
/**
|
||||
* 公告标题
|
||||
*/
|
||||
noticeTitle?: string;
|
||||
|
||||
/**
|
||||
* 公告内容
|
||||
*/
|
||||
noticeContent?: string;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
author?: string;
|
||||
|
||||
/**
|
||||
* 紧急程度 0=普通 1=紧急 2=非常紧急
|
||||
*/
|
||||
urgencyLevel?: number;
|
||||
|
||||
/**
|
||||
* 发布状态 0=草稿 1=已发布
|
||||
*/
|
||||
publishStatus?: number;
|
||||
|
||||
/**
|
||||
* 发布人
|
||||
*/
|
||||
publishBy?: string;
|
||||
|
||||
/**
|
||||
* 发布日期
|
||||
*/
|
||||
publishTime?: string;
|
||||
|
||||
/**
|
||||
* 所属小区id
|
||||
*/
|
||||
villageId?: string | number;
|
||||
}
|
||||
|
||||
export interface RevenueNoticeQuery extends PageQuery {
|
||||
/**
|
||||
* 公告标题
|
||||
*/
|
||||
noticeTitle?: string;
|
||||
|
||||
/**
|
||||
* 公告内容
|
||||
*/
|
||||
noticeContent?: string;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
author?: string;
|
||||
|
||||
/**
|
||||
* 紧急程度 0=普通 1=紧急 2=非常紧急
|
||||
*/
|
||||
urgencyLevel?: number;
|
||||
|
||||
/**
|
||||
* 发布状态 0=草稿 1=已发布
|
||||
*/
|
||||
publishStatus?: number;
|
||||
|
||||
/**
|
||||
* 发布人
|
||||
*/
|
||||
publishBy?: string;
|
||||
|
||||
/**
|
||||
* 发布日期
|
||||
*/
|
||||
publishTime?: string;
|
||||
|
||||
/**
|
||||
* 所属小区id
|
||||
*/
|
||||
villageId?: string | number;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
@@ -63,16 +63,16 @@ export const delStoreroom = (id: string | number | Array<string | number>) => {
|
||||
};
|
||||
/**
|
||||
* 查询小区内储藏室管理列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
* @param data
|
||||
*/
|
||||
|
||||
export const GetVillagelistStoreroom = (
|
||||
data: { villageid: string; unitNo: string; houseId?: string; buildingId: string } = {
|
||||
data: { villageid: string; unitNoId: string; houseId?: string; buildingId: string } = {
|
||||
villageid: null,
|
||||
buildingId: null,
|
||||
houseId: null,
|
||||
unitNo: null
|
||||
unitNoId: null
|
||||
}
|
||||
): AxiosPromise<StoreroomVO[]> => {
|
||||
return request({
|
||||
@@ -81,7 +81,7 @@ export const GetVillagelistStoreroom = (
|
||||
data: {
|
||||
villageId: data.villageid,
|
||||
buildingId: data.buildingId,
|
||||
unitNo: data.unitNo,
|
||||
unitNoId: data.unitNoId,
|
||||
houseId: data.houseId
|
||||
}
|
||||
});
|
||||
|
||||
@@ -12,7 +12,8 @@ export interface StoreroomVO {
|
||||
/**
|
||||
* 单元号
|
||||
*/
|
||||
unitNo: string | number;
|
||||
unitNoId: string | number;
|
||||
unitName: string;
|
||||
|
||||
/**
|
||||
* 储藏室号
|
||||
|
||||
@@ -212,10 +212,11 @@ export const deptTreeSelect = (): AxiosPromise<DeptTreeVO[]> => {
|
||||
/**
|
||||
* 查询用户 根据不同的角色key
|
||||
*/
|
||||
export const getUserByRoleKey = (roleKey: string = 'repair'): AxiosPromise<any> => {
|
||||
export const getUserByRoleKey = (data: { roleKey: string; pageSize?: number; pageNum?: number; phonenumber?: string; nickName?: string }) => {
|
||||
return request({
|
||||
url: '/system/user/list/byRoleKey?roleKey=' + roleKey,
|
||||
method: 'get'
|
||||
url: '/system/user/list/byRoleKey',
|
||||
method: 'get',
|
||||
params: data
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
78
src/api/system/version/index.ts
Normal file
78
src/api/system/version/index.ts
Normal file
@@ -0,0 +1,78 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
import { VersionVO, VersionForm, VersionQuery } from './type';
|
||||
|
||||
/**
|
||||
* 查询版本列表
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
|
||||
export const listVersion = (query?: VersionQuery): AxiosPromise<VersionVO[]> => {
|
||||
return request({
|
||||
url: '/api/app/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询版本详细
|
||||
* @param id
|
||||
*/
|
||||
export const getVersion = (id: string | number): AxiosPromise<VersionVO> => {
|
||||
return request({
|
||||
url: '/system/version/' + id,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 新增版本
|
||||
* @param data
|
||||
*/
|
||||
export const addVersion = (data: VersionForm) => {
|
||||
return request({
|
||||
url: '/api/app/release',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 修改版本
|
||||
* @param data
|
||||
*/
|
||||
export const updateVersion = (data: VersionForm) => {
|
||||
return request({
|
||||
url: '/system/version',
|
||||
method: 'put',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除版本
|
||||
* @param id
|
||||
*/
|
||||
export const delVersion = (id: string | number | Array<string | number>) => {
|
||||
return request({
|
||||
url: '/system/version/' + id,
|
||||
method: 'delete'
|
||||
});
|
||||
};
|
||||
|
||||
/** 获取过往版本 */
|
||||
export const getPastVersion = (platform: string, appChannel: string) => {
|
||||
return request({
|
||||
url: `/api/app/getPastVersion?platform=${platform}&appChannel=${appChannel}`,
|
||||
method: 'get',
|
||||
});
|
||||
};
|
||||
/** 切换版本启停 */
|
||||
export const switchVersion = (id: string, status: string) => {
|
||||
return request({
|
||||
url: `/api/app/switchStatus/${id}/${status}`,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
169
src/api/system/version/type.ts
Normal file
169
src/api/system/version/type.ts
Normal file
@@ -0,0 +1,169 @@
|
||||
export interface VersionVO {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
id: string | number;
|
||||
|
||||
/**
|
||||
* ios/android
|
||||
*/
|
||||
platform: string;
|
||||
|
||||
/**
|
||||
* 版本号(递增)
|
||||
*/
|
||||
versionCode: number;
|
||||
|
||||
/**
|
||||
* 版本名称(1.2.0)
|
||||
*/
|
||||
versionName: string;
|
||||
|
||||
/**
|
||||
* 最低支持版本
|
||||
*/
|
||||
minVersionCode: number;
|
||||
|
||||
/**
|
||||
* optional/force
|
||||
* optional-可选更新,
|
||||
* force-强制更新
|
||||
*/
|
||||
updateType: string;
|
||||
|
||||
/**
|
||||
* 升级方式
|
||||
* apk-安装包更新,wgt-热更新
|
||||
*/
|
||||
method: string;
|
||||
|
||||
/**
|
||||
* 下载地址
|
||||
*/
|
||||
downloadUrl: string;
|
||||
|
||||
/**
|
||||
* 更新日志
|
||||
*/
|
||||
releaseNotes: string;
|
||||
|
||||
/**
|
||||
* 文件大小(MB)
|
||||
*/
|
||||
fileSize: string;
|
||||
|
||||
/**
|
||||
* 0-禁用 1-启用
|
||||
*/
|
||||
status: string;
|
||||
|
||||
/**
|
||||
* 更新app端
|
||||
*/
|
||||
channel: string;
|
||||
}
|
||||
|
||||
export interface VersionForm extends BaseEntity {
|
||||
/**
|
||||
* 更新app端
|
||||
* butler 管家端
|
||||
* resident 业主端
|
||||
*/
|
||||
appChannel: string;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
id?: string | number;
|
||||
|
||||
/**
|
||||
* ios/android
|
||||
*/
|
||||
platform?: string;
|
||||
|
||||
/**
|
||||
* 版本号(递增)
|
||||
*/
|
||||
versionCode?: number;
|
||||
|
||||
/**
|
||||
* 版本名称(1.2.0)
|
||||
*/
|
||||
versionName?: string;
|
||||
|
||||
/**
|
||||
* 最低支持版本
|
||||
*/
|
||||
minVersionCode?: string;
|
||||
|
||||
/**
|
||||
* optional/force
|
||||
* optional-可选更新,force-强制更新
|
||||
*/
|
||||
updateType?: string;
|
||||
method?: string;
|
||||
|
||||
/**
|
||||
* 下载地址
|
||||
*/
|
||||
downloadUrl?: string;
|
||||
|
||||
/**
|
||||
* 更新日志
|
||||
*/
|
||||
releaseNotes?: string;
|
||||
|
||||
/**
|
||||
* 文件大小(MB)
|
||||
*/
|
||||
fileSize?: string;
|
||||
|
||||
/**
|
||||
* 0-禁用 1-启用
|
||||
*/
|
||||
status?: number;
|
||||
channel?: string;
|
||||
}
|
||||
|
||||
export interface VersionQuery extends PageQuery {
|
||||
/**
|
||||
* ios/android
|
||||
*/
|
||||
platform?: string;
|
||||
|
||||
/**
|
||||
* 版本号(递增)
|
||||
*/
|
||||
versionCode?: number;
|
||||
|
||||
/**
|
||||
* 版本名称(1.2.0)
|
||||
*/
|
||||
versionName?: string;
|
||||
|
||||
/**
|
||||
* optional/force
|
||||
*/
|
||||
updateType?: string;
|
||||
|
||||
/**
|
||||
* 下载地址
|
||||
*/
|
||||
downloadUrl?: string;
|
||||
|
||||
/**
|
||||
* 0-禁用 1-启用
|
||||
*/
|
||||
status?: number;
|
||||
|
||||
/**
|
||||
* 更
|
||||
*/
|
||||
channel?: string;
|
||||
|
||||
/**
|
||||
* 更新app端
|
||||
* butler 管家端
|
||||
* resident 业主端
|
||||
*/
|
||||
appChannel: string;
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
/**
|
||||
* 查询小区概况
|
||||
* @param query
|
||||
* @returns {*}
|
||||
* @param villageId
|
||||
*/
|
||||
export const workSpaceTotalListApi = (
|
||||
villageId: string
|
||||
@@ -26,8 +25,8 @@ export const workSpaceTotalListApi = (
|
||||
};
|
||||
/**
|
||||
* 查询近一周报修趋势
|
||||
* @param query
|
||||
* @returns {*}
|
||||
* @param villageId
|
||||
*/
|
||||
export const workSpaceRepairTrendListApi = (
|
||||
villageId: string
|
||||
@@ -47,12 +46,11 @@ export const workSpaceRepairTrendListApi = (
|
||||
};
|
||||
/**
|
||||
* 查询近一周收入趋势
|
||||
* @param query
|
||||
* @returns {*}
|
||||
* @param villageId
|
||||
*/
|
||||
export const workSpaceIncomeTrendListApi = (
|
||||
villageId: string,
|
||||
type: number
|
||||
villageId: string
|
||||
): Promise<
|
||||
{
|
||||
date: string;
|
||||
@@ -63,16 +61,64 @@ export const workSpaceIncomeTrendListApi = (
|
||||
url: '/workSpace/last7DaysIncomeTrend',
|
||||
method: 'GET',
|
||||
params: {
|
||||
villageId: villageId,
|
||||
type: type
|
||||
villageId: villageId
|
||||
}
|
||||
});
|
||||
};
|
||||
/**
|
||||
* 查询当日天气
|
||||
* @param query
|
||||
* 收费率统计
|
||||
* @returns {*}
|
||||
*/
|
||||
export const paymentRateApi = (
|
||||
startDate: string,
|
||||
endDate: string
|
||||
): Promise<{
|
||||
data: {
|
||||
'receivableAmount': string;
|
||||
'receivablePercent': string;
|
||||
'receivedAmount': string;
|
||||
'receivedPercent': string;
|
||||
'unpaidAmount': string;
|
||||
'unpaidPercent': string;
|
||||
};
|
||||
}> => {
|
||||
return request({
|
||||
url: '/workSpace/paymentRate',
|
||||
method: 'GET',
|
||||
params: {
|
||||
startDate: startDate,
|
||||
endDate: endDate
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询近一周支出趋势
|
||||
* @returns {*}
|
||||
* @param villageId
|
||||
*/
|
||||
export const workSpaceOutcomeTrendListApi = (
|
||||
villageId: string
|
||||
): Promise<
|
||||
{
|
||||
date: string;
|
||||
expenditure: string;
|
||||
}[]
|
||||
> => {
|
||||
return request({
|
||||
url: '/workSpace/last7DaysExpenditureTrend',
|
||||
method: 'GET',
|
||||
params: {
|
||||
villageId: villageId
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询当日天气
|
||||
* @returns {*}
|
||||
* @param city
|
||||
*/
|
||||
export const workSpaceWeatherApi = (city: string): Promise<reponseType> => {
|
||||
const url = 'https://uapis.cn/api/v1/misc/weather?city=' + city + '&lang=zh';
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -287,20 +333,20 @@ type LifeIndices = {
|
||||
|
||||
/**
|
||||
* 查询 快捷入口
|
||||
* @param query
|
||||
* @returns {*}
|
||||
*/
|
||||
export const getQuicklyshortcut = () => {
|
||||
export const getQuicklyshortcut = (query?: {}) => {
|
||||
return request({
|
||||
url: '/workSpace/shortcut/list',
|
||||
method: 'GET'
|
||||
method: 'GET',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 添加 快捷入口
|
||||
* @param query
|
||||
* @returns {*}
|
||||
* @param data
|
||||
*/
|
||||
export const addQuicklyshortcut = (data) => {
|
||||
return request({
|
||||
@@ -312,8 +358,8 @@ export const addQuicklyshortcut = (data) => {
|
||||
|
||||
/**
|
||||
* 删除 快捷入口
|
||||
* @param query
|
||||
* @returns {*}
|
||||
* @param id
|
||||
*/
|
||||
export const delQuicklyshortcut = (id) => {
|
||||
return request({
|
||||
|
||||
@@ -33,7 +33,6 @@ export interface SpelVO {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface SpelForm extends BaseEntity {
|
||||
@@ -71,11 +70,9 @@ export interface SpelForm extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
remark?: string;
|
||||
|
||||
}
|
||||
|
||||
export interface SpelQuery extends PageQuery {
|
||||
|
||||
/**
|
||||
* 组件名称
|
||||
*/
|
||||
@@ -101,11 +98,8 @@ export interface SpelQuery extends PageQuery {
|
||||
*/
|
||||
status?: string;
|
||||
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
/**
|
||||
* 日期范围参数
|
||||
*/
|
||||
params?: any;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -181,8 +181,8 @@ export const currentTaskAllUser = (taskId: string | number) => {
|
||||
|
||||
/**
|
||||
* 获取下一节点写
|
||||
* @param data参数
|
||||
* @returns
|
||||
* @param data
|
||||
* @param data
|
||||
*/
|
||||
export const getNextNodeList = (data: any): any => {
|
||||
return request({
|
||||
@@ -194,8 +194,8 @@ export const getNextNodeList = (data: any): any => {
|
||||
|
||||
/**
|
||||
* 催办任务
|
||||
* @param data参数
|
||||
* @returns
|
||||
* @param data
|
||||
* @param data
|
||||
*/
|
||||
export const urgeTask = (data: any): any => {
|
||||
return request({
|
||||
|
||||
1
src/assets/icons/svg/app.svg
Normal file
1
src/assets/icons/svg/app.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1780369458112" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9273" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M271.958852 64.00158c-115.276539 0-208.874831 93.670541-208.874831 208.950693C63.084021 388.337184 156.628127 481.899353 272.016651 481.899353h144.894925c35.347715 0 63.918494-28.762239 63.918495-64.106342V272.894474c-0.01445-115.36685-93.500757-208.892893-208.871219-208.892894zM416.875452 417.793011v0.025288a0.932009 0.932009 0 0 1 0.043349 0.144497H272.016651a145.241719 145.241719 0 1 1 144.858801-145.06471v144.894925zM416.897127 542.227083H272.016651c-115.370462 0-208.896506 93.515206-208.896506 208.885668 0 115.276539 93.562168 208.892893 208.856769 208.892893 115.370462 0 208.856769-93.529656 208.856769-208.900118v-144.894925c-0.018062-35.351327-28.592454-63.983518-63.936556-63.983518z m-0.021675 208.874831a144.721528 144.721528 0 0 1-88.483079 133.504905C310.564987 892.145979 291.59607 895.884854 272.016651 895.884854c-19.564969 0-38.519436-3.738874-56.354047-11.28526A144.880476 144.880476 0 0 1 272.016651 606.167252h144.920212a0.093923 0.093923 0 0 0-0.043349 0v144.920212zM751.101914 542.227083h-144.894925A63.965456 63.965456 0 0 0 542.227083 606.206989v144.894925c0 115.370462 93.515206 208.896506 208.885668 208.896506 115.276539 0 208.892893-93.60913 208.892893-208.885669-0.003612-115.370462-93.533269-208.885668-208.90373-208.885668zM884.686293 807.448736a144.927437 144.927437 0 0 1-278.519041-56.354047V606.167252h144.920212A144.996074 144.996074 0 0 1 884.686293 807.448736zM606.206989 481.899353h144.894925c115.370462 0 208.896506-93.562168 208.896506-208.950693 0-115.276539-93.60913-208.921793-208.885669-208.921792-115.370462 0-208.885668 93.497144-208.885668 208.867606v144.894925c0 35.347715 28.632191 64.109954 63.979906 64.109954z m-0.039737-209.004879A144.949112 144.949112 0 1 1 751.101914 417.959184H606.167252a0.520191 0.520191 0 0 1 0-0.144498V272.894474z" fill="" p-id="9274"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
1
src/assets/icons/svg/gongqushouyi.svg
Normal file
1
src/assets/icons/svg/gongqushouyi.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1784617479089" class="icon" viewBox="0 0 1057 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1942" xmlns:xlink="http://www.w3.org/1999/xlink" width="206.4453125" height="200"><path d="M811.80137 607.92511a170.673929 170.673929 0 1 0 170.761074 170.695715 170.870006 170.870006 0 0 0-170.673929-170.673929m0-74.661674A245.357389 245.357389 0 1 1 566.443981 778.620825a245.357389 245.357389 0 0 1 245.357389-245.357389z" p-id="1943" fill="#2c2c2c"></path><path d="M873.718055 889.447768a251.413982 251.413982 0 0 1-3.442237-7.973788c-1.568614-3.616527-2.984724-6.971618-4.466193-10.348496a1687.218757 1687.218757 0 0 1-132.787541 13.529297l-4.771201 0.326794-5.816944-31.067273 4.553338-1.394324c10.32671-3.355091 30.195821-24.24816 66.666099-104.835709l2.047913-4.553338 32.309094 11.132802-2.592571 5.555509a669.209991 669.209991 0 0 1-51.08889 90.60925c26.535722-2.178631 52.505-4.945492 77.297817-8.540232a388.340922 388.340922 0 0 0-20.413769-34.967023l-3.921536-5.882302 30.50083-10.413855 2.178631 3.42045a501.455427 501.455427 0 0 1 44.378707 81.611506l2.178631 4.945492-30.740479 13.856091z m26.513935-91.502489a233.919578 233.919578 0 0 1-72.766265-114.792051l-1.263606-4.139399 28.627207-16.274371 2.047913 6.535892a209.802136 209.802136 0 0 0 66.361091 102.047062l4.204758 3.59474-23.137058 26.535722z m-204.050551-19.607676l4.357261-4.139399a236.686439 236.686439 0 0 0 61.655249-103.049232l1.786477-5.555508 30.91477 12.265691-1.633973 4.858346a277.470406 277.470406 0 0 1-67.537552 114.639548l-3.59474 3.442236z" p-id="1944" fill="#2c2c2c"></path><path d="M515.267946 643.240713l142.090294 13.311434-13.33322-140.151313 13.33322-140.020595-145.968257 13.071784-157.013914-12.810348 13.485724 135.075103-13.071784 144.138207z m-81.872942-188.887281l78.299988 6.383388 66.949321-6.034807-5.882303 61.698821 5.860517 61.524531-62.83171-5.882303-82.787966 6.535892 6.100166-67.145398z" p-id="1945" fill="#2c2c2c"></path><path d="M589.297817 900.863793a408.798264 408.798264 0 1 1 312.764223-317.317561 45.903749 45.903749 0 1 0 89.933875 18.365857 500.583975 500.583975 0 1 0-383.025063 388.602357 45.903749 45.903749 0 1 0-19.607676-89.650653z" p-id="1946" fill="#2c2c2c"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
1
src/assets/icons/svg/jifen.svg
Normal file
1
src/assets/icons/svg/jifen.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1785922870272" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5271" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M672 364.8 576 364.8l38.4-38.4c12.8-12.8 12.8-25.6 0-38.4-12.8-12.8-25.6-12.8-38.4 0L512 358.4 441.6 288c-12.8-12.8-25.6-12.8-38.4 0-12.8 12.8-12.8 25.6 0 38.4L448 364.8 358.4 364.8c-38.4 0-64 32-64 64 0 32 19.2 57.6 51.2 64l0 211.2c0 12.8 12.8 25.6 25.6 25.6l300.8 0c12.8 0 25.6-12.8 25.6-25.6L697.6 499.2c25.6-6.4 51.2-32 51.2-64C742.4 396.8 710.4 364.8 672 364.8L672 364.8zM358.4 448C345.6 448 339.2 441.6 339.2 435.2c0-6.4 6.4-19.2 19.2-19.2l134.4 0L492.8 448 358.4 448 358.4 448zM640 684.8 390.4 684.8 390.4 499.2l102.4 0 0 108.8c0 12.8 12.8 25.6 25.6 25.6 12.8 0 25.6-12.8 25.6-25.6L544 499.2 640 499.2 640 684.8 640 684.8zM672 448 544 448 544 416l134.4 0c6.4 0 19.2 6.4 19.2 19.2C691.2 441.6 684.8 448 672 448L672 448zM512 0C230.4 0 0 230.4 0 512s230.4 512 512 512c281.6 0 512-230.4 512-512S793.6 0 512 0L512 0zM505.6 985.6c-262.4 0-473.6-211.2-473.6-473.6 0-262.4 211.2-473.6 473.6-473.6 262.4 0 473.6 211.2 473.6 473.6C979.2 774.4 768 985.6 505.6 985.6L505.6 985.6zM505.6 985.6" fill="#272636" p-id="5272"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
src/assets/icons/svg/jifenfenlei.svg
Normal file
1
src/assets/icons/svg/jifenfenlei.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1785923003615" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7309" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M112.127 284.09a390.766 200.815 0 1 0 799.746 0 390.766 200.815 0 1 0-799.746 0z" p-id="7310"></path><path d="M512 551.409c-163.335 0-303.792-50.328-365.87-122.452-21.857 25.394-34.003 53.489-34.003 83.043 0 113.492 179.03 205.495 399.873 205.495S911.873 625.492 911.873 512c0-29.554-12.145-57.649-34.003-83.043C815.792 501.08 675.335 551.409 512 551.409z" p-id="7311"></path><path d="M512 784.985c-165.467 0-307.456-51.648-368.263-125.285-20.35 24.644-31.61 51.752-31.61 80.21 0 113.492 179.03 205.495 399.873 205.495s399.873-92.003 399.873-205.495c0-28.46-11.26-55.566-31.61-80.21C819.456 733.337 677.467 784.985 512 784.985z" p-id="7312"></path></svg>
|
||||
|
After Width: | Height: | Size: 987 B |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user