临时
This commit is contained in:
@@ -6,22 +6,22 @@
|
||||
<div class="addBuildingFormBody">
|
||||
<el-form class="formBody" ref="formRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="楼栋名称" prop="buildingName">
|
||||
<el-input v-model="form.buildingName" placeholder="请输入楼栋名称" />
|
||||
<el-input v-model.trim="form.buildingName" placeholder="请输入楼栋名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="楼栋朝向" prop="buildingCode">
|
||||
<el-input v-model="form.buildingCode" placeholder="请输入楼栋朝向" />
|
||||
<el-form-item label="楼栋朝向" prop="buildToward">
|
||||
<el-input v-model.trim="form.buildToward" placeholder="请输入楼栋朝向" />
|
||||
</el-form-item>
|
||||
<el-form-item label="楼高(m)" prop="buildingType">
|
||||
<el-input v-model="form.buildingType" placeholder="请输入楼高(m)" />
|
||||
<el-form-item label="楼高(m)" prop="buildTail">
|
||||
<el-input v-model.trim="form.buildTail" placeholder="请输入楼高(m)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="楼栋结构" prop="buildingArea">
|
||||
<el-input v-model="form.buildingArea" placeholder="请输入楼栋结构" />
|
||||
<el-form-item label="楼栋结构" prop="buildStructure">
|
||||
<el-input v-model.trim="form.buildStructure" placeholder="请输入楼栋结构" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单元数" prop="buildingAddress">
|
||||
<el-input-number :min="1" v-model="form.buildingAddress" placeholder="单元数" />
|
||||
<el-form-item label="单元数" prop="unitCount">
|
||||
<el-input-number :min="1" v-model.trim="form.unitCount" placeholder="单元数" />
|
||||
</el-form-item>
|
||||
<el-form-item label="楼层" prop="buildingDescription">
|
||||
<el-input-number :min="1" v-model="form.buildingDescription" placeholder="楼层数" />
|
||||
<el-form-item label="楼层" prop="floorCount">
|
||||
<el-input-number :min="1" v-model.trim="form.floorCount" placeholder="楼层数" />
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-top: 30px">
|
||||
<el-button type="primary" @click="submitForm">确定</el-button>
|
||||
@@ -36,30 +36,52 @@
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
import PageHeader from '@/components/Pageheader/index.vue';
|
||||
import { getCommunitylistAPI } from '@/api/system/community';
|
||||
import { addBuildingApi } from '@/api/system/house';
|
||||
const formRef = ref();
|
||||
const form = ref({
|
||||
buildingName: '',
|
||||
buildingCode: '',
|
||||
buildingType: '',
|
||||
buildingArea: '',
|
||||
buildingAddress: null,
|
||||
buildingDescription: null
|
||||
buildToward: '',
|
||||
buildTail: '',
|
||||
buildStructure: '',
|
||||
unitCount: null,
|
||||
floorCount: null
|
||||
});
|
||||
const rules = ref({
|
||||
buildingName: [{ required: true, message: '请输入楼栋名称', trigger: 'blur' }],
|
||||
buildingAddress: [{ required: true, message: '请输入单元数', trigger: 'blur' }],
|
||||
buildingDescription: [{ required: true, message: '请输入楼层', trigger: 'blur' }]
|
||||
unitCount: [{ required: true, message: '请输入单元数', trigger: 'blur' }],
|
||||
floorCount: [{ required: true, message: '请输入楼层数', trigger: 'blur' }]
|
||||
});
|
||||
|
||||
// 获取当前小区信息
|
||||
const currentVilageinfo = ref();
|
||||
function getVilageFun() {
|
||||
getCommunitylistAPI().then((res) => {
|
||||
currentVilageinfo.value = res.rows.find((item) => item.choiceStatus === 0);
|
||||
});
|
||||
}
|
||||
// getVilageFun();
|
||||
const submitForm = () => {
|
||||
formRef.value?.validate(async (valid: boolean) => {
|
||||
if (valid) {
|
||||
console.log(form.value);
|
||||
addBuildingApi({
|
||||
...form.value,
|
||||
villageId: currentVilageinfo.value.id
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
ElMessage.success('添加成功');
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
ElMessage.error('添加失败');
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const cancelForm = () => {
|
||||
console.log('取消');
|
||||
formRef.value?.resetFields();
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
:key="index"
|
||||
@click="switchBuilding(item.id)"
|
||||
>
|
||||
<div class="buildingname">{{ item.villageName ?? '未知' }}</div>
|
||||
<div class="buildingname">{{ item.buildingName ?? '测试数据' }}</div>
|
||||
<div class="buildactions flex align-center justify-around">
|
||||
<el-icon class="pointer hover-color-blue"><Setting /></el-icon>
|
||||
<el-icon class="pointer hover-color-red"><Delete /></el-icon>
|
||||
@@ -26,13 +26,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
import { useHouseStore } from '@/store/modules/house';
|
||||
const houseStore = useHouseStore();
|
||||
const { switchBuilding } = houseStore; // 方法
|
||||
const { currentBuildingInfoList, currentBuildingInfo } = storeToRefs(houseStore); // 数据
|
||||
const router = useRouter();
|
||||
|
||||
console.log(currentBuildingInfoList);
|
||||
const handleAddBuilding = () => {
|
||||
router.push({
|
||||
path: '/house/addbuilding'
|
||||
|
||||
@@ -25,8 +25,8 @@ const checked = ref<string[]>([]);
|
||||
// 菜单ref
|
||||
const contextMenu = ref();
|
||||
// 点击事件
|
||||
const handleSelect = (val: string) => {
|
||||
emit('contextmenufun', val);
|
||||
const handleSelect = (data: { type: string; value: string }) => {
|
||||
emit('contextmenufun', data);
|
||||
};
|
||||
function handleClick(house: HouseType) {
|
||||
checked.value = checked.value.includes(house.houseId)
|
||||
@@ -37,7 +37,7 @@ function handleClick(house: HouseType) {
|
||||
|
||||
const emit = defineEmits<{
|
||||
change: [value: string[]];
|
||||
contextmenufun: [value: string];
|
||||
contextmenufun: [value: { type: string; value: string }];
|
||||
}>();
|
||||
</script>
|
||||
|
||||
|
||||
@@ -15,7 +15,13 @@
|
||||
:key="index"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<houseItem :menu-list="menutlist" :unit="units.floors_Json" :f-idx="row"></houseItem>
|
||||
<houseItem
|
||||
@contextmenufun="contextMenuFun"
|
||||
@change="handleChange"
|
||||
:menu-list="menutlist"
|
||||
:unit="units.floors_Json"
|
||||
:f-idx="row"
|
||||
></houseItem>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -33,6 +39,26 @@ const menutlist = [
|
||||
{ label: '详情', value: 'main' },
|
||||
{ label: '删除', value: 'delete' }
|
||||
];
|
||||
function contextMenuFun(val: { type: string; value: string }) {
|
||||
switch (val.type) {
|
||||
case 'edit':
|
||||
console.log('你选择了:', val);
|
||||
break;
|
||||
case 'money':
|
||||
console.log('你选择了:', val);
|
||||
break;
|
||||
case 'main':
|
||||
console.log('你选择了:', val);
|
||||
break;
|
||||
case 'delete':
|
||||
console.log('你选择了:', val);
|
||||
houseStore.deleteHouseFun(val.value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
function handleChange(data: string[]) {
|
||||
houseStore.checkoutHousesFun(data);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
Reference in New Issue
Block a user