diff --git a/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue b/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue
index 28d217e5..7a763c7f 100644
--- a/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue
+++ b/apps/web-antd/src/views/property/clean/cleanOrders/clean-modal.vue
@@ -67,6 +67,7 @@ const [BasicForm, formApi] = useVbenForm({
class: 'w-full',
disabled: isReadonly.value,
})),
+ schema: modalSchema(isReadonly.value),
},
// 1. 使用正确的属性名 handleValuesChange
handleValuesChange: async (values, fieldsChanged) => {
@@ -327,6 +328,8 @@ async function handleConfirm() {
return;
}
const data = cloneDeep(await formApi.getValues());
+ console.log(data);
+
// 单位数据缓存
if (unitListData.length === 0) {
const res = await resident_unitList();
@@ -340,10 +343,9 @@ async function handleConfirm() {
data.name = cleanObj ? cleanObj.name : data.name || '';
data.unitId = unitObj ? unitObj.id : isUpdate.value ? editUnitId.value : '';
data.sumPeices = Number(totalSumPeices.value)
- // data.sumPeices = parseInt(totalSumPeices.value, 10);
- // 组装 cleanIds
- // data.cleanIds = detailTable.value.map((item: any) => item.id);
data.cleanList = detailTable.value;
+ if (data.starTime) data.starTime = dayjs(data.starTime).format('YYYY-MM-DD HH:mm:ss');
+ if (data.endTime) data.endTime = dayjs(data.endTime).format('YYYY-MM-DD HH:mm:ss');
isUpdate.value ? await clean_orderUpdate({...data,id:editCleanOrderId.value}) : await clean_orderAdd(data);
resetInitialized();
emit('reload');
diff --git a/apps/web-antd/src/views/property/clean/cleanOrders/data.ts b/apps/web-antd/src/views/property/clean/cleanOrders/data.ts
index 78f6337f..82edeb15 100644
--- a/apps/web-antd/src/views/property/clean/cleanOrders/data.ts
+++ b/apps/web-antd/src/views/property/clean/cleanOrders/data.ts
@@ -131,7 +131,7 @@ export const columns: VxeGridProps['columns'] = [
];
-export const modalSchema: FormSchemaGetter = () => [
+export const modalSchema: (isReadonly: boolean) => FormSchema[] = (isReadonly) => [
{
label: '主键id',
fieldName: 'id',
@@ -167,7 +167,7 @@ export const modalSchema: FormSchemaGetter = () => [
showTime: true,
format: 'YYYY-MM-DD HH:mm:ss',
placeholder: !values.starTime?'请先选择开始时间':`请选择结束时间(结束时间不能早于开始时间)`,
- disabled: !values.starTime, // 没选开始时间时禁用
+ disabled: isReadonly || !values.starTime, // 没选开始时间时禁用
disabledDate: (current:any) => {
if (!values.starTime) return false;
// 只允许选择大于等于开始时间的日期
diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-detial-modal.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-detial-modal.vue
index e16c8d50..f7af2e4f 100644
--- a/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-detial-modal.vue
+++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-detial-modal.vue
@@ -39,29 +39,7 @@ const detailSchema = [
api: async () => {
const res = await plantsProductList({state:1,inventory:0});
plantListData = res.rows || [];
-
- // 获取当前模态框的数据,包含已添加的产品列表
- const modalData = modalApi.getData();
- const existingProducts = modalData?.existingProducts || [];
- const currentProductId = modalData?.currentProductId;
-
- // 过滤掉已经添加到产品列表中的产品
- // 如果是编辑模式,需要排除当前正在编辑的产品
- const filteredRows = res.rows.filter((item: any) => {
- // 如果是编辑模式且是当前正在编辑的产品,则保留
- if (currentProductId && item.id === currentProductId) {
- return true;
- }
- // 过滤掉已添加的产品
- return !existingProducts.some((existing: any) =>
- existing.productId === item.id || existing.id === item.id
- );
- });
-
- return {
- ...res,
- rows: filteredRows
- };
+ return res;
},
resultField: 'rows',
labelField: 'plantName',
diff --git a/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-modal.vue b/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-modal.vue
index 55600aa4..b6a9a9c2 100644
--- a/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-modal.vue
+++ b/apps/web-antd/src/views/property/greenPlantRentalManagement/leasePogramManagement/rentalPlan-modal.vue
@@ -29,10 +29,10 @@ const [BasicForm, formApi] = useVbenForm({
// 默认label宽度 px
labelWidth: 120,
// 通用配置项 会影响到所有表单项
- componentProps: {
+ componentProps: computed(() => ({
class: 'w-full',
- disabled: isReadonly,
- },
+ disabled: isReadonly.value,
+ })),
},
schema: modalSchema(),
showDefaultActions: false,
@@ -143,13 +143,10 @@ const detailColumns = [
title: '操作',
key: 'action',
fixed: 'right' as const,
- width: 200,
},
];
function handleAddDetail() {
- detailModalApi.setData({
- existingProducts: detailTable.value
- });
+ detailModalApi.setData({});
detailModalApi.open();
}
//添加植物组合包产品
@@ -172,13 +169,7 @@ function handleViewDetail(record: any) {
}
// 编辑产品详情
function handleEditDetail(record: any, index: number) {
- detailModalApi.setData({
- ...record,
- index,
- readonly: false,
- existingProducts: detailTable.value.filter((item: any, i: number) => i !== index),
- currentProductId: record.productId || record.id
- });
+ detailModalApi.setData({ ...record, index, readonly: false });
detailModalApi.open();
}
//分类字典
diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/data.ts b/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/data.ts
index a172183f..243be27b 100644
--- a/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/data.ts
+++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/data.ts
@@ -1,41 +1,23 @@
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: 'DatePicker',
- componentProps: {
- showTime: true,
- format: 'YYYY-MM-DD HH:mm:ss',
- valueFormat: 'YYYY-MM-DD HH:mm:ss',
- },
- fieldName: 'actInsTime',
- label: '实际巡检时间',
- labelWidth: 120,
- },
- {
- component: 'Input',
- fieldName: 'actUserId',
- label: '当前巡检人',
- },
+ // {
+ // component: 'Input',
+ // fieldName: 'actUserId',
+ // label: '当前巡检人',
+ // labelWidth: 160,
+ // },
{
component: 'Select',
componentProps: {
- },
- fieldName: 'taskType',
- label: '巡检方式',
- },
-
- {
- component: 'RadioGroup',
- componentProps: {
- buttonStyle: 'solid',
- optionType: 'button',
+ options:getDictOptions('wy_xjzt')
},
fieldName: 'status',
label: '巡检状态',
+ labelWidth: 160,
},
];
@@ -56,50 +38,58 @@ export const columns: VxeGridProps['columns'] = [
{
title: '巡检计划',
field: 'planName',
- width:'auto'
+ minWidth: 120,
},
{
- title: '巡检开始日期',
- field: 'startDate',
- width:180
-
- },
- {
- title: '巡检结束日期',
- field: 'endDate',
- width:180
-
- },
- {
- title: '实际巡检时间',
- field: 'actInsTime',
- width:180
- },
- {
- title: '当前巡检人',
- field: 'actUserId',
- width:'auto'
+ title: '巡检开始结束日期',
+ field: 'planInsTime',
+ minWidth:280
},
+ // {
+ // title: '当前巡检人',
+ // field: 'actUserId',
+ // width:'auto'
+ // },
{
title: '巡检方式',
field: 'taskType',
- width:'auto'
-
+ width:'auto',
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.taskType, 'wy_xjqdfs');
+ },
+ },
},
{
title: '转移描述',
field: 'transferDesc',
- width:200
+ width:200,
+ slots: {
+ default: ({ row }) => {
+ return row.transferDesc?row.transferDesc:'--';
+ },
+ },
},
{
title: '巡检状态',
field: 'status',
+ width:'auto',
+ slots: {
+ default: ({ row }) => {
+ return renderDict(row.status, 'wy_xjzt');
+ },
+ },
},
{
title: '备注',
field: 'remark',
-
+ width:'auto',
+ slots: {
+ default: ({ row }) => {
+ return row.remark?row.remark:'--';
+ },
+ },
},
{
field: 'action',
@@ -126,54 +116,45 @@ export const modalSchema: FormSchemaGetter = () => [
component: 'Input',
},
{
- label: '巡检开始日期',
- fieldName: 'startDate',
- component: 'Input',
- },
- {
- label: '巡检结束日期',
- fieldName: 'endDate',
- component: 'Input',
- },
- {
- label: '实际巡检时间',
- fieldName: 'actInsTime',
- component: 'DatePicker',
- componentProps: {
- showTime: true,
- format: 'YYYY-MM-DD HH:mm:ss',
- valueFormat: 'YYYY-MM-DD HH:mm:ss',
- },
- },
- {
- label: '当前巡检人',
- fieldName: 'actUserId',
+ label: '巡检开始结束日期',
+ fieldName: 'planInsTime',
component: 'Input',
},
+ // {
+ // label: '当前巡检人',
+ // fieldName: 'actUserId',
+ // component: 'Input',
+ // },
{
label: '巡检方式',
fieldName: 'taskType',
component: 'Select',
componentProps: {
+ options: getDictOptions('wy_xjqdfs'),
},
},
{
label: '转移描述',
fieldName: 'transferDesc',
component: 'Textarea',
+ componentProps:{
+ placeholder:''
+ }
},
{
label: '巡检状态',
fieldName: 'status',
- component: 'RadioGroup',
+ component: 'Select',
componentProps: {
- buttonStyle: 'solid',
- optionType: 'button',
+ options: getDictOptions('wy_xjzt'),
},
},
{
label: '备注',
fieldName: 'remark',
component: 'Input',
+ componentProps:{
+ placeholder:''
+ }
}
];
diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/index.vue b/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/index.vue
index 893481ce..06ceda3e 100644
--- a/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/index.vue
+++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionTask/index.vue
@@ -155,17 +155,17 @@ function handleDownloadExcel() {
-
+ >详情
+
();
const isUpdate = ref(false);
const title = computed(() => {
- return isUpdate.value ? $t('pages.common.edit') : $t('pages.common.add');
+ return isUpdate.value ? '详情' : $t('pages.common.add');
});
const [BasicForm, formApi] = useVbenForm({
@@ -27,6 +27,7 @@ const [BasicForm, formApi] = useVbenForm({
// 通用配置项 会影响到所有表单项
componentProps: {
class: 'w-full',
+ disabled:true
}
},
schema: modalSchema(),
@@ -48,6 +49,7 @@ const [BasicModal, modalApi] = useVbenModal({
onBeforeClose,
onClosed: handleClosed,
onConfirm: handleConfirm,
+
onOpenChange: async (isOpen) => {
if (!isOpen) {
return null;
@@ -75,8 +77,8 @@ async function handleConfirm() {
return;
}
// getValues获取为一个readonly的对象 需要修改必须先深拷贝一次
- const data = cloneDeep(await formApi.getValues());
- await (isUpdate.value ? inspectionTaskUpdate(data) : inspectionTaskAdd(data));
+ // const data = cloneDeep(await formApi.getValues());
+ // await (isUpdate.value ? inspectionTaskUpdate(data) : inspectionTaskAdd(data));
resetInitialized();
emit('reload');
modalApi.close();
@@ -98,4 +100,16 @@ async function handleClosed() {
+