This commit is contained in:
FLL
2025-09-05 14:44:35 +08:00
6 changed files with 65 additions and 20 deletions

View File

@@ -1,4 +1,4 @@
import type { PageQuery, BaseEntity } from '#/api/common'; import type {PageQuery, BaseEntity} from '#/api/common';
export interface MeetVO { export interface MeetVO {
/** /**
@@ -90,6 +90,10 @@ export interface MeetVO {
* 负责人 * 负责人
*/ */
principalsName: string; principalsName: string;
/**
* 保密等级
*/
secrecyGrade: string;
} }
export interface MeetForm extends BaseEntity { export interface MeetForm extends BaseEntity {
@@ -236,8 +240,8 @@ export interface MeetQuery extends PageQuery {
searchValue?: string; searchValue?: string;
/** /**
* 日期范围参数 * 日期范围参数
*/ */
params?: any; params?: any;
/** /**
@@ -274,7 +278,7 @@ export interface MeetQuery extends PageQuery {
picture: string; picture: string;
} }
export interface ConferenceSettingsDetail{ export interface ConferenceSettingsDetail {
/** /**
* 主键 * 主键
*/ */
@@ -375,7 +379,7 @@ export interface ConferenceSettingsDetail{
} }
export interface MeetBo{ export interface MeetBo {
/** /**
* 会议室名称 * 会议室名称
*/ */

View File

@@ -63,11 +63,6 @@ export const columns: VxeGridProps['columns'] = [
}, },
width:120 width:120
}, },
{
title: '客服电话',
field: 'serviceName',
width:120
},
{ {
field: 'action', field: 'action',
fixed: 'right', fixed: 'right',
@@ -122,10 +117,10 @@ export const modalSchema: FormSchemaGetter = () => [
}, },
}, },
{ {
label: '客服电话', label: '反馈单位',
fieldName: 'serviceName', fieldName: 'feedbackUnit',
component: 'Input', component: 'Select',
rules: 'required', rules: 'selectRequired',
}, },
{ {
label: '反馈内容', label: '反馈内容',

View File

@@ -18,6 +18,7 @@ import type {FeedbacksVO} from "#/api/property/customerService/feedbacks/model";
import { import {
workOrdersTypeTree workOrdersTypeTree
} from "#/api/property/businessManagement/workOrdersType"; } from "#/api/property/businessManagement/workOrdersType";
import {resident_unitList} from "#/api/property/resident/unit";
const emit = defineEmits<{ reload: [] }>(); const emit = defineEmits<{ reload: [] }>();
@@ -66,6 +67,7 @@ const [BasicModal, modalApi] = useVbenModal({
const {id} = modalApi.getData() as { id?: number | string }; const {id} = modalApi.getData() as { id?: number | string };
isUpdate.value = !!id; isUpdate.value = !!id;
await initWorkOrderTypeOption() await initWorkOrderTypeOption()
await initUnitOption()
if (isUpdate.value && id) { if (isUpdate.value && id) {
const record = await feedbacksInfo(id); const record = await feedbacksInfo(id);
detail.value = record detail.value = record
@@ -127,6 +129,25 @@ async function initWorkOrderTypeOption() {
]); ]);
} }
async function initUnitOption() {
let params = {
pageSize: 1000,
pageNum: 1
}
const res = await resident_unitList(params)
formApi.updateSchema([{
componentProps: () => ({
options: res.rows,
//开启搜索
showSearch: true,
//数据过滤字段
optionFilterProp: 'name',
//下拉显示字段
fieldNames: {label: 'name', value: 'id'},
}),
fieldName: 'feedbackUnit',
}])
}
</script> </script>
<template> <template>

View File

@@ -5,7 +5,7 @@ export const querySchema: FormSchemaGetter = () => [
{ {
component: 'Input', component: 'Input',
fieldName: 'floorName', fieldName: 'floorName',
label: '楼层名称', label: '楼栋号',
}, },
]; ];
@@ -22,7 +22,7 @@ export const columns: VxeGridProps['columns'] = [
field: 'buildingText', field: 'buildingText',
}, },
{ {
title: '楼层名称', title: '楼栋号',
field: 'floorName', field: 'floorName',
}, },
{ {
@@ -76,11 +76,12 @@ export const modalSchema: FormSchemaGetter = () => [
component: 'TreeSelect', component: 'TreeSelect',
fieldName: 'buildingId', fieldName: 'buildingId',
defaultValue: undefined, defaultValue: undefined,
label: '社区建筑', label: '建筑名称',
rules: 'selectRequired', rules: 'selectRequired',
formItemClass:'col-span-2',
}, },
{ {
label: '楼层数名称', label: '楼栋号',
fieldName: 'floorName', fieldName: 'floorName',
component: 'Input', component: 'Input',
rules: 'required', rules: 'required',

View File

@@ -54,10 +54,15 @@ async function handleOpenChange(open: boolean) {
{{ conferenceSettingsDetail.name }} {{ conferenceSettingsDetail.name }}
</DescriptionsItem> </DescriptionsItem>
<DescriptionsItem label="会议室类型"> <DescriptionsItem label="会议室类型">
<component <component v-if="conferenceSettingsDetail.meetingRoomType!=null"
:is="renderDict(conferenceSettingsDetail.meetingRoomType,'meeting_room_type')" :is="renderDict(conferenceSettingsDetail.meetingRoomType,'meeting_room_type')"
/> />
</DescriptionsItem> </DescriptionsItem>
<DescriptionsItem label="保密等级">
<component v-if="conferenceSettingsDetail.secrecyGrade!=null"
:is="renderDict(conferenceSettingsDetail.secrecyGrade,'wy_hysbmdj')"
/>
</DescriptionsItem>
<DescriptionsItem label="可容纳人数"> <DescriptionsItem label="可容纳人数">
{{ conferenceSettingsDetail.personNumber }} {{ conferenceSettingsDetail.personNumber }}
</DescriptionsItem> </DescriptionsItem>

View File

@@ -42,7 +42,16 @@ export const columns: VxeGridProps['columns'] = [
field: 'meetingRoomType', field: 'meetingRoomType',
slots: { slots: {
default: ({row}) => { default: ({row}) => {
return row.meetingRoomType!=null?renderDict(row.meetingRoomType, 'meeting_room_type'):''; return row.meetingRoomType!=null?renderDict(row.meetingRoomType, 'meeting_room_type'):'-';
},
},
minWidth:100,
},
{
title: '保密等级',
slots: {
default: ({row}) => {
return row.secrecyGrade!=null?renderDict(row.secrecyGrade, 'wy_hysbmdj'):'-';
}, },
}, },
minWidth:100, minWidth:100,
@@ -124,6 +133,16 @@ export const modalSchema: FormSchemaGetter = () => [
}, },
rules: 'selectRequired', rules: 'selectRequired',
}, },
{
label: '保密等级',
fieldName: 'secrecyGrade',
component: 'Select',
componentProps: {
options: getDictOptions('wy_hysbmdj'),
},
rules: 'selectRequired',
formItemClass: 'col-span-1',
},
{ {
label: '可容纳人数', label: '可容纳人数',
fieldName: 'personNumber', fieldName: 'personNumber',