feat:会议室预约添加会议室类型查询条件
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
parent
b1fa25daf1
commit
0e38ea68fe
@ -40,6 +40,10 @@ export interface AttachVO {
|
||||
* 创建时间
|
||||
*/
|
||||
createTime: string;
|
||||
|
||||
quantity: number;
|
||||
|
||||
meetAttachId: string;
|
||||
}
|
||||
|
||||
export interface AttachForm extends BaseEntity {
|
||||
|
@ -118,7 +118,6 @@ async function queryAddServices() {
|
||||
unit: item.unit,
|
||||
quantity: 0
|
||||
}))
|
||||
console.log(res,addServiceList.value);
|
||||
}
|
||||
|
||||
async function queryPersonData() {
|
||||
@ -201,7 +200,7 @@ async function changeProjectNum() {
|
||||
<Table :dataSource="addServiceList" v-bind="slotProps" :columns="addServiceColumns"
|
||||
:pagination="false"
|
||||
size="small" :show-header="false" bordered>
|
||||
<template #bodyCell="{ column, record, index }">
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.field === 'price'">
|
||||
{{ record.price + '元/' + renderDictValue(record.unit, 'pro_product_unit') }}
|
||||
</template>
|
||||
|
@ -6,21 +6,40 @@
|
||||
layout="inline"
|
||||
class="form-box"
|
||||
>
|
||||
<a-form-item label="会议室类型">
|
||||
<Select
|
||||
v-model:value="formState.meetingRoomType"
|
||||
class="room-select"
|
||||
placeholder="请选择会议室类型"
|
||||
style="width: 180px;"
|
||||
>
|
||||
<SelectOption
|
||||
v-for="item in getDictOptions('meeting_room_type')"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
</SelectOption>
|
||||
</Select>
|
||||
</a-form-item>
|
||||
<a-form-item label="会议日期">
|
||||
<DatePicker v-model:value="formState.appointmentTime" style="width: 200px;"/>
|
||||
<DatePicker v-model:value="formState.appointmentTime" style="width: 180px;"/>
|
||||
</a-form-item>
|
||||
<a-form-item label="会议时段">
|
||||
<TimeRangePicker style="width: 200px;" format="HH:mm"
|
||||
v-model:value="formState.openHours"></TimeRangePicker>
|
||||
</a-form-item>
|
||||
<a-form-item label="参会人数" style="width: 400px;">
|
||||
<InputNumber style="width: 200px;" placeholder="请输入参会人数"
|
||||
<a-form-item label="参会人数">
|
||||
<InputNumber style="width: 150px;" placeholder="请输入参会人数"
|
||||
v-model:value="formState.personNumber"/>
|
||||
</a-form-item>
|
||||
<a-form-item class="form-button">
|
||||
<a-form-item >
|
||||
<a-button @click="handleClean">重置</a-button>
|
||||
</a-form-item>
|
||||
<a-form-item>
|
||||
<a-button type="primary" class="primary-button"
|
||||
:disabled="!formState.appointmentTime||!(formState.openHours&&formState.openHours.length)||!formState.personNumber"
|
||||
:disabled="!formState.meetingRoomType||!formState.appointmentTime
|
||||
||!(formState.openHours&&formState.openHours.length)||!formState.personNumber"
|
||||
@click="handleSearch">搜索</a-button>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
@ -57,24 +76,27 @@ import {
|
||||
InputNumber,
|
||||
Empty,
|
||||
Alert,
|
||||
DatePicker
|
||||
DatePicker, Select,SelectOption
|
||||
} from 'ant-design-vue';
|
||||
import conferenceAddServicesModal from '../conferenceReservations/conferenceReservations-modal.vue';
|
||||
import {notlist} from "#/api/property/roomBooking/conferenceSettings";
|
||||
import type {MeetVO} from "#/api/property/roomBooking/conferenceSettings/model";
|
||||
import {renderDictValue} from "#/utils/render";
|
||||
import type { Dayjs } from 'dayjs';
|
||||
import {getDictOptions} from "#/utils/dict";
|
||||
|
||||
interface FormState {
|
||||
openHours?: any[];
|
||||
personNumber?: number|undefined;
|
||||
appointmentTime?:Dayjs|undefined
|
||||
appointmentTime?:Dayjs|undefined;
|
||||
meetingRoomType:string|undefined;
|
||||
}
|
||||
|
||||
const formState = reactive<FormState>({
|
||||
openHours: [],
|
||||
personNumber: undefined,
|
||||
appointmentTime:undefined
|
||||
appointmentTime:undefined,
|
||||
meetingRoomType:undefined,
|
||||
});
|
||||
const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE;
|
||||
|
||||
@ -94,15 +116,16 @@ async function handleSearch() {
|
||||
|
||||
const handleClean = () => {
|
||||
formState.openHours = [];
|
||||
formState.personNumber = null;
|
||||
formState.personNumber = undefined;
|
||||
formState.appointmentTime = undefined;
|
||||
formState.meetingRoomType = undefined;
|
||||
}
|
||||
|
||||
const [modal, modalApi] = useVbenModal({
|
||||
connectedComponent: conferenceAddServicesModal,
|
||||
});
|
||||
|
||||
function handleAdd(id:string) {
|
||||
function handleAdd(id:string|number) {
|
||||
modalApi.setData({id});
|
||||
modalApi.open();
|
||||
}
|
||||
@ -110,18 +133,7 @@ function handleAdd(id:string) {
|
||||
|
||||
<style lang="scss">
|
||||
.form-box {
|
||||
width: 100%;
|
||||
padding: 10px 30px 0 30px;
|
||||
position: relative;
|
||||
|
||||
.form-button {
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
|
||||
.primary-button {
|
||||
margin-left: 15px;
|
||||
}
|
||||
}
|
||||
margin: 10px 0 0 5px;
|
||||
}
|
||||
|
||||
.card-box {
|
||||
|
Loading…
Reference in New Issue
Block a user