From 72ddc3d5f386f244a134293463559a85b5a3eb0a Mon Sep 17 00:00:00 2001
From: FLL <2162874245@qq.com>
Date: Wed, 16 Jul 2025 17:30:18 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../deviceLocation/model.d.ts | 10 ++
.../deviceLocation/data.ts | 107 +++++++++---------
.../deviceLocation/deviceLocation-detail.vue | 52 +++++++++
.../deviceLocation/deviceLocation-modal.vue | 104 ++++++++++++++---
.../deviceLocation/index.vue | 58 ++++------
5 files changed, 228 insertions(+), 103 deletions(-)
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-detail.vue
diff --git a/apps/web-antd/src/api/property/equipmentManagement/deviceLocation/model.d.ts b/apps/web-antd/src/api/property/equipmentManagement/deviceLocation/model.d.ts
index 384a696c..ed267001 100644
--- a/apps/web-antd/src/api/property/equipmentManagement/deviceLocation/model.d.ts
+++ b/apps/web-antd/src/api/property/equipmentManagement/deviceLocation/model.d.ts
@@ -26,6 +26,16 @@ export interface DeviceLocationVO {
*/
searchValue: string;
+ /**
+ * 位置类型
+ */
+ locationObjName: string;
+
+ /**
+ * 搜索值
+ */
+ remark: string;
+
}
export interface DeviceLocationForm extends BaseEntity {
diff --git a/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/data.ts b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/data.ts
index 69886942..a4f6b9f9 100644
--- a/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/data.ts
+++ b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/data.ts
@@ -1,5 +1,7 @@
import type { FormSchemaGetter } from '#/adapter/form';
import type { VxeGridProps } from '#/adapter/vxe-table';
+import {getDictOptions} from "#/utils/dict";
+import {renderDict} from "#/utils/render";
export const querySchema: FormSchemaGetter = () => [
@@ -8,23 +10,14 @@ export const querySchema: FormSchemaGetter = () => [
fieldName: 'locationName',
label: '位置名称',
},
- {
- component: 'Input',
- fieldName: 'locationCode',
- label: '位置编号',
- },
{
component: 'Select',
componentProps: {
+ options: getDictOptions('pro_location_type'),
},
fieldName: 'locationType',
label: '位置类型',
},
- {
- component: 'Input',
- fieldName: 'searchValue',
- label: '搜索值',
- },
];
// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新
@@ -32,24 +25,30 @@ export const querySchema: FormSchemaGetter = () => [
export const columns: VxeGridProps['columns'] = [
{ type: 'checkbox', width: 60 },
{
- title: '主键',
- field: 'id',
+ title: '位置编码',
+ field: 'locationCode',
},
{
title: '位置名称',
field: 'locationName',
},
- {
- title: '位置编号',
- field: 'locationCode',
- },
+
{
title: '位置类型',
field: 'locationType',
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.locationType, 'pro_location_type');
+ },
+ },
},
{
- title: '搜索值',
- field: 'searchValue',
+ title: '位置对象',
+ field: 'locationObject',
+ },
+ {
+ title: '备注',
+ field: 'remark',
},
{
field: 'action',
@@ -60,37 +59,41 @@ export const columns: VxeGridProps['columns'] = [
},
];
-export const modalSchema: FormSchemaGetter = () => [
- {
- label: '主键',
- fieldName: 'id',
- component: 'Input',
- dependencies: {
- show: () => false,
- triggerFields: [''],
- },
- },
- {
- label: '位置名称',
- fieldName: 'locationName',
- component: 'Input',
- rules: 'required',
- },
- {
- label: '位置编号',
- fieldName: 'locationCode',
- component: 'Input',
- },
- {
- label: '位置类型',
- fieldName: 'locationType',
- component: 'Select',
- componentProps: {
- },
- },
- {
- label: '搜索值',
- fieldName: 'searchValue',
- component: 'Input',
- },
-];
+// export const modalSchema: FormSchemaGetter = () => [
+// {
+// label: '主键',
+// fieldName: 'id',
+// component: 'Input',
+// dependencies: {
+// show: () => false,
+// triggerFields: [''],
+// },
+// },
+// {
+// label: '位置名称',
+// fieldName: 'locationName',
+// component: 'Input',
+// rules: 'required',
+// },
+// {
+// label: '位置类型',
+// fieldName: 'locationType',
+// component: 'Select',
+// componentProps: {
+// options: getDictOptions('pro_location_type'),
+// },
+// rules: 'selectRequired',
+// },
+// {
+// component: 'TreeSelect',
+// fieldName: 'locationObject',
+// defaultValue: undefined,
+// label: '位置对象',
+// rules: 'selectRequired',
+// },
+// {
+// label: '备注',
+// fieldName: 'remark',
+// component: 'Textarea',
+// },
+// ];
diff --git a/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-detail.vue b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-detail.vue
new file mode 100644
index 00000000..bd463857
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-detail.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+ {{ deviceLocationDetail.locationCode }}
+
+
+ {{ deviceLocationDetail.locationName }}
+
+
+
+
+
+ {{ deviceLocationDetail.locationObjName }}
+
+
+ {{ deviceLocationDetail.remark }}
+
+
+
+
diff --git a/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-modal.vue b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-modal.vue
index ccdbc0c3..5d8a8542 100644
--- a/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-modal.vue
+++ b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/deviceLocation-modal.vue
@@ -1,23 +1,71 @@
diff --git a/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/index.vue b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/index.vue
index 557d3582..4bd3db97 100644
--- a/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/index.vue
+++ b/apps/web-antd/src/views/property/equipmentManagement/deviceLocation/index.vue
@@ -1,29 +1,19 @@
@@ -129,17 +111,11 @@ function handleDownloadExcel() {
-
- {{ $t('pages.common.export') }}
-
{{ $t('pages.common.delete') }}
@@ -154,6 +130,11 @@ function handleDownloadExcel() {
+
+ {{ $t('pages.common.info') }}
+
+
From 56440da41b8c428df5c3c22a0076715f6bf139ea Mon Sep 17 00:00:00 2001
From: dev_ljl <2590379346@qq.com>
Date: Wed, 16 Jul 2025 17:32:23 +0800
Subject: [PATCH 2/2] =?UTF-8?q?1=E3=80=81=E8=AE=BE=E5=A4=87=E5=88=97?=
=?UTF-8?q?=E8=A1=A8=202=E3=80=81=E4=BF=9D=E5=85=BB=E8=AE=A1=E5=88=92?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../equipmentManagement/machine/index.ts | 61 +++++
.../equipmentManagement/machine/model.d.ts | 204 ++++++++++++++++
.../equipmentManagement/maintainPlan/index.ts | 61 +++++
.../maintainPlan/model.d.ts | 174 ++++++++++++++
.../equipmentManagement/machine/data.ts | 217 ++++++++++++++++++
.../equipmentManagement/machine/index.vue | 204 ++++++++++++++++
.../machine/machine-detail.vue | 83 +++++++
.../machine/machine-modal.vue | 186 +++++++++++++++
.../equipmentManagement/maintainPlan/data.ts | 209 +++++++++++++++++
.../maintainPlan/index.vue | 197 ++++++++++++++++
.../maintainPlan/maintainPlan-modal.vue | 153 ++++++++++++
.../maintainPlan/plan-detail.vue | 88 +++++++
.../inspectionDetails/data.ts | 8 +-
.../property/resident/unit/unit-modal.vue | 3 +-
14 files changed, 1842 insertions(+), 6 deletions(-)
create mode 100644 apps/web-antd/src/api/property/equipmentManagement/machine/index.ts
create mode 100644 apps/web-antd/src/api/property/equipmentManagement/machine/model.d.ts
create mode 100644 apps/web-antd/src/api/property/equipmentManagement/maintainPlan/index.ts
create mode 100644 apps/web-antd/src/api/property/equipmentManagement/maintainPlan/model.d.ts
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/machine/data.ts
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/machine/index.vue
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/machine/machine-detail.vue
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/machine/machine-modal.vue
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/maintainPlan/data.ts
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/maintainPlan/index.vue
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/maintainPlan/maintainPlan-modal.vue
create mode 100644 apps/web-antd/src/views/property/equipmentManagement/maintainPlan/plan-detail.vue
diff --git a/apps/web-antd/src/api/property/equipmentManagement/machine/index.ts b/apps/web-antd/src/api/property/equipmentManagement/machine/index.ts
new file mode 100644
index 00000000..ec6e678f
--- /dev/null
+++ b/apps/web-antd/src/api/property/equipmentManagement/machine/index.ts
@@ -0,0 +1,61 @@
+import type { MachineVO, MachineForm, MachineQuery } from './model';
+
+import type { ID, IDS } from '#/api/common';
+import type { PageResult } from '#/api/common';
+
+import { commonExport } from '#/api/helper';
+import { requestClient } from '#/api/request';
+
+/**
+* 查询设备列表列表
+* @param params
+* @returns 设备列表列表
+*/
+export function machineList(params?: MachineQuery) {
+ return requestClient.get>('/property/machine/list', { params });
+}
+
+/**
+ * 导出设备列表列表
+ * @param params
+ * @returns 设备列表列表
+ */
+export function machineExport(params?: MachineQuery) {
+ return commonExport('/property/machine/export', params ?? {});
+}
+
+/**
+ * 查询设备列表详情
+ * @param id id
+ * @returns 设备列表详情
+ */
+export function machineInfo(id: ID) {
+ return requestClient.get(`/property/machine/${id}`);
+}
+
+/**
+ * 新增设备列表
+ * @param data
+ * @returns void
+ */
+export function machineAdd(data: MachineForm) {
+ return requestClient.postWithMsg('/property/machine', data);
+}
+
+/**
+ * 更新设备列表
+ * @param data
+ * @returns void
+ */
+export function machineUpdate(data: MachineForm) {
+ return requestClient.putWithMsg('/property/machine', data);
+}
+
+/**
+ * 删除设备列表
+ * @param id id
+ * @returns void
+ */
+export function machineRemove(id: ID | IDS) {
+ return requestClient.deleteWithMsg(`/property/machine/${id}`);
+}
diff --git a/apps/web-antd/src/api/property/equipmentManagement/machine/model.d.ts b/apps/web-antd/src/api/property/equipmentManagement/machine/model.d.ts
new file mode 100644
index 00000000..63cc6f56
--- /dev/null
+++ b/apps/web-antd/src/api/property/equipmentManagement/machine/model.d.ts
@@ -0,0 +1,204 @@
+import type { PageQuery, BaseEntity } from '#/api/common';
+
+export interface MachineVO {
+ /**
+ * 主键
+ */
+ id: string | number;
+
+ /**
+ * 设备名称
+ */
+ machineName: string;
+
+ /**
+ * 设备编码
+ */
+ machineCode: string;
+
+ /**
+ * 设备品牌
+ */
+ machineBrand: string;
+
+ /**
+ * 设备类型
+ */
+ machineTypeId: string | number;
+
+ /**
+ * 位置详情
+ */
+ locationId: string | number;
+
+ /**
+ * 采购价格
+ */
+ purchasePrice: number;
+
+ /**
+ * 启用时间
+ */
+ activationTime: string;
+
+ /**
+ * 保修截至时间
+ */
+ deadline: string;
+
+ /**
+ * 使用年限(年)
+ */
+ serviceLife: number;
+
+ /**
+ * 保修周期
+ */
+ maintenanceCycle: string;
+
+ /**
+ * 使用状态
+ */
+ state: string;
+
+ /**
+ * 责任人
+ */
+ personId: string | number;
+
+}
+
+export interface MachineForm extends BaseEntity {
+ /**
+ * 主键
+ */
+ id?: string | number;
+
+ /**
+ * 设备名称
+ */
+ machineName?: string;
+
+ /**
+ * 设备编码
+ */
+ machineCode?: string;
+
+ /**
+ * 设备品牌
+ */
+ machineBrand?: string;
+
+ /**
+ * 设备类型
+ */
+ machineTypeId?: string | number;
+
+ /**
+ * 位置详情
+ */
+ locationId?: string | number;
+
+ /**
+ * 采购价格
+ */
+ purchasePrice?: number;
+
+ /**
+ * 启用时间
+ */
+ activationTime?: string;
+
+ /**
+ * 保修截至时间
+ */
+ deadline?: string;
+
+ /**
+ * 使用年限(年)
+ */
+ serviceLife?: number;
+
+ /**
+ * 保修周期
+ */
+ maintenanceCycle?: string;
+
+ /**
+ * 使用状态
+ */
+ state?: string;
+
+ /**
+ * 责任人
+ */
+ personId?: string | number;
+
+}
+
+export interface MachineQuery extends PageQuery {
+ /**
+ * 设备名称
+ */
+ machineName?: string;
+
+ /**
+ * 设备编码
+ */
+ machineCode?: string;
+
+ /**
+ * 设备品牌
+ */
+ machineBrand?: string;
+
+ /**
+ * 设备类型
+ */
+ machineTypeId?: string | number;
+
+ /**
+ * 位置详情
+ */
+ locationId?: string | number;
+
+ /**
+ * 采购价格
+ */
+ purchasePrice?: number;
+
+ /**
+ * 启用时间
+ */
+ activationTime?: string;
+
+ /**
+ * 保修截至时间
+ */
+ deadline?: string;
+
+ /**
+ * 使用年限(年)
+ */
+ serviceLife?: number;
+
+ /**
+ * 保修周期
+ */
+ maintenanceCycle?: string;
+
+ /**
+ * 使用状态
+ */
+ state?: string;
+
+ /**
+ * 责任人
+ */
+ personId?: string | number;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/apps/web-antd/src/api/property/equipmentManagement/maintainPlan/index.ts b/apps/web-antd/src/api/property/equipmentManagement/maintainPlan/index.ts
new file mode 100644
index 00000000..6b4ed000
--- /dev/null
+++ b/apps/web-antd/src/api/property/equipmentManagement/maintainPlan/index.ts
@@ -0,0 +1,61 @@
+import type { MaintainPlanVO, MaintainPlanForm, MaintainPlanQuery } from './model';
+
+import type { ID, IDS } from '#/api/common';
+import type { PageResult } from '#/api/common';
+
+import { commonExport } from '#/api/helper';
+import { requestClient } from '#/api/request';
+
+/**
+* 查询保养计划列表
+* @param params
+* @returns 保养计划列表
+*/
+export function maintainPlanList(params?: MaintainPlanQuery) {
+ return requestClient.get>('/property/maintainPlan/list', { params });
+}
+
+/**
+ * 导出保养计划列表
+ * @param params
+ * @returns 保养计划列表
+ */
+export function maintainPlanExport(params?: MaintainPlanQuery) {
+ return commonExport('/property/maintainPlan/export', params ?? {});
+}
+
+/**
+ * 查询保养计划详情
+ * @param id id
+ * @returns 保养计划详情
+ */
+export function maintainPlanInfo(id: ID) {
+ return requestClient.get(`/property/maintainPlan/${id}`);
+}
+
+/**
+ * 新增保养计划
+ * @param data
+ * @returns void
+ */
+export function maintainPlanAdd(data: MaintainPlanForm) {
+ return requestClient.postWithMsg('/property/maintainPlan', data);
+}
+
+/**
+ * 更新保养计划
+ * @param data
+ * @returns void
+ */
+export function maintainPlanUpdate(data: MaintainPlanForm) {
+ return requestClient.putWithMsg('/property/maintainPlan', data);
+}
+
+/**
+ * 删除保养计划
+ * @param id id
+ * @returns void
+ */
+export function maintainPlanRemove(id: ID | IDS) {
+ return requestClient.deleteWithMsg(`/property/maintainPlan/${id}`);
+}
diff --git a/apps/web-antd/src/api/property/equipmentManagement/maintainPlan/model.d.ts b/apps/web-antd/src/api/property/equipmentManagement/maintainPlan/model.d.ts
new file mode 100644
index 00000000..cfea1a69
--- /dev/null
+++ b/apps/web-antd/src/api/property/equipmentManagement/maintainPlan/model.d.ts
@@ -0,0 +1,174 @@
+import type { PageQuery, BaseEntity } from '#/api/common';
+
+export interface MaintainPlanVO {
+ /**
+ * 主键
+ */
+ id: string | number;
+
+ /**
+ * 计划名称
+ */
+ planName: string;
+
+ /**
+ * 计划编号
+ */
+ planNo: string;
+
+ /**
+ * 保养周期(1月/天2.固定天)
+ */
+ planPeriod: string;
+
+ /**
+ * 保养设备类型id
+ */
+ machineTypeId: string | number;
+
+ /**
+ * 保养天
+ */
+ maintainDay: string;
+
+ /**
+ * 保养月
+ */
+ maintainMonth: string;
+
+ /**
+ * 固定天
+ */
+ maintainEveryday: string;
+
+ /**
+ * 开始时间
+ */
+ startDate: string;
+
+ /**
+ * 结束时间
+ */
+ endDate: string;
+
+ /**
+ * 状态(0启用,1停用)
+ */
+ state: string;
+
+}
+
+export interface MaintainPlanForm extends BaseEntity {
+ /**
+ * 主键
+ */
+ id?: string | number;
+
+ /**
+ * 计划名称
+ */
+ planName?: string;
+
+ /**
+ * 计划编号
+ */
+ planNo?: string;
+
+ /**
+ * 保养周期(1月/天2.固定天)
+ */
+ planPeriod?: string;
+
+ /**
+ * 保养设备类型id
+ */
+ machineTypeId?: string | number;
+
+ /**
+ * 保养天
+ */
+ maintainDay?: string;
+
+ /**
+ * 保养月
+ */
+ maintainMonth?: string;
+
+ /**
+ * 固定天
+ */
+ maintainEveryday?: string;
+
+ /**
+ * 开始时间
+ */
+ startDate?: string;
+
+ /**
+ * 结束时间
+ */
+ endDate?: string;
+
+ /**
+ * 状态(0启用,1停用)
+ */
+ state?: string;
+
+}
+
+export interface MaintainPlanQuery extends PageQuery {
+ /**
+ * 计划名称
+ */
+ planName?: string;
+
+ /**
+ * 计划编号
+ */
+ planNo?: string;
+
+ /**
+ * 保养周期(1月/天2.固定天)
+ */
+ planPeriod?: string;
+
+ /**
+ * 保养设备类型id
+ */
+ machineTypeId?: string | number;
+
+ /**
+ * 保养天
+ */
+ maintainDay?: string;
+
+ /**
+ * 保养月
+ */
+ maintainMonth?: string;
+
+ /**
+ * 固定天
+ */
+ maintainEveryday?: string;
+
+ /**
+ * 开始时间
+ */
+ startDate?: string;
+
+ /**
+ * 结束时间
+ */
+ endDate?: string;
+
+ /**
+ * 状态(0启用,1停用)
+ */
+ state?: string;
+
+ /**
+ * 日期范围参数
+ */
+ params?: any;
+}
diff --git a/apps/web-antd/src/views/property/equipmentManagement/machine/data.ts b/apps/web-antd/src/views/property/equipmentManagement/machine/data.ts
new file mode 100644
index 00000000..81762779
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/machine/data.ts
@@ -0,0 +1,217 @@
+import type { FormSchemaGetter } from '#/adapter/form';
+import type { VxeGridProps } from '#/adapter/vxe-table';
+import {getDictOptions} from "#/utils/dict";
+import {renderDict} from "#/utils/render";
+
+
+export const querySchema: FormSchemaGetter = () => [
+ {
+ component: 'Input',
+ fieldName: 'machineName',
+ label: '设备名称',
+ },
+ {
+ component: 'Input',
+ fieldName: 'machineCode',
+ label: '设备编码',
+ },
+ {
+ component: 'Select',
+ componentProps:{
+ options:getDictOptions('wy_sbsyzt')
+ },
+ fieldName: 'state',
+ label: '使用状态',
+ },
+];
+
+export const columns: VxeGridProps['columns'] = [
+ { type: 'checkbox', width: 60 },
+ {
+ title: '设备名称',
+ field: 'machineName',
+ minWidth:180
+ },
+ {
+ title: '设备编码',
+ field: 'machineCode',
+ width:100
+ },
+ {
+ title: '设备品牌',
+ field: 'machineBrand',
+ width:100
+ },
+ {
+ title: '设备类型',
+ field: 'machineTypeId',
+ width:100
+ },
+ {
+ title: '位置详情',
+ field: 'locationId',
+ width:100
+ },
+ {
+ title: '采购价格',
+ field: 'purchasePrice',
+ width:100
+ },
+ {
+ title: '启用时间',
+ field: 'activationTime',
+ width:100
+ },
+ {
+ title: '保修截至时间',
+ field: 'deadline',
+ width:100
+ },
+ {
+ title: '使用年限',
+ field: 'serviceLife',
+ width:100
+ },
+ {
+ title: '保修周期',
+ field: 'maintenanceCycle',
+ width:100,
+ slots:{
+ default: ({row})=>{
+ return renderDict(row.maintenanceCycle,'wy_sbbxzq')
+ }
+ }
+ },
+ {
+ title: '使用状态',
+ field: 'state',
+ width:100,
+ slots:{
+ default: ({row})=>{
+ return renderDict(row.state,'wy_sbsyzt')
+ }
+ }
+ },
+ {
+ title: '责任人',
+ field: 'personId',
+ width:100
+ },
+ {
+ field: 'action',
+ fixed: 'right',
+ slots: { default: 'action' },
+ title: '操作',
+ width: 180,
+ },
+];
+
+export const modalSchema: FormSchemaGetter = () => [
+ {
+ label: '主键',
+ fieldName: 'id',
+ component: 'Input',
+ dependencies: {
+ show: () => false,
+ triggerFields: [''],
+ },
+ },
+ {
+ label: '设备名称',
+ fieldName: 'machineName',
+ component: 'Input',
+ rules: 'required',
+ formItemClass: 'col-span-2',
+ },
+ {
+ label: '设备编码',
+ fieldName: 'machineCode',
+ component: 'Input',
+ rules: 'required',
+ },
+ {
+ label: '设备品牌',
+ fieldName: 'machineBrand',
+ component: 'Input',
+ rules: 'required',
+ },
+ {
+ label: '设备类型',
+ fieldName: 'machineTypeId',
+ component: 'TreeSelect',
+ rules: 'selectRequired',
+ formItemClass: 'col-span-2',
+ },
+ {
+ label: '位置详情',
+ fieldName: 'locationId',
+ component: 'ApiSelect',
+ rules: 'selectRequired',
+ formItemClass: 'col-span-2',
+ },
+ {
+ label: '采购价格',
+ fieldName: 'purchasePrice',
+ component: 'InputNumber',
+ componentProps:{
+ min:0,
+ precision:2
+ },
+ rules: 'required',
+ },
+ {
+ label: '启用时间',
+ fieldName: 'activationTime',
+ component: 'DatePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ valueFormat: 'YYYY-MM-DD',
+ },
+ rules: 'required',
+ },
+ {
+ label: '保修截至时间',
+ fieldName: 'deadline',
+ component: 'DatePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ valueFormat: 'YYYY-MM-DD',
+ },
+ rules: 'required',
+ },
+ {
+ label: '使用年限',
+ fieldName: 'serviceLife',
+ component: 'InputNumber',
+ componentProps:{
+ min:1,
+ precision:0
+ },
+ rules: 'required',
+ },
+ {
+ label: '保修周期',
+ fieldName: 'maintenanceCycle',
+ component: 'Select',
+ componentProps: {
+ options:getDictOptions('wy_sbbxzq')
+ },
+ rules: 'selectRequired',
+ },
+ {
+ label: '使用状态',
+ fieldName: 'state',
+ component: 'Select',
+ componentProps:{
+ options:getDictOptions('wy_sbsyzt')
+ },
+ rules: 'selectRequired',
+ },
+ {
+ label: '责任人',
+ fieldName: 'personId',
+ component: 'ApiSelect',
+ rules: 'selectRequired',
+ formItemClass: 'col-span-2',
+ },
+];
diff --git a/apps/web-antd/src/views/property/equipmentManagement/machine/index.vue b/apps/web-antd/src/views/property/equipmentManagement/machine/index.vue
new file mode 100644
index 00000000..8e58bef2
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/machine/index.vue
@@ -0,0 +1,204 @@
+
+
+
+
+
+
tableApi.reload()"
+ @select="() => tableApi.reload()"
+ />
+
+
+
+
+ {{ $t('pages.common.export') }}
+
+
+ {{ $t('pages.common.delete') }}
+
+
+ {{ $t('pages.common.add') }}
+
+
+
+
+
+
+ {{ $t('pages.common.info') }}
+
+
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-antd/src/views/property/equipmentManagement/machine/machine-detail.vue b/apps/web-antd/src/views/property/equipmentManagement/machine/machine-detail.vue
new file mode 100644
index 00000000..16a40736
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/machine/machine-detail.vue
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+ {{ machineDetail.machineName }}
+
+
+ {{ machineDetail.machineCode }}
+
+
+ {{ machineDetail.machineBrand }}
+
+
+ {{ machineDetail.machineTypeId }}
+
+
+ {{ machineDetail.locationId }}
+
+
+ {{ machineDetail.purchasePrice }}
+
+
+ {{ machineDetail.activationTime }}
+
+
+ {{ machineDetail.deadline }}
+
+
+ {{ machineDetail.serviceLife }}
+
+
+
+
+
+
+
+
+
+ {{ machineDetail.personId }}
+
+
+
+
diff --git a/apps/web-antd/src/views/property/equipmentManagement/machine/machine-modal.vue b/apps/web-antd/src/views/property/equipmentManagement/machine/machine-modal.vue
new file mode 100644
index 00000000..f170ba78
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/machine/machine-modal.vue
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
diff --git a/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/data.ts b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/data.ts
new file mode 100644
index 00000000..fc09cfd8
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/data.ts
@@ -0,0 +1,209 @@
+import type {FormSchemaGetter} from '#/adapter/form';
+import type {VxeGridProps} from '#/adapter/vxe-table';
+import {getDictOptions} from "#/utils/dict";
+import {renderDict} from "#/utils/render";
+
+
+export const querySchema: FormSchemaGetter = () => [
+ {
+ component: 'Input',
+ fieldName: 'planName',
+ label: '计划名称',
+ },
+ {
+ component: 'Select',
+ fieldName: 'state',
+ label: '状态',
+ componentProps: {
+ options: getDictOptions('wy_state')
+ },
+ },
+];
+
+export const columns: VxeGridProps['columns'] = [
+ {type: 'checkbox', width: 60},
+ {
+ title: '主键',
+ field: 'id',
+ },
+ {
+ title: '计划名称',
+ field: 'planName',
+ },
+ {
+ title: '计划编号',
+ field: 'planNo',
+ },
+ {
+ title: '设备类型',
+ field: 'machineTypeId',
+ },
+ {
+ title: '保养周期',
+ field: 'planPeriod',
+ slots: {
+ default: ({row}) => {
+ return renderDict(row.planPeriod,'wy_sbbyzq')
+ }
+ }
+ },
+ // {
+ // title: '保养天',
+ // field: 'maintainDay',
+ // },
+ // {
+ // title: '保养月',
+ // field: 'maintainMonth',
+ // },
+ // {
+ // title: '固定天',
+ // field: 'maintainEveryday',
+ // },
+ {
+ title: '开始时间',
+ field: 'startDate',
+ },
+ {
+ title: '结束时间',
+ field: 'endDate',
+ },
+ {
+ title: '状态',
+ field: 'state',
+ slots:{
+ default:'state'
+ }
+ },
+ {
+ field: 'action',
+ fixed: 'right',
+ slots: {default: 'action'},
+ title: '操作',
+ width: 180,
+ },
+];
+
+export const modalSchema: FormSchemaGetter = () => [
+ {
+ label: '主键',
+ fieldName: 'id',
+ component: 'Input',
+ dependencies: {
+ show: () => false,
+ triggerFields: [''],
+ },
+ },
+ {
+ label: '计划名称',
+ fieldName: 'planName',
+ component: 'Input',
+ rules: 'required',
+ },
+ {
+ label: '计划编号',
+ fieldName: 'planNo',
+ component: 'Input',
+ rules: 'required',
+ },
+ {
+ label: '保养周期',
+ fieldName: 'planPeriod',
+ component: 'Select',
+ componentProps: {
+ options: getDictOptions('wy_sbbyzq')
+ },
+ rules: 'selectRequired',
+ },
+ {
+ label: '设备类型',
+ fieldName: 'machineTypeId',
+ component: 'TreeSelect',
+ rules: 'selectRequired',
+ },
+ {
+ label: '月',
+ fieldName: 'maintainMonth',
+ component: 'CheckboxGroup',
+ dependencies: {
+ show: (formValue) => formValue.planPeriod=='1',
+ triggerFields: ['planPeriod'],
+ },
+ formItemClass: 'col-span-2',
+ componentProps: {
+ options: Array.from({ length: 12 }, (_, i) => ({
+ label: `${i + 1}月`,
+ value: (i + 1).toString(),
+ })),
+ },
+ rules: 'selectRequired',
+ },
+ {
+ label: '日',
+ fieldName: 'maintainDay',
+ component: 'CheckboxGroup',
+ dependencies: {
+ show: (formValue) => formValue.planPeriod=='1',
+ triggerFields: ['planPeriod'],
+ },
+ formItemClass: 'col-span-2',
+ componentProps: {
+ options: Array.from({ length: 31 }, (_, i) => ({
+ label: `${i + 1}日`,
+ value: (i + 1).toString(),
+ })),
+ },
+ rules: 'selectRequired',
+ },
+ {
+ label: '固定天数',
+ fieldName: 'maintainEveryday',
+ component: 'InputNumber',
+ dependencies: {
+ show: (formValue) => formValue.planPeriod=='2',
+ triggerFields: ['planPeriod'],
+ },
+ rules:'required',
+ componentProps:{
+ min:0,
+ precision:2,
+ placeholder:'请填写多少天后保养一次',
+ },
+ },
+ {
+ label: '计划日期',
+ fieldName: 'planDate',
+ component: 'RangePicker',
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ valueFormat: 'YYYY-MM-DD',
+ },
+ rules:'required'
+ },
+ // {
+ // label: '开始时间',
+ // fieldName: 'startDate',
+ // component: 'DatePicker',
+ // componentProps: {
+ // showTime: true,
+ // format: 'YYYY-MM-DD HH:mm:ss',
+ // valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ // },
+ // rules:'required'
+ // },
+ // {
+ // label: '结束时间',
+ // fieldName: 'endDate',
+ // component: 'DatePicker',
+ // componentProps: {
+ // showTime: true,
+ // format: 'YYYY-MM-DD HH:mm:ss',
+ // valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ // },
+ // rules:'required'
+ // },
+ // {
+ // label: '状态(0启用,1停用)',
+ // fieldName: 'state',
+ // component: 'Input',
+ // },
+];
diff --git a/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/index.vue b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/index.vue
new file mode 100644
index 00000000..8b999fd5
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/index.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+ {{ $t('pages.common.export') }}
+
+
+ {{ $t('pages.common.delete') }}
+
+
+ {{ $t('pages.common.add') }}
+
+
+
+
+
+
+ {{ $t('pages.common.info') }}
+
+
+ {{ $t('pages.common.edit') }}
+
+
+
+ {{ $t('pages.common.delete') }}
+
+
+
+
+
+ tableApi.query()"
+ />
+
+
+
+
+
+
diff --git a/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/maintainPlan-modal.vue b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/maintainPlan-modal.vue
new file mode 100644
index 00000000..e5ed2a24
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/maintainPlan-modal.vue
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
diff --git a/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/plan-detail.vue b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/plan-detail.vue
new file mode 100644
index 00000000..895b6e20
--- /dev/null
+++ b/apps/web-antd/src/views/property/equipmentManagement/maintainPlan/plan-detail.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+ {{ maintainPlanDetail.planName }}
+
+
+ {{ maintainPlanDetail.planNo }}
+
+
+
+
+
+ {{ maintainPlanDetail.machineTypeId }}
+
+
+
+
+
+
+
+
+ {{maintainPlanDetail.maintainEveryday}}
+
+
+ {{ maintainPlanDetail.startDate + '\xa0至\xa0' + maintainPlanDetail.endDate }}
+
+
+
+
+
+
+
diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionDetails/data.ts b/apps/web-antd/src/views/property/inspectionManagement/inspectionDetails/data.ts
index 679a5ade..ac3cee68 100644
--- a/apps/web-antd/src/views/property/inspectionManagement/inspectionDetails/data.ts
+++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionDetails/data.ts
@@ -15,10 +15,10 @@ export const querySchema: FormSchemaGetter = () => [
{
component: 'Select',
componentProps: {
- options:getDictOptions('wy_xjqdfs')
+ options:getDictOptions('wy_xjzt')
},
- fieldName: 'taskType',
- label: '巡检方式',
+ fieldName: 'status',
+ label: '巡检状态',
},
];
@@ -73,7 +73,7 @@ export const columns: VxeGridProps['columns'] = [
width:100,
slots: {
default: ({ row }) => {
- return renderDict(row.taskType, 'wy_xjqdfs');
+ return renderDict(row.taskType, 'wy_xjzt');
},
},
},
diff --git a/apps/web-antd/src/views/property/resident/unit/unit-modal.vue b/apps/web-antd/src/views/property/resident/unit/unit-modal.vue
index 5c860d9c..c4310ad3 100644
--- a/apps/web-antd/src/views/property/resident/unit/unit-modal.vue
+++ b/apps/web-antd/src/views/property/resident/unit/unit-modal.vue
@@ -3,7 +3,7 @@ import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { $t } from '@vben/locales';
-import {cloneDeep, getPopupContainer, handleNode} from '@vben/utils';
+import {cloneDeep, handleNode} from '@vben/utils';
import { useVbenForm } from '#/adapter/form';
import { resident_unitAdd, resident_unitInfo, resident_unitUpdate } from '#/api/property/resident/unit';
@@ -108,7 +108,6 @@ async function initLocationOptions() {
value: 'code',
children: 'children',
},
- getPopupContainer,
placeholder: '请选择入驻位置',
showSearch: true,
treeData: locationList,