feat
This commit is contained in:
@@ -23,7 +23,7 @@ const [BasicForm, formApi] = useVbenForm({
|
||||
// 默认占满两列
|
||||
formItemClass: 'col-span-1',
|
||||
// 默认label宽度 px
|
||||
labelWidth: 80,
|
||||
labelWidth: 90,
|
||||
// 通用配置项 会影响到所有表单项
|
||||
componentProps: {
|
||||
class: 'w-full',
|
||||
|
@@ -49,6 +49,10 @@ export const columns: VxeGridProps['columns'] = [
|
||||
title: '建筑名称',
|
||||
field: 'buildingName',
|
||||
},
|
||||
{
|
||||
title: '社区',
|
||||
field: 'communityText',
|
||||
},
|
||||
{
|
||||
title: '总层数',
|
||||
field: 'floorCount',
|
||||
@@ -73,6 +77,18 @@ export const columns: VxeGridProps['columns'] = [
|
||||
title: '地址',
|
||||
field: 'addr',
|
||||
},
|
||||
{
|
||||
title: '建筑面积(㎡)',
|
||||
field: 'area',
|
||||
},
|
||||
{
|
||||
title: '套内面积(㎡)',
|
||||
field: 'insideInArea',
|
||||
},
|
||||
{
|
||||
title: '公摊面积(㎡)',
|
||||
field: 'sharedArea',
|
||||
},
|
||||
{
|
||||
field: 'action',
|
||||
fixed: 'right',
|
||||
@@ -153,4 +169,34 @@ export const modalSchema: FormSchemaGetter = () => [
|
||||
component: 'Input',
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
label: '建筑面积(㎡)',
|
||||
fieldName: 'area',
|
||||
component: 'InputNumber',
|
||||
componentProps: {
|
||||
min:0,
|
||||
precision:2,
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
label: '套内面积(㎡)',
|
||||
fieldName: 'insideInArea',
|
||||
component: 'InputNumber',
|
||||
componentProps: {
|
||||
min:0,
|
||||
precision:2,
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
label: '公摊面积(㎡)',
|
||||
fieldName: 'sharedArea',
|
||||
component: 'InputNumber',
|
||||
componentProps: {
|
||||
min:0,
|
||||
precision:2,
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
];
|
||||
|
@@ -13,6 +13,14 @@ export const querySchema: FormSchemaGetter = () => [
|
||||
// export const columns: () => VxeGridProps['columns'] = () => [
|
||||
export const columns: VxeGridProps['columns'] = [
|
||||
{ type: 'checkbox', width: 60 },
|
||||
{
|
||||
title: '社区',
|
||||
field: 'communityText',
|
||||
},
|
||||
{
|
||||
title: '建筑',
|
||||
field: 'buildingText',
|
||||
},
|
||||
{
|
||||
title: '楼层名称',
|
||||
field: 'floorName',
|
||||
@@ -33,6 +41,18 @@ export const columns: VxeGridProps['columns'] = [
|
||||
title: '层高',
|
||||
field: 'floorHeight',
|
||||
},
|
||||
{
|
||||
title: '建筑面积(㎡)',
|
||||
field: 'area',
|
||||
},
|
||||
{
|
||||
title: '套内面积(㎡)',
|
||||
field: 'insideInArea',
|
||||
},
|
||||
{
|
||||
title: '公摊面积(㎡)',
|
||||
field: 'sharedArea',
|
||||
},
|
||||
{
|
||||
field: 'action',
|
||||
fixed: 'right',
|
||||
@@ -95,4 +115,34 @@ export const modalSchema: FormSchemaGetter = () => [
|
||||
precision:0,
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '建筑面积(㎡)',
|
||||
fieldName: 'area',
|
||||
component: 'InputNumber',
|
||||
componentProps: {
|
||||
min:0,
|
||||
precision:2,
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
label: '套内面积(㎡)',
|
||||
fieldName: 'insideInArea',
|
||||
component: 'InputNumber',
|
||||
componentProps: {
|
||||
min:0,
|
||||
precision:2,
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
label: '公摊面积(㎡)',
|
||||
fieldName: 'sharedArea',
|
||||
component: 'InputNumber',
|
||||
componentProps: {
|
||||
min:0,
|
||||
precision:2,
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
];
|
||||
|
@@ -22,9 +22,9 @@ const title = computed(() => {
|
||||
const [BasicForm, formApi] = useVbenForm({
|
||||
commonConfig: {
|
||||
// 默认占满两列
|
||||
formItemClass: 'col-span-2',
|
||||
formItemClass: 'col-span-1',
|
||||
// 默认label宽度 px
|
||||
labelWidth: 80,
|
||||
labelWidth: 90,
|
||||
// 通用配置项 会影响到所有表单项
|
||||
componentProps: {
|
||||
class: 'w-full',
|
||||
@@ -44,7 +44,7 @@ const { onBeforeClose, markInitialized, resetInitialized } = useBeforeCloseDiff(
|
||||
|
||||
const [BasicModal, modalApi] = useVbenModal({
|
||||
// 在这里更改宽度
|
||||
class: 'w-[550px]',
|
||||
class: 'w-[60%]',
|
||||
fullscreenButton: false,
|
||||
onBeforeClose,
|
||||
onClosed: handleClosed,
|
||||
|
@@ -4,7 +4,7 @@ import type { DeptTree } from '#/api/system/user/model';
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { SyncOutlined } from '@ant-design/icons-vue';
|
||||
import { Empty, InputSearch, Skeleton, Tree } from 'ant-design-vue';
|
||||
import { getDeptTree } from '#/api/system/user';
|
||||
import { communityTree } from '#/api/property/community';
|
||||
|
||||
defineOptions({ inheritAttrs: false });
|
||||
|
||||
@@ -41,7 +41,7 @@ async function loadTree() {
|
||||
showTreeSkeleton.value = true;
|
||||
searchValue.value = '';
|
||||
selectDeptId.value = [];
|
||||
const ret = await getDeptTree();
|
||||
const ret = await communityTree(3);
|
||||
deptTreeArray.value = ret;
|
||||
showTreeSkeleton.value = false;
|
||||
}
|
||||
|
@@ -120,65 +120,61 @@ function handleDownloadExcel() {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div style="display: grid;grid-template-columns: 1fr 5fr;">
|
||||
<div style="padding: 15px 0 15px 15px;background-color: red">
|
||||
<Page :auto-content-height="true" style="width: 100%">
|
||||
<div class="flex h-full gap-[15px]">
|
||||
<FloorTree></FloorTree>
|
||||
</div>
|
||||
<div>
|
||||
<Page :auto-content-height="true">
|
||||
<BasicTable table-title="房间信息列表">
|
||||
<template #toolbar-tools>
|
||||
<Space>
|
||||
<a-button
|
||||
v-access:code="['property:room:export']"
|
||||
@click="handleDownloadExcel"
|
||||
>
|
||||
{{ $t('pages.common.export') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
:disabled="!vxeCheckboxChecked(tableApi)"
|
||||
danger
|
||||
type="primary"
|
||||
v-access:code="['property:room:remove']"
|
||||
@click="handleMultiDelete">
|
||||
{{ $t('pages.common.delete') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
type="primary"
|
||||
v-access:code="['property:room:add']"
|
||||
@click="handleAdd"
|
||||
>
|
||||
{{ $t('pages.common.add') }}
|
||||
</a-button>
|
||||
</Space>
|
||||
</template>
|
||||
<template #action="{ row }">
|
||||
<Space>
|
||||
<BasicTable class="flex-1 overflow-hidden" table-title="房间信息列表">
|
||||
<template #toolbar-tools>
|
||||
<Space>
|
||||
<a-button
|
||||
v-access:code="['property:room:export']"
|
||||
@click="handleDownloadExcel"
|
||||
>
|
||||
{{ $t('pages.common.export') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
:disabled="!vxeCheckboxChecked(tableApi)"
|
||||
danger
|
||||
type="primary"
|
||||
v-access:code="['property:room:remove']"
|
||||
@click="handleMultiDelete">
|
||||
{{ $t('pages.common.delete') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
type="primary"
|
||||
v-access:code="['property:room:add']"
|
||||
@click="handleAdd"
|
||||
>
|
||||
{{ $t('pages.common.add') }}
|
||||
</a-button>
|
||||
</Space>
|
||||
</template>
|
||||
<template #action="{ row }">
|
||||
<Space>
|
||||
<ghost-button
|
||||
v-access:code="['property:room:edit']"
|
||||
@click.stop="handleEdit(row)"
|
||||
>
|
||||
{{ $t('pages.common.edit') }}
|
||||
</ghost-button>
|
||||
<Popconfirm
|
||||
:get-popup-container="getVxePopupContainer"
|
||||
placement="left"
|
||||
title="确认删除?"
|
||||
@confirm="handleDelete(row)"
|
||||
>
|
||||
<ghost-button
|
||||
v-access:code="['property:room:edit']"
|
||||
@click.stop="handleEdit(row)"
|
||||
danger
|
||||
v-access:code="['property:room:remove']"
|
||||
@click.stop=""
|
||||
>
|
||||
{{ $t('pages.common.edit') }}
|
||||
{{ $t('pages.common.delete') }}
|
||||
</ghost-button>
|
||||
<Popconfirm
|
||||
:get-popup-container="getVxePopupContainer"
|
||||
placement="left"
|
||||
title="确认删除?"
|
||||
@confirm="handleDelete(row)"
|
||||
>
|
||||
<ghost-button
|
||||
danger
|
||||
v-access:code="['property:room:remove']"
|
||||
@click.stop=""
|
||||
>
|
||||
{{ $t('pages.common.delete') }}
|
||||
</ghost-button>
|
||||
</Popconfirm>
|
||||
</Space>
|
||||
</template>
|
||||
</BasicTable>
|
||||
<RoomModal @reload="tableApi.query()" />
|
||||
</Page>
|
||||
</Popconfirm>
|
||||
</Space>
|
||||
</template>
|
||||
</BasicTable>
|
||||
</div>
|
||||
</div>
|
||||
<RoomModal @reload="tableApi.query()" />
|
||||
</Page>
|
||||
</template>
|
||||
|
Reference in New Issue
Block a user