8/19 report
This commit is contained in:
@@ -9,9 +9,9 @@ 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.1.6: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'
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ export interface sourceType {
|
|||||||
'garbageFee': string;
|
'garbageFee': string;
|
||||||
'garbageFeePercent': string;
|
'garbageFeePercent': string;
|
||||||
}
|
}
|
||||||
// 收入来源 --₧╬.╬
|
// 收入来源
|
||||||
export const income_scourcApi = (datetime?: string): AxiosPromise<sourceType> => {
|
export const income_scourcApi = (datetime?: string): AxiosPromise<sourceType> => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/analysis/income/source',
|
url: '/api/analysis/income/source',
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
<div style="width: 50px; text-align: right; padding-right: 10px">单元</div>
|
<div style="width: 50px; text-align: right; padding-right: 10px">单元</div>
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<el-select @change="handleChangeUnit" clearable style="width: 120px" v-model="queryParams.unitNoId">
|
<el-select @change="handleChangeUnit" clearable style="width: 120px" v-model="queryParams.unitNoId">
|
||||||
<el-option v-for="(item, index) in unitlist" :key="index" :label="item.unitNoName" :value="item.unitNoId"></el-option>
|
<el-option v-for="(item, index) in unitList" :key="index" :label="item.unitNoName" :value="item.unitNoId"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -119,8 +119,6 @@ const props = defineProps({
|
|||||||
|
|
||||||
const { titleName, returnvalue } = toRefs(props);
|
const { titleName, returnvalue } = toRefs(props);
|
||||||
|
|
||||||
const showids = ref([]);
|
|
||||||
|
|
||||||
// ✅ 手动设置默认值(替代 withDefaults)
|
// ✅ 手动设置默认值(替代 withDefaults)
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
change: [value: string | number | (string | number)[] | BillHouse | BillHouse[]]; // 支持返回数组
|
change: [value: string | number | (string | number)[] | BillHouse | BillHouse[]]; // 支持返回数组
|
||||||
@@ -201,7 +199,7 @@ function getList() {
|
|||||||
/** 楼栋列表 */
|
/** 楼栋列表 */
|
||||||
const buildingList = ref([]);
|
const buildingList = ref([]);
|
||||||
/** 房屋列表 */
|
/** 房屋列表 */
|
||||||
const unitlist = ref([]);
|
const unitList = ref([]);
|
||||||
|
|
||||||
/** 获取楼栋 列表 */
|
/** 获取楼栋 列表 */
|
||||||
function handleChangeHouse() {
|
function handleChangeHouse() {
|
||||||
@@ -209,6 +207,11 @@ function handleChangeHouse() {
|
|||||||
buildingList.value = res.data;
|
buildingList.value = res.data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function handleChangeHouseUseType() {
|
||||||
|
listHouseUseType_add_house().then((res) => {
|
||||||
|
houseUseTypeList.value = res.data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function handleClear() {
|
function handleClear() {
|
||||||
queryParams.value.residentName = '';
|
queryParams.value.residentName = '';
|
||||||
@@ -220,11 +223,11 @@ function handleHouseUseChange() {
|
|||||||
/** 单元列表 */
|
/** 单元列表 */
|
||||||
function handleChangeBuilding(val: string) {
|
function handleChangeBuilding(val: string) {
|
||||||
queryParams.value.unitNoId = null;
|
queryParams.value.unitNoId = null;
|
||||||
unitlist.value = [];
|
unitList.value = [];
|
||||||
|
|
||||||
if (queryParams.value.buildingId) {
|
if (queryParams.value.buildingId) {
|
||||||
getHouselistAPI(val).then((res) => {
|
getHouselistAPI(val).then((res) => {
|
||||||
unitlist.value = res.data.units;
|
unitList.value = res.data.units;
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -299,7 +302,7 @@ function conBack() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ==============================================
|
// ==============================================
|
||||||
// ✅ 核心修改:根据 returnvalue 返回对应的值
|
// ✅ 核心修改:根据 returnValue 返回对应的值
|
||||||
// ==============================================
|
// ==============================================
|
||||||
function confirm() {
|
function confirm() {
|
||||||
dialog.value.dialogVisible = false;
|
dialog.value.dialogVisible = false;
|
||||||
@@ -331,23 +334,33 @@ function confirm() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open: (showidArray: string[] = []) => {
|
/**
|
||||||
|
* @description 打开弹窗
|
||||||
|
* @param { string[] } showIdArray 显示的房屋ID数组
|
||||||
|
* @param { object } params 额外查询参数对象
|
||||||
|
* */
|
||||||
|
open: (showIdArray: string[] = [], params: object = {}) => {
|
||||||
multipleSelection.value = [];
|
multipleSelection.value = [];
|
||||||
showids.value = showidArray;
|
if (Object.keys(params).length > 0) {
|
||||||
if (showidArray && showidArray.length > 0) {
|
queryParams.value = Object.assign({}, queryParams.value, params);
|
||||||
multipleSelection.value = showidArray.map(
|
}
|
||||||
|
// 显示的房屋ID数组
|
||||||
|
if (showIdArray && showIdArray.length > 0) {
|
||||||
|
multipleSelection.value = showIdArray.map(
|
||||||
(id) =>
|
(id) =>
|
||||||
({
|
({
|
||||||
houseId: id
|
houseId: id
|
||||||
}) as BillHouse
|
}) as BillHouse
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
// 刷新列表
|
||||||
getList();
|
getList();
|
||||||
dialog.value.dialogVisible = true;
|
// 刷新房屋用途类型列表
|
||||||
listHouseUseType_add_house().then((res) => {
|
handleChangeHouseUseType();
|
||||||
houseUseTypeList.value = res.data;
|
// 刷新房屋用途类型列表
|
||||||
});
|
|
||||||
handleChangeHouse();
|
handleChangeHouse();
|
||||||
|
// 显示弹窗
|
||||||
|
dialog.value.dialogVisible = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ const handleUpdate = (row?: ActivityVO) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 提交按钮 ╬╬╬╬╬╬2╬22╬2╬«2╬2▐2╬╬╬╬╬ */
|
/** 提交按钮 */
|
||||||
const submitForm = () => {
|
const submitForm = () => {
|
||||||
activityFormRef.value?.validate(async (valid: boolean) => {
|
activityFormRef.value?.validate(async (valid: boolean) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="预约日期" prop="orderDate">
|
<el-form-item label="预约日期" prop="orderDate">
|
||||||
<el-date-picker v-model="form.orderDate" type="date" placeholder="年/月/日" value-format="YYYY-MM-DD" />
|
<el-date-picker v-model="form.orderDate" type="datetime" placeholder="年/月/日 时:分:秒" value-format="YYYY-MM-DD HH:mm:ss" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ function handleChange(val: string) {
|
|||||||
form.value.projectType = find.projectType;
|
form.value.projectType = find.projectType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// != ==========================================8╬
|
// != ==========================================
|
||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
form.value = {
|
form.value = {
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ const HandleTypeId = {
|
|||||||
/** 显示房屋 */
|
/** 显示房屋 */
|
||||||
'House': {
|
'House': {
|
||||||
/** 水费 */
|
/** 水费 */
|
||||||
'Water': '2049026484272791553',
|
'Water': '2064181187503652865',
|
||||||
/** 电费 */
|
/** 电费 */
|
||||||
'Electricity': '2049026503017136129'
|
'Electricity': '2049026503017136129'
|
||||||
},
|
},
|
||||||
@@ -260,6 +260,7 @@ function handleChange(val: string, callback: boolean = false) {
|
|||||||
if (find) {
|
if (find) {
|
||||||
form.value.chargeTypeId = find.typeId;
|
form.value.chargeTypeId = find.typeId;
|
||||||
typeName.value = find.typeId;
|
typeName.value = find.typeId;
|
||||||
|
|
||||||
if (callback) {
|
if (callback) {
|
||||||
handleClearCheckout();
|
handleClearCheckout();
|
||||||
}
|
}
|
||||||
@@ -302,7 +303,9 @@ const userRef = ref<InstanceType<typeof UserHolder>>();
|
|||||||
const ParkingUserRef = ref<InstanceType<typeof CarUser>>();
|
const ParkingUserRef = ref<InstanceType<typeof CarUser>>();
|
||||||
function OpenUseTablesFun(val: string) {
|
function OpenUseTablesFun(val: string) {
|
||||||
if (val === 'house') {
|
if (val === 'house') {
|
||||||
HolderRef.value.open(checkoutHouses.value);
|
HolderRef.value.open(checkoutHouses.value, {
|
||||||
|
chargeTypeId: form.value.chargeTypeId
|
||||||
|
});
|
||||||
} else if (val === 'user') {
|
} else if (val === 'user') {
|
||||||
if (typeName.value === HandleTypeId.Resident.Parking) {
|
if (typeName.value === HandleTypeId.Resident.Parking) {
|
||||||
ParkingUserRef.value.open(checkoutParking.value);
|
ParkingUserRef.value.open(checkoutParking.value);
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ const total = ref(0);
|
|||||||
|
|
||||||
const queryFormRef = ref<ElFormInstance>();
|
const queryFormRef = ref<ElFormInstance>();
|
||||||
|
|
||||||
const ShowHouseList = ['2049026484272791553', '2049026503017136129'];
|
const ShowHouseList = ['2064181187503652865', '2049026503017136129'];
|
||||||
|
|
||||||
const initFormData: BillForm = {
|
const initFormData: BillForm = {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ const houseStore = useHouseStore();
|
|||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const form = ref<addHouseType>({
|
const form = ref<addHouseType>({
|
||||||
buildingId: '',
|
buildingId: '',
|
||||||
houseUseTypeId: '', // 房屋用途╬
|
houseUseTypeId: '', // 房屋用途
|
||||||
unitNoId: '',
|
unitNoId: '',
|
||||||
floorNo: '',
|
floorNo: '',
|
||||||
houseNo: '', // 房 间 号
|
houseNo: '', // 房 间 号
|
||||||
|
|||||||
@@ -320,7 +320,7 @@ const rules = ref({
|
|||||||
const userid = ref(null);
|
const userid = ref(null);
|
||||||
const treeData = ref(null);
|
const treeData = ref(null);
|
||||||
const houseFacilities = ref([]);
|
const houseFacilities = ref([]);
|
||||||
// !== 楼栋房屋 =============================================================================╬
|
// !== 楼栋房屋 =============================================================================
|
||||||
async function getTreeData() {
|
async function getTreeData() {
|
||||||
const resList = await listHouseFacilities();
|
const resList = await listHouseFacilities();
|
||||||
houseFacilities.value = resList.rows
|
houseFacilities.value = resList.rows
|
||||||
|
|||||||
@@ -150,7 +150,6 @@ async function init() {
|
|||||||
HouseInfo.value.houseImageUrls = HouseInfo.value.houseImageUrl.split(',').filter((item) => item);
|
HouseInfo.value.houseImageUrls = HouseInfo.value.houseImageUrl.split(',').filter((item) => item);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//.╬
|
|
||||||
init();
|
init();
|
||||||
|
|
||||||
function handlefacilities(id: string) {
|
function handlefacilities(id: string) {
|
||||||
|
|||||||
@@ -294,7 +294,7 @@ const getList = async () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 取消按钮╬ */
|
/** 取消按钮 */
|
||||||
const cancel = () => {
|
const cancel = () => {
|
||||||
reset();
|
reset();
|
||||||
dialog.visible = false;
|
dialog.visible = false;
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
<pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
|
<pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
|
||||||
</el-card>
|
</el-card>
|
||||||
<!-- 添加或修改公告对话框 ╬-->
|
<!-- 添加或修改公告对话框 -->
|
||||||
<el-dialog v-model="dialog.visible" :title="dialog.title" width="780px" append-to-body>
|
<el-dialog v-model="dialog.visible" :title="dialog.title" width="780px" append-to-body>
|
||||||
<el-form ref="noticeFormRef" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="noticeFormRef" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-row>
|
<el-row>
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ const data = reactive({
|
|||||||
|
|
||||||
const { queryParams } = toRefs(data);
|
const { queryParams } = toRefs(data);
|
||||||
|
|
||||||
// 查询 房屋类型╬╬╬╬╬2╬>
|
// 查询 房屋类型
|
||||||
const houseUseList = ref([]);
|
const houseUseList = ref([]);
|
||||||
function handleQueryHouseUse() {
|
function handleQueryHouseUse() {
|
||||||
listHouseUseType().then((res) => {
|
listHouseUseType().then((res) => {
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ function getChartTypeList() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询电抄记录列表 ╬╬╬2╬«2╬╬╬╬22╬╬╬╬╬*/
|
/** 查询电抄记录列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
const search = { ...queryParams.value };
|
const search = { ...queryParams.value };
|
||||||
|
|||||||
@@ -57,14 +57,17 @@
|
|||||||
<el-table-column label="现金类" align="center" prop="cashAmount">
|
<el-table-column label="现金类" align="center" prop="cashAmount">
|
||||||
<template #default>
|
<template #default>
|
||||||
<el-table-column label="现金" align="center" prop="cashAmount"></el-table-column>
|
<el-table-column label="现金" align="center" prop="cashAmount"></el-table-column>
|
||||||
|
<el-table-column label="支付宝" align="center" prop="alipayAmount"></el-table-column>
|
||||||
|
<el-table-column label="宜当付" align="center" prop="yiDangFuAmount"></el-table-column>
|
||||||
<el-table-column label="银联" align="center" prop="unionPayAmount"></el-table-column>
|
<el-table-column label="银联" align="center" prop="unionPayAmount"></el-table-column>
|
||||||
<el-table-column label="转账" align="center" prop="transferAmount"></el-table-column>
|
<el-table-column label="转账" align="center" prop="transferAmount"></el-table-column>
|
||||||
<el-table-column label="微信商户" align="center" prop="wechatAmount"></el-table-column>
|
<el-table-column label="微信" align="center" prop="wechatAmount"></el-table-column>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="顶账类" align="center" prop="deposit">
|
<el-table-column label="顶账类" align="center" prop="deposit">
|
||||||
<template #default>
|
<template #default>
|
||||||
<el-table-column label="押金抵顶" align="center" prop="depositAmount"></el-table-column>
|
<el-table-column label="押金抵顶" align="center" prop="depositAmount"></el-table-column>
|
||||||
|
<el-table-column label="房产抵顶" align="center" prop="propertyOffsetAmount"></el-table-column>
|
||||||
<el-table-column label="减免优惠" align="center" prop="discountAmount"></el-table-column>
|
<el-table-column label="减免优惠" align="center" prop="discountAmount"></el-table-column>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -227,6 +230,8 @@ const handleExport = () => {
|
|||||||
label: '现金类',
|
label: '现金类',
|
||||||
children: [
|
children: [
|
||||||
{ label: '现金', prop: 'cashAmount' },
|
{ label: '现金', prop: 'cashAmount' },
|
||||||
|
{ label: '支付宝', prop: 'alipayAmount' },
|
||||||
|
{ label: '宜当付', prop: 'yiDangFuAmount' },
|
||||||
{ label: '银联', prop: 'unionPayAmount' },
|
{ label: '银联', prop: 'unionPayAmount' },
|
||||||
{ label: '转账', prop: 'transferAmount' },
|
{ label: '转账', prop: 'transferAmount' },
|
||||||
{ label: '微信商户', prop: 'wechatAmount' }
|
{ label: '微信商户', prop: 'wechatAmount' }
|
||||||
@@ -236,6 +241,7 @@ const handleExport = () => {
|
|||||||
label: '顶账类',
|
label: '顶账类',
|
||||||
children: [
|
children: [
|
||||||
{ label: '押金抵顶', prop: 'depositAmount' },
|
{ label: '押金抵顶', prop: 'depositAmount' },
|
||||||
|
{ label: '房产抵顶', prop: 'propertyOffsetAmount' },
|
||||||
{ label: '减免优惠', prop: 'discountAmount' }
|
{ label: '减免优惠', prop: 'discountAmount' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ function getMonthList() {
|
|||||||
...arr
|
...arr
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
// 动态列名列表▐╬ .3╬
|
// 动态列名列表
|
||||||
const dynamicColumns = ref<string[]>([]);
|
const dynamicColumns = ref<string[]>([]);
|
||||||
|
|
||||||
// 在获取数据后更新动态列
|
// 在获取数据后更新动态列
|
||||||
|
|||||||
@@ -384,7 +384,7 @@ const data = reactive({
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 动态生成表单验证规则╘╬
|
// 动态生成表单验证规则╘╬╬╬
|
||||||
const { queryParams, rules } = toRefs(data);
|
const { queryParams, rules } = toRefs(data);
|
||||||
|
|
||||||
// 查询房屋类型列表
|
// 查询房屋类型列表
|
||||||
@@ -406,14 +406,14 @@ const getList = async () => {
|
|||||||
});
|
});
|
||||||
getMonthFeeReportList(search)
|
getMonthFeeReportList(search)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
ArrearsDetailList.value = [...res.rows];
|
ArrearsDetailList.value = res.rows ?? [];
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作8 */
|
||||||
const handleQuery = () => {
|
const handleQuery = () => {
|
||||||
queryParams.value.pageNum = 1;
|
queryParams.value.pageNum = 1;
|
||||||
getList();
|
getList();
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
<!-- <div class="userinfo_item">
|
<!-- <div class="userinfo_item">
|
||||||
<div class="title_item">注册时间:</div>
|
<div class="title_item">注册时间:</div>
|
||||||
<span> {{ userInfo.name }} </span>╬6╬╬222╬▐
|
<span> {{ userInfo.name }} </span>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="userinfo_item img">
|
<div class="userinfo_item img">
|
||||||
<div class="title_item">身份证正面:</div>
|
<div class="title_item">身份证正面:</div>
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ const form = ref<ResidentForm>({
|
|||||||
idCardType: '0', // 证件类型
|
idCardType: '0', // 证件类型
|
||||||
cardImageBack: '',
|
cardImageBack: '',
|
||||||
age: 0, //年龄
|
age: 0, //年龄
|
||||||
remark: '' //备注╬╬▓╬▐╬╬
|
remark: '' //备注
|
||||||
});
|
});
|
||||||
const userHousePath = ref<CascaderValue>([]);
|
const userHousePath = ref<CascaderValue>([]);
|
||||||
const rules = ref({
|
const rules = ref({
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ const dayX = ref([]);
|
|||||||
const inData = ref([]);
|
const inData = ref([]);
|
||||||
const outData = ref([]);
|
const outData = ref([]);
|
||||||
|
|
||||||
/** 近十天人员流入流出 - 平滑折线图╥╬ */
|
/** 近十天人员流入流出 - 平滑折线图*/
|
||||||
const flowLineOption = ref<EChartsOption>({
|
const flowLineOption = ref<EChartsOption>({
|
||||||
title: {
|
title: {
|
||||||
text: '近七日人员流动趋势',
|
text: '近七日人员流动趋势',
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ const rules = ref({
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
// 选择小区╬222╬╬╬╬╬╬n╬
|
// 选择小区
|
||||||
const checkvillage = ref([]);
|
const checkvillage = ref([]);
|
||||||
// 角色列表
|
// 角色列表
|
||||||
const roleOptions = ref([]);
|
const roleOptions = ref([]);
|
||||||
|
|||||||
Reference in New Issue
Block a user