物业之前,新工作台

This commit is contained in:
Zy
2026-04-16 21:03:35 +08:00
parent cf9a1f1585
commit 4184f1c55d
91 changed files with 1781 additions and 588 deletions

View File

@@ -66,10 +66,9 @@
import { ref } from 'vue';
import PageHeader from '@/components/Pageheader/index.vue';
import { getBuildinglistAPI, getBuildinglists, getBuildingOnly, getHouselistAPI } from '@/api/system/house';
import { getCommunitylistAPI } from '@/api/system/community';
import { addStoreroom, getStoreroom } from '@/api/system/storeroom';
import { addStoreroom, getStoreroom, updateStoreroom } from '@/api/system/storeroom';
import { StoreroomVO } from '@/api/system/storeroom/types';
import { N } from 'vue-router/dist/index-DFCq6eJK.js';
const route = useRoute();
const router = useRouter();
const formRef = ref();
@@ -94,12 +93,10 @@ const rules = ref({
const storeRoomid = ref(null);
const units = ref([]);
const Buildinglists = ref([]);
const currentVilage = ref(null);
// 获取储藏室信息
function getStoreRoominfo(id: string) {
getStoreroom(id).then((res) => {
console.log(res);
form.value = {
...form.value,
...res.data
@@ -110,7 +107,6 @@ function getStoreRoominfo(id: string) {
function init() {
getBuildinglists().then((res) => {
Buildinglists.value = res.rows;
console.log(res.rows);
});
}
init();
@@ -121,7 +117,6 @@ if (route.query.id) {
// 根据楼栋id获取单元
function handleChangeBuild(val: string) {
getBuildingOnly(val).then((res) => {
console.log(res);
units.value = Array.from({ length: res.data.unitCount }).map((_, index) => {
return {
no: index + 1,
@@ -134,21 +129,24 @@ const submitForm = () => {
formRef.value?.validate(async (valid: boolean) => {
if (valid) {
const data = {
...form.value
...form.value,
villageId: Number(localStorage.getItem('villageid'))
};
if (storeRoomid.value !== null) {
console.log('修改');
updateStoreroom(data).then(() => {
ElMessage.success('修改成功');
cancelForm();
});
} else {
console.log('新增');
addStoreroom(data).then((res) => {
console.log(res);
addStoreroom(data).then(() => {
ElMessage.success('添加成功');
cancelForm();
});
}
}
});
};
const cancelForm = () => {
console.log('取消');
router.push({
path: '/house/storeroom'
});

View File

@@ -5,27 +5,9 @@
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form label-width="100" ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="所属楼栋ID" prop="buildingId">
<el-input v-model="queryParams.buildingId" placeholder="请输入所属楼栋ID" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="单元号" prop="unitNo">
<el-input v-model="queryParams.unitNo" placeholder="请输入单元号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="储藏室号" prop="storeroomNo">
<el-input v-model="queryParams.storeroomNo" placeholder="请输入储藏室号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="建筑面积(㎡)" prop="houseArea">
<el-input v-model="queryParams.houseArea" placeholder="请输入建筑面积(㎡)" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="公摊面积(㎡)" prop="shareArea">
<el-input v-model="queryParams.shareArea" placeholder="请输入公摊面积(㎡)" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="实用面积(㎡)" prop="internalArea">
<el-input v-model="queryParams.internalArea" placeholder="请输入实用面积(㎡)" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="关联房屋ID" prop="houseId">
<el-input v-model="queryParams.houseId" placeholder="请输入关联房屋ID" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -57,8 +39,7 @@
<el-table class="tablebody" v-loading="loading" border :data="storeroomList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="储藏室ID" align="center" prop="id" v-if="true" />
<el-table-column label="所属楼栋ID" align="center" prop="buildingId" />
<el-table-column label="楼栋名" align="center" prop="buildingName" />
<el-table-column label="单元号" align="center" prop="unitNo" />
<el-table-column label="储藏室号" align="center" prop="storeroomNo" />
<el-table-column label="建筑面积(㎡)" align="center" prop="houseArea" />
@@ -79,41 +60,6 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改储藏室管理对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="storeroomFormRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="所属楼栋ID" prop="buildingId">
<el-input v-model="form.buildingId" placeholder="请输入所属楼栋ID" />
</el-form-item>
<el-form-item label="单元号" prop="unitNo">
<el-input v-model="form.unitNo" placeholder="请输入单元号" />
</el-form-item>
<el-form-item label="储藏室号" prop="storeroomNo">
<el-input v-model="form.storeroomNo" placeholder="请输入储藏室号" />
</el-form-item>
<el-form-item label="建筑面积(㎡)" prop="houseArea">
<el-input v-model="form.houseArea" placeholder="请输入建筑面积(㎡)" />
</el-form-item>
<el-form-item label="公摊面积(㎡)" prop="shareArea">
<el-input v-model="form.shareArea" placeholder="请输入公摊面积(㎡)" />
</el-form-item>
<el-form-item label="实用面积(㎡)" prop="internalArea">
<el-input v-model="form.internalArea" placeholder="请输入实用面积(㎡)" />
</el-form-item>
<el-form-item label="关联房屋ID" prop="houseId">
<el-input v-model="form.houseId" placeholder="请输入关联房屋ID" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
@@ -121,8 +67,10 @@
import Pageheader from '@/components/Pageheader/index.vue';
import { listStoreroom, getStoreroom, delStoreroom, addStoreroom, updateStoreroom } from '@/api/system/storeroom/index';
import { StoreroomVO, StoreroomQuery, StoreroomForm } from '@/api/system/storeroom/types';
import { getBuildinglists } from '@/api/system/house';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const router = useRouter();
const storeroomList = ref<StoreroomVO[]>([]);
const buttonLoading = ref(false);
@@ -158,6 +106,7 @@ const data = reactive<PageData<StoreroomForm, StoreroomQuery>>({
queryParams: {
pageNum: 1,
pageSize: 10,
villageId: Number(localStorage.getItem('villageid')),
buildingId: undefined,
unitNo: undefined,
storeroomNo: undefined,
@@ -169,15 +118,20 @@ const data = reactive<PageData<StoreroomForm, StoreroomQuery>>({
params: {}
},
rules: {
id: [{ required: true, message: '储藏室ID不能为空', trigger: 'blur' }],
buildingId: [{ required: true, message: '所属楼栋ID不能为空', trigger: 'blur' }],
unitNo: [{ required: true, message: '单元号不能为空', trigger: 'blur' }],
storeroomNo: [{ required: true, message: '储藏室号不能为空', trigger: 'blur' }]
}
});
const { queryParams, form, rules } = toRefs(data);
const buildinglist = ref([]);
function getbudilinglist() {
getBuildinglists().then((res) => {
buildinglist.value = res.rows;
});
}
getbudilinglist();
/** 查询储藏室管理列表 */
const getList = async () => {
loading.value = true;
@@ -233,29 +187,6 @@ const handleUpdate = async (row?: StoreroomVO) => {
id: row.id
}
});
// reset();
// const _id = row?.id || ids.value[0];
// const res = await getStoreroom(_id);
// Object.assign(form.value, res.data);
// dialog.visible = true;
// dialog.title = '修改储藏室管理';
};
/** 提交按钮 */
const submitForm = () => {
storeroomFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.id) {
await updateStoreroom(form.value).finally(() => (buttonLoading.value = false));
} else {
await addStoreroom(form.value).finally(() => (buttonLoading.value = false));
}
proxy?.$modal.msgSuccess('操作成功');
dialog.visible = false;
await getList();
}
});
};
/** 删除按钮操作 */