feat: 车辆收费、水电抄表、排版管理页面
This commit is contained in:
@@ -3,6 +3,11 @@ import type { VxeGridProps } from '#/adapter/vxe-table';
|
||||
|
||||
import { getDictOptions } from '#/utils/dict';
|
||||
import { renderDict } from '#/utils/render';
|
||||
import { costItemSettingList } from '#/api/property/costManagement/costItemSetting';
|
||||
import { personList } from '#/api/property/resident/person';
|
||||
import { communityTree } from '#/api/property/community';
|
||||
import { handleNode } from '@vben/utils';
|
||||
|
||||
|
||||
export const querySchema: FormSchemaGetter = () => [
|
||||
{
|
||||
@@ -51,16 +56,16 @@ export const columns: VxeGridProps['columns'] = [
|
||||
title: '业主',
|
||||
field: 'personId',
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
field: 'state',
|
||||
slots: {
|
||||
default: ({ row }) => {
|
||||
// 可选从DictEnum中获取 DictEnum.WY_CSZT 便于维护
|
||||
return renderDict(row.state, 'wy_cszt');
|
||||
},
|
||||
},
|
||||
},
|
||||
// {
|
||||
// title: '状态',
|
||||
// field: 'state',
|
||||
// slots: {
|
||||
// default: ({ row }) => {
|
||||
// // 可选从DictEnum中获取 DictEnum.WY_CSZT 便于维护
|
||||
// return renderDict(row.state, 'wy_cszt');
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
{
|
||||
title: '收费项目',
|
||||
field: 'costItemsId',
|
||||
@@ -76,6 +81,15 @@ export const columns: VxeGridProps['columns'] = [
|
||||
{
|
||||
title: '说明',
|
||||
field: 'remark',
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
field: 'charge_status',
|
||||
slots:{
|
||||
default:({row}) => {
|
||||
return renderDict(row.charge_status, 'wy_fyshzt')
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'action',
|
||||
@@ -101,36 +115,70 @@ export const modalSchema: FormSchemaGetter = () => [
|
||||
fieldName: 'carNumber',
|
||||
component: 'Input',
|
||||
rules: 'required',
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '业主',
|
||||
{
|
||||
label: '业主',//
|
||||
fieldName: 'personId',
|
||||
component: 'Input',
|
||||
component: 'ApiSelect',
|
||||
rules:'required',
|
||||
componentProps:{
|
||||
api: async () => {
|
||||
const rows = await personList({pageSize:1000000000,pageNum:1});
|
||||
return rows;
|
||||
},
|
||||
resultField: 'rows',
|
||||
labelField: 'userName',
|
||||
valueField:'id'
|
||||
},
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '楼层',
|
||||
fieldName: 'floorId',
|
||||
component: 'Input',
|
||||
rules: 'required',
|
||||
component: 'TreeSelect',
|
||||
rules:'required',
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '车位',
|
||||
fieldName: 'location',
|
||||
component: 'Input',
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '状态',
|
||||
fieldName: 'state',
|
||||
// {
|
||||
// label: '状态',
|
||||
// fieldName: 'state',
|
||||
// component: 'Select',
|
||||
// componentProps: {
|
||||
// // 可选从DictEnum中获取 DictEnum.WY_CSZT 便于维护
|
||||
// options: getDictOptions('wy_cszt'),
|
||||
// },
|
||||
// },
|
||||
{
|
||||
label: '费用类型',//一个费用下有多个收费项目
|
||||
fieldName: 'costType',
|
||||
component: 'Select',
|
||||
componentProps: {
|
||||
// 可选从DictEnum中获取 DictEnum.WY_CSZT 便于维护
|
||||
options: getDictOptions('wy_cszt'),
|
||||
componentProps:{
|
||||
options:getDictOptions('pro_expense_type'),
|
||||
},
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '收费项目',
|
||||
label: '收费项目',//一个收费项目对应一个费用类型
|
||||
fieldName: 'costItemsId',
|
||||
component: 'Input',
|
||||
component: 'ApiSelect',
|
||||
componentProps: {
|
||||
api: async () => {
|
||||
const rows = await costItemSettingList({pageSize:1000000000,pageNum:1,costType:'2'});
|
||||
return rows;
|
||||
},
|
||||
resultField: 'rows',
|
||||
labelField: 'chargeItem',
|
||||
valueField: 'id',
|
||||
},
|
||||
rules: 'required',
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '计费开始时间',
|
||||
@@ -141,6 +189,7 @@ export const modalSchema: FormSchemaGetter = () => [
|
||||
format: 'YYYY-MM-DD HH:mm:ss',
|
||||
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||
},
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '计费结束时间',
|
||||
@@ -151,16 +200,13 @@ export const modalSchema: FormSchemaGetter = () => [
|
||||
format: 'YYYY-MM-DD HH:mm:ss',
|
||||
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||
},
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '说明',
|
||||
fieldName: 'remark',
|
||||
component: 'Input',
|
||||
},
|
||||
{
|
||||
label: '搜索值',
|
||||
fieldName: 'searchValue',
|
||||
component: 'Input',
|
||||
disabled:true,
|
||||
},
|
||||
];
|
||||
//创建
|
||||
@@ -180,15 +226,55 @@ export const addModalSchema: FormSchemaGetter = () => [
|
||||
component: 'Input',
|
||||
rules: 'required',
|
||||
},
|
||||
// {
|
||||
// label: '费用类型',//一个费用下有对各费用项目
|
||||
// fieldName: 'personId',
|
||||
// component: 'Input',
|
||||
// },
|
||||
{
|
||||
label: '收费项目',//一个费用收费项目对应一个费用类型
|
||||
fieldName: 'costItemsId',
|
||||
label: '业主',//
|
||||
fieldName: 'personId',
|
||||
component: 'ApiSelect',
|
||||
disabled:false,
|
||||
rules:'required',
|
||||
componentProps:{
|
||||
api: async () => {
|
||||
const rows = await personList({pageSize:1000000000,pageNum:1});
|
||||
return rows;
|
||||
},
|
||||
resultField: 'rows',
|
||||
labelField: 'userName',
|
||||
valueField:'id'
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '楼层',
|
||||
fieldName: 'floorId',
|
||||
component: 'TreeSelect',
|
||||
rules:'required',
|
||||
},
|
||||
{
|
||||
label: '车位',
|
||||
fieldName: 'location',
|
||||
component: 'Input',
|
||||
},
|
||||
{
|
||||
label: '费用类型',//一个费用下有多个收费项目
|
||||
fieldName: 'costType',
|
||||
component: 'Select',
|
||||
componentProps:{
|
||||
options:getDictOptions('pro_expense_type'),
|
||||
},
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '收费项目',//一个收费项目对应一个费用类型
|
||||
fieldName: 'costItemsId',
|
||||
component: 'ApiSelect',
|
||||
componentProps: {
|
||||
api: async () => {
|
||||
const rows = await costItemSettingList({pageSize:1000000000,pageNum:1,costType:'2'});
|
||||
return rows;
|
||||
},
|
||||
resultField: 'rows',
|
||||
labelField: 'chargeItem',
|
||||
valueField: 'id',
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
@@ -235,17 +321,66 @@ export const payModalSchema: FormSchemaGetter = () => [
|
||||
fieldName: 'carNumber',
|
||||
component: 'Input',
|
||||
rules: 'required',
|
||||
disabled:true,
|
||||
|
||||
},
|
||||
{
|
||||
label: '业主',//
|
||||
fieldName: 'personId',
|
||||
component: 'ApiSelect',
|
||||
rules:'required',
|
||||
componentProps:{
|
||||
api: async () => {
|
||||
const rows = await personList({pageSize:1000000000,pageNum:1});
|
||||
return rows;
|
||||
},
|
||||
resultField: 'rows',
|
||||
labelField: 'userName',
|
||||
valueField:'id'
|
||||
},
|
||||
disabled:true,
|
||||
|
||||
},
|
||||
// {
|
||||
// label: '费用类型',//一个费用下有对各费用项目
|
||||
// fieldName: 'personId',
|
||||
// component: 'Input',
|
||||
// },
|
||||
{
|
||||
label: '收费项目',//一个费用收费项目对应一个费用类型
|
||||
fieldName: 'costItemsId',
|
||||
label: '楼层',
|
||||
fieldName: 'floorId',
|
||||
component: 'TreeSelect',
|
||||
rules:'required',
|
||||
disabled:true,
|
||||
|
||||
},
|
||||
{
|
||||
label: '车位',
|
||||
fieldName: 'location',
|
||||
component: 'Input',
|
||||
disabled:true,
|
||||
|
||||
},
|
||||
{
|
||||
label: '费用类型',//一个费用下有多个收费项目
|
||||
fieldName: 'costType',
|
||||
component: 'Select',
|
||||
componentProps:{
|
||||
options:getDictOptions('pro_expense_type'),
|
||||
},
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '收费项目',//一个收费项目对应一个费用类型
|
||||
fieldName: 'costItemsId',
|
||||
component: 'ApiSelect',
|
||||
componentProps: {
|
||||
api: async () => {
|
||||
const rows = await costItemSettingList({pageSize:1000000000,pageNum:1,costType:'2'});
|
||||
return rows;
|
||||
},
|
||||
resultField: 'rows',
|
||||
labelField: 'chargeItem',
|
||||
valueField: 'id',
|
||||
},
|
||||
rules: 'required',
|
||||
disabled:true,
|
||||
|
||||
},
|
||||
{
|
||||
label: '计费开始时间',
|
||||
@@ -257,6 +392,8 @@ export const payModalSchema: FormSchemaGetter = () => [
|
||||
format: 'YYYY-MM-DD HH:mm:ss',
|
||||
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||
},
|
||||
disabled:true,
|
||||
|
||||
},
|
||||
{
|
||||
label: '计费结束时间',
|
||||
@@ -268,26 +405,35 @@ export const payModalSchema: FormSchemaGetter = () => [
|
||||
format: 'YYYY-MM-DD HH:mm:ss',
|
||||
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||
},
|
||||
disabled:true,
|
||||
|
||||
},
|
||||
{
|
||||
label: '说明',
|
||||
fieldName: 'remark',
|
||||
component: 'Input',
|
||||
disabled:true,
|
||||
},
|
||||
{
|
||||
label: '支付方式',
|
||||
fieldName: 'carNumber',
|
||||
component: 'Input',
|
||||
fieldName: 'payType',
|
||||
component: 'Select',
|
||||
componentProps:{
|
||||
options:getDictOptions('wy_zffs'),
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
label: '缴费周期',
|
||||
fieldName: 'personId',
|
||||
component: 'Input',
|
||||
fieldName: 'chargeCycle',
|
||||
component: 'Select',
|
||||
componentProps:{
|
||||
options:getDictOptions('wy_jfzq'),
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '实收金额',
|
||||
fieldName: 'costItemsId',
|
||||
fieldName: 'cost',
|
||||
component: 'Input',
|
||||
},
|
||||
{
|
||||
|
Reference in New Issue
Block a user