From d072976e6da081ea37874147e6f838cc54419029 Mon Sep 17 00:00:00 2001 From: fyy <2717885210@qq.com> Date: Fri, 12 Sep 2025 16:39:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/property/chargeManagement/model.d.ts | 8 +- .../src/api/property/rentalOrder/model.d.ts | 9 +- .../costManagement/costItemSetting/data.ts | 10 +- .../costManagement/houseCharge/data.ts | 78 ++++++++----- .../houseCharge/house-charge-detail.vue | 7 +- .../costManagement/houseCharge/index.vue | 14 ++- .../chargeManagement/data.ts | 80 +++++++++---- .../chargeManagement/orderCharge-detail.vue | 73 +++++++++--- .../orderManagement/order-detail.vue | 108 ++++++++++-------- .../orderManagement/rentalOrder-modal.vue | 33 ++++++ 10 files changed, 291 insertions(+), 129 deletions(-) diff --git a/apps/web-antd/src/api/property/chargeManagement/model.d.ts b/apps/web-antd/src/api/property/chargeManagement/model.d.ts index 2f5a1565..b5928d13 100644 --- a/apps/web-antd/src/api/property/chargeManagement/model.d.ts +++ b/apps/web-antd/src/api/property/chargeManagement/model.d.ts @@ -196,8 +196,8 @@ export interface OrderChargeQuery extends PageQuery { chargeStatus?: string | number; /** - * 日期范围参数 - */ + * 日期范围参数 + */ params?: any; } @@ -266,4 +266,8 @@ export interface orderChargeDetailForm extends BaseEntity { * 收费状态 */ chargeStatus?: string | number; + /** + * 租赁单位 + */ + unitName?: string; } diff --git a/apps/web-antd/src/api/property/rentalOrder/model.d.ts b/apps/web-antd/src/api/property/rentalOrder/model.d.ts index 745d03d0..dd418f80 100644 --- a/apps/web-antd/src/api/property/rentalOrder/model.d.ts +++ b/apps/web-antd/src/api/property/rentalOrder/model.d.ts @@ -86,6 +86,10 @@ export interface RentalOrderVO { */ signTime: string; + /** + * 单位名称 + */ + unitName: string; } export interface RentalOrderForm extends BaseEntity { @@ -173,7 +177,6 @@ export interface RentalOrderForm extends BaseEntity { * 签署时间 */ signTime?: string; - } export interface RentalOrderQuery extends PageQuery { @@ -257,7 +260,7 @@ export interface RentalOrderQuery extends PageQuery { signTime?: string; /** - * 日期范围参数 - */ + * 日期范围参数 + */ params?: any; } diff --git a/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts b/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts index 0cb913d5..3c218bc6 100644 --- a/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts +++ b/apps/web-antd/src/views/property/costManagement/costItemSetting/data.ts @@ -88,7 +88,7 @@ export const columns: VxeGridProps['columns'] = [ { title: '状态', field: 'state', - slots: {default: 'state'}, + slots: { default: 'state' }, width: 100, }, { @@ -159,11 +159,11 @@ export const modalSchema: FormSchemaGetter = () => [ }, }, { - label: '手机缴费', - fieldName: 'isMobilePay', + label: '付费方式', + fieldName: 'paymentMode', component: 'Select', componentProps: { - options: getDictOptions('pro_mobile_payment'), + options: getDictOptions('wy_fffs'), }, rules: 'selectRequired', }, @@ -202,7 +202,7 @@ export const modalSchema: FormSchemaGetter = () => [ options: getDictOptions('pro_calculation_formula'), }, rules: 'selectRequired', - formItemClass:'col-span-2', + formItemClass: 'col-span-2', }, { label: '计费单价', diff --git a/apps/web-antd/src/views/property/costManagement/houseCharge/data.ts b/apps/web-antd/src/views/property/costManagement/houseCharge/data.ts index 00b53669..83284371 100644 --- a/apps/web-antd/src/views/property/costManagement/houseCharge/data.ts +++ b/apps/web-antd/src/views/property/costManagement/houseCharge/data.ts @@ -1,17 +1,18 @@ -import type {FormSchemaGetter} from '#/adapter/form'; -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 type { FormSchemaGetter } from '#/adapter/form'; +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 { h } from 'vue'; - +import { resident_unitList } from '#/api/property/resident/unit'; export const querySchema: FormSchemaGetter = () => [ { component: 'ApiSelect', componentProps: { - api:async ()=>{ - return (await costItemSettingList({pageSize: 1000, pageNum: 1}))?.rows + api: async () => { + return (await costItemSettingList({ pageSize: 1000, pageNum: 1 })) + ?.rows; }, afterFetch: (data: { chargeItem: string; id: string }[]) => { return data.map((item: any) => ({ @@ -28,12 +29,29 @@ export const querySchema: FormSchemaGetter = () => [ fieldName: 'chargeStatus', label: '缴费状态', componentProps: { - options: getDictOptions('wy_fyshzt') + options: getDictOptions('wy_fyshzt'), }, }, + { + component: 'ApiSelect', + componentProps: { + api: async () => { + const rows = await resident_unitList({ + pageSize: 1000000000, + pageNum: 1, + }); + return rows; + }, + resultField: 'rows', + labelField: 'name', + valueField: 'id', + }, + fieldName: 'residentUnitId', + label: '单位', + }, ]; export const columns: VxeGridProps['columns'] = [ - {type: 'checkbox', width: 60}, + { type: 'checkbox', width: 60 }, { title: '单位', field: 'residentUnitText', @@ -41,7 +59,7 @@ export const columns: VxeGridProps['columns'] = [ }, { title: '收费项目', - field: 'costItemsId', + field: 'chargeItemText', width: 150, }, { @@ -53,21 +71,23 @@ export const columns: VxeGridProps['columns'] = [ title: '计费开始时间', field: 'startTime', width: 150, + slots: { default: 'startTime' }, }, { title: '计费结束时间', field: 'endTime', width: 150, + slots: { default: 'endTime' }, }, { title: '缴费状态', field: 'chargeStatus', width: 150, slots: { - default: ({row}) => { - return renderDict(row.chargeStatus, 'wy_fyshzt') - } - } + default: ({ row }) => { + return renderDict(row.chargeStatus, 'wy_fyshzt'); + }, + }, }, // { // title: '状态', @@ -87,7 +107,7 @@ export const columns: VxeGridProps['columns'] = [ { field: 'action', fixed: 'right', - slots: {default: 'action'}, + slots: { default: 'action' }, title: '操作', width: 180, }, @@ -107,8 +127,7 @@ export const modalSchema: FormSchemaGetter = () => [ label: '单位', fieldName: 'residentUnitId', component: 'Select', - componentProps: { - }, + componentProps: {}, rules: 'selectRequired', formItemClass: 'col-span-2', }, @@ -136,16 +155,14 @@ export const modalSchema: FormSchemaGetter = () => [ label: '业主', fieldName: 'personId', component: 'ApiSelect', - componentProps: { - }, + componentProps: {}, rules: 'selectRequired', }, { label: '费用类型', fieldName: 'costType', component: 'Select', - componentProps: { - }, + componentProps: {}, rules: 'selectRequired', }, { @@ -201,7 +218,7 @@ export const modalSchemaUpdate: FormSchemaGetter = () => [ fieldName: 'payType', component: 'Select', componentProps: { - options:getDictOptions('wy_zffs') + options: getDictOptions('wy_zffs'), }, rules: 'selectRequired', }, @@ -210,14 +227,15 @@ export const modalSchemaUpdate: FormSchemaGetter = () => [ fieldName: 'chargeCycle', component: 'InputNumber', componentProps: { - min:1, - precision:0, - placeholder:'请输入缴费周期(月)' + min: 1, + precision: 0, + placeholder: '请输入缴费周期(月)', }, - suffix: () => h('span', { style: {fontSize: '0.875rem',fontWeight:500,} }, '月'), + suffix: () => + h('span', { style: { fontSize: '0.875rem', fontWeight: 500 } }, '月'), rules: 'selectRequired', }, -] +]; export const modalSchemaRefund: FormSchemaGetter = () => [ { label: '主键', @@ -233,6 +251,6 @@ export const modalSchemaRefund: FormSchemaGetter = () => [ fieldName: 'reason', component: 'Textarea', formItemClass: 'col-span-2', - rules:'required' + rules: 'required', }, -] +]; diff --git a/apps/web-antd/src/views/property/costManagement/houseCharge/house-charge-detail.vue b/apps/web-antd/src/views/property/costManagement/houseCharge/house-charge-detail.vue index 18da12b9..e63bfbd7 100644 --- a/apps/web-antd/src/views/property/costManagement/houseCharge/house-charge-detail.vue +++ b/apps/web-antd/src/views/property/costManagement/houseCharge/house-charge-detail.vue @@ -39,6 +39,11 @@ async function handleOpenChange(open: boolean) { } modalApi.modalLoading(false); } +function formatDate(dateString: string) { + if (!dateString) return ''; + const date = new Date(dateString); + return date.toISOString().split('T')[0]; +} + +