This commit is contained in:
@@ -10,6 +10,7 @@ export interface FeedbacksVO {
|
|||||||
* 反馈类型(0保修1保洁2会议)
|
* 反馈类型(0保修1保洁2会议)
|
||||||
*/
|
*/
|
||||||
feedbackType: string;
|
feedbackType: string;
|
||||||
|
feedbackTypeName: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 反馈人
|
* 反馈人
|
||||||
@@ -21,6 +22,11 @@ export interface FeedbacksVO {
|
|||||||
*/
|
*/
|
||||||
feedbackPersionPhone: string;
|
feedbackPersionPhone: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 反馈人名称
|
||||||
|
*/
|
||||||
|
feedbackPersionName: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 反馈内容
|
* 反馈内容
|
||||||
*/
|
*/
|
||||||
@@ -50,6 +56,10 @@ export interface FeedbacksVO {
|
|||||||
* 客服电话
|
* 客服电话
|
||||||
*/
|
*/
|
||||||
serviceName: string;
|
serviceName: string;
|
||||||
|
/**
|
||||||
|
* 工单id
|
||||||
|
*/
|
||||||
|
orderId: string;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -61,5 +61,5 @@ export function meetRemove(id: ID | IDS) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function notlist(params?: MeetBo) {
|
export function notlist(params?: MeetBo) {
|
||||||
return requestClient.get<PageResult<MeetVO>>('/property/meet/notlist', { params });
|
return requestClient.get<MeetVO[]>('/property/meet/notlist', { params });
|
||||||
}
|
}
|
||||||
|
@@ -67,6 +67,14 @@ export interface MeetVO {
|
|||||||
* 图片
|
* 图片
|
||||||
*/
|
*/
|
||||||
picture: string;
|
picture: string;
|
||||||
|
/**
|
||||||
|
* 开放时段开始时间
|
||||||
|
*/
|
||||||
|
openStartHours: string;
|
||||||
|
/**
|
||||||
|
* 开放时段结束时间
|
||||||
|
*/
|
||||||
|
openEndHours: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MeetForm extends BaseEntity {
|
export interface MeetForm extends BaseEntity {
|
||||||
@@ -153,6 +161,15 @@ export interface MeetForm extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
picture: string;
|
picture: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开放时段开始时间
|
||||||
|
*/
|
||||||
|
openStartHours: string;
|
||||||
|
/**
|
||||||
|
* 开放时段结束时间
|
||||||
|
*/
|
||||||
|
openEndHours: string;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MeetQuery extends PageQuery {
|
export interface MeetQuery extends PageQuery {
|
||||||
@@ -240,7 +257,7 @@ export interface MeetQuery extends PageQuery {
|
|||||||
picture: string;
|
picture: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface conferenceSettingsDetail extends BaseEntity {
|
export interface ConferenceSettingsDetail{
|
||||||
/**
|
/**
|
||||||
* 主键
|
* 主键
|
||||||
*/
|
*/
|
||||||
@@ -329,6 +346,16 @@ export interface conferenceSettingsDetail extends BaseEntity {
|
|||||||
* 图片
|
* 图片
|
||||||
*/
|
*/
|
||||||
picture: string;
|
picture: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开放时段开始时间
|
||||||
|
*/
|
||||||
|
openStartHours: string;
|
||||||
|
/**
|
||||||
|
* 开放时段结束时间
|
||||||
|
*/
|
||||||
|
openEndHours: string;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MeetBo{
|
export interface MeetBo{
|
||||||
|
@@ -30,7 +30,7 @@ export const querySchema: FormSchemaGetter = () => [
|
|||||||
options: getDictOptions('pro_processing_weight'),
|
options: getDictOptions('pro_processing_weight'),
|
||||||
},
|
},
|
||||||
fieldName: 'processingWeight',
|
fieldName: 'processingWeight',
|
||||||
label: '处理权重',
|
label: '处理优先级',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ export const columns: VxeGridProps['columns'] = [
|
|||||||
width: 100,
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '处理权重',
|
title: '处理优先级',
|
||||||
field: 'processingWeight',
|
field: 'processingWeight',
|
||||||
slots: {
|
slots: {
|
||||||
default: ({row}) => {
|
default: ({row}) => {
|
||||||
@@ -166,7 +166,7 @@ export const modalSchema: FormSchemaGetter = () => [
|
|||||||
rules: 'selectRequired',
|
rules: 'selectRequired',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '处理权重',
|
label: '处理优先级',
|
||||||
fieldName: 'processingWeight',
|
fieldName: 'processingWeight',
|
||||||
component: 'Select',
|
component: 'Select',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
@@ -57,7 +57,7 @@ async function handleOpenChange(open: boolean) {
|
|||||||
:is="renderDict(orderDetail.reportingType,'wy_gdsblx')"
|
:is="renderDict(orderDetail.reportingType,'wy_gdsblx')"
|
||||||
/>
|
/>
|
||||||
</DescriptionsItem>
|
</DescriptionsItem>
|
||||||
<DescriptionsItem label="处理权重">
|
<DescriptionsItem label="处理优先级">
|
||||||
<component
|
<component
|
||||||
:is="renderDict(orderDetail.processingWeight,'pro_processing_weight')"
|
:is="renderDict(orderDetail.processingWeight,'pro_processing_weight')"
|
||||||
/>
|
/>
|
||||||
|
@@ -140,7 +140,7 @@ const { hasAccessByCodes } = useAccess();
|
|||||||
unCheckedValue="0"
|
unCheckedValue="0"
|
||||||
v-model:value="row.state"
|
v-model:value="row.state"
|
||||||
:api="() => costItemSettingUpdate(row)"
|
:api="() => costItemSettingUpdate(row)"
|
||||||
:disabled=" !hasAccessByCodes(['property:unit:edit'])"
|
:disabled=" !hasAccessByCodes(['property:costItemSetting:edit'])"
|
||||||
@reload="() => tableApi.query()"
|
@reload="() => tableApi.query()"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
@@ -90,7 +90,7 @@ export const modalSchema: FormSchemaGetter = () => [
|
|||||||
{
|
{
|
||||||
label: '反馈类型',
|
label: '反馈类型',
|
||||||
fieldName: 'feedbackType',
|
fieldName: 'feedbackType',
|
||||||
component: 'Select',
|
component: 'TreeSelect',
|
||||||
rules: 'selectRequired',
|
rules: 'selectRequired',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -160,7 +160,15 @@ export const modalSchema: FormSchemaGetter = () => [
|
|||||||
},
|
},
|
||||||
rules:'selectRequired'
|
rules:'selectRequired'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '工单id',
|
||||||
|
fieldName: 'orderId',
|
||||||
|
component: 'Input',
|
||||||
|
dependencies: {
|
||||||
|
show: () => false,
|
||||||
|
triggerFields: [''],
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '转至工单',//转至工单
|
label: '转至工单',//转至工单
|
||||||
fieldName: 'isWorkOrder',
|
fieldName: 'isWorkOrder',
|
||||||
@@ -170,7 +178,11 @@ export const modalSchema: FormSchemaGetter = () => [
|
|||||||
options: getDictOptions('wy_sf'),
|
options: getDictOptions('wy_sf'),
|
||||||
optionType: 'button',
|
optionType: 'button',
|
||||||
},
|
},
|
||||||
defaultValue:'0',
|
defaultValue:'1',
|
||||||
rules:'selectRequired'
|
rules:'selectRequired',
|
||||||
|
dependencies: {
|
||||||
|
show: (formValue) => !formValue.orderId,
|
||||||
|
triggerFields: ['orderId'],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@@ -37,10 +37,12 @@ async function handleOpenChange(open: boolean) {
|
|||||||
<Descriptions v-if="feedbacksDetail" size="small" :column="2" bordered
|
<Descriptions v-if="feedbacksDetail" size="small" :column="2" bordered
|
||||||
:labelStyle="{width:'120px'}">
|
:labelStyle="{width:'120px'}">
|
||||||
<DescriptionsItem label="反馈类型">
|
<DescriptionsItem label="反馈类型">
|
||||||
{{ feedbacksDetail.feedbackType }}
|
{{ feedbacksDetail.feedbackTypeName }}
|
||||||
</DescriptionsItem>
|
</DescriptionsItem>
|
||||||
<DescriptionsItem label="反馈人">
|
<DescriptionsItem label="反馈人">
|
||||||
{{ feedbacksDetail.feedbackPersion+'-'+feedbacksDetail.feedbackPersionPhone }}
|
<span>
|
||||||
|
{{ feedbacksDetail.feedbackPersionName||''+'-'+feedbacksDetail.feedbackPersionPhone }}
|
||||||
|
</span>
|
||||||
</DescriptionsItem>
|
</DescriptionsItem>
|
||||||
<DescriptionsItem label="反馈内容" :span="2">
|
<DescriptionsItem label="反馈内容" :span="2">
|
||||||
{{ feedbacksDetail.feedbackContent }}
|
{{ feedbacksDetail.feedbackContent }}
|
||||||
|
@@ -15,7 +15,9 @@ import {defaultFormValueGetter, useBeforeCloseDiff} from '#/utils/popup';
|
|||||||
|
|
||||||
import {modalSchema} from './data';
|
import {modalSchema} from './data';
|
||||||
import type {FeedbacksVO} from "#/api/property/customerService/feedbacks/model";
|
import type {FeedbacksVO} from "#/api/property/customerService/feedbacks/model";
|
||||||
import {workOrdersTypeList} from "#/api/property/businessManagement/workOrdersType";
|
import {
|
||||||
|
workOrdersTypeTree
|
||||||
|
} from "#/api/property/businessManagement/workOrdersType";
|
||||||
|
|
||||||
const emit = defineEmits<{ reload: [] }>();
|
const emit = defineEmits<{ reload: [] }>();
|
||||||
|
|
||||||
@@ -101,28 +103,38 @@ async function handleClosed() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function initWorkOrderTypeOption() {
|
async function initWorkOrderTypeOption() {
|
||||||
let params = {
|
const options = await workOrdersTypeTree()
|
||||||
pageSize: 1000,
|
formApi.updateSchema([
|
||||||
pageNum: 1
|
{
|
||||||
}
|
componentProps: () => ({
|
||||||
const res = await workOrdersTypeList(params)
|
class: 'w-full',
|
||||||
formApi.updateSchema([{
|
fieldNames: {
|
||||||
componentProps: () => ({
|
key: 'id',
|
||||||
options: res.rows,
|
label: 'orderTypeName',
|
||||||
showSearch: true,
|
value: 'id',
|
||||||
optionFilterProp: 'orderTypeName',
|
children: 'children',
|
||||||
fieldNames: {label: 'orderTypeName', value: 'id'},
|
},
|
||||||
}),
|
placeholder: '请选择反馈类型',
|
||||||
fieldName: 'feedbackType',
|
showSearch: true,
|
||||||
}])
|
treeData: options,
|
||||||
|
treeDefaultExpandAll: true,
|
||||||
|
treeLine: { showLeafIcon: false },
|
||||||
|
treeNodeFilterProp: 'orderTypeName',
|
||||||
|
treeNodeLabelProp: 'orderTypeName',
|
||||||
|
}),
|
||||||
|
fieldName: 'feedbackType',
|
||||||
|
},
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<BasicModal :title="title">
|
<BasicModal :title="title">
|
||||||
<BasicForm>
|
<BasicForm>
|
||||||
<template #person>
|
<template #person>
|
||||||
<span v-if="detail">{{ detail.feedbackPersion + '-' + detail.feedbackPersionPhone }}</span>
|
<span v-if="detail">
|
||||||
|
{{ detail.feedbackPersionName||'' + '-' + detail.feedbackPersionPhone }}</span>
|
||||||
</template>
|
</template>
|
||||||
</BasicForm>
|
</BasicForm>
|
||||||
</BasicModal>
|
</BasicModal>
|
||||||
|
@@ -175,7 +175,7 @@ async function handleDelete(row: Required<QuestionnaireForm>) {
|
|||||||
</ghost-button>
|
</ghost-button>
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
<ghost-button
|
<ghost-button
|
||||||
v-access:code="['property:questionnaire:info']"
|
v-access:code="['property:questionnaire:statistics']"
|
||||||
@click.stop="handleEdit(row)"
|
@click.stop="handleEdit(row)"
|
||||||
>
|
>
|
||||||
统计分析
|
统计分析
|
||||||
|
@@ -6,7 +6,7 @@ import {attachListAll} from '#/api/property/roomBooking/conferenceAddServices';
|
|||||||
import {meetInfo} from '#/api/property/roomBooking/conferenceSettings';
|
import {meetInfo} from '#/api/property/roomBooking/conferenceSettings';
|
||||||
import {defaultFormValueGetter, useBeforeCloseDiff} from '#/utils/popup';
|
import {defaultFormValueGetter, useBeforeCloseDiff} from '#/utils/popup';
|
||||||
import {modalSchema} from './data';
|
import {modalSchema} from './data';
|
||||||
import type {conferenceSettingsDetail} from "#/api/property/roomBooking/conferenceSettings/model";
|
import type {ConferenceSettingsDetail} from "#/api/property/roomBooking/conferenceSettings/model";
|
||||||
import type {AttachVO} from "#/api/property/roomBooking/conferenceAddServices/model";
|
import type {AttachVO} from "#/api/property/roomBooking/conferenceAddServices/model";
|
||||||
import {addServiceColumns} from "./data";
|
import {addServiceColumns} from "./data";
|
||||||
import {Table, InputNumber, TimeRangePicker} from "ant-design-vue";
|
import {Table, InputNumber, TimeRangePicker} from "ant-design-vue";
|
||||||
@@ -17,7 +17,7 @@ import {reservationAdd} from "#/api/property/roomBooking/conferenceReservations"
|
|||||||
import {ref} from "vue";
|
import {ref} from "vue";
|
||||||
|
|
||||||
const emit = defineEmits<{ reload: [] }>();
|
const emit = defineEmits<{ reload: [] }>();
|
||||||
const conferenceSettingDetail = ref<conferenceSettingsDetail>()
|
const conferenceSettingDetail = ref<ConferenceSettingsDetail>()
|
||||||
const addServiceList = ref<AttachVO[]>([])
|
const addServiceList = ref<AttachVO[]>([])
|
||||||
const totalAmount = ref<number>(0)
|
const totalAmount = ref<number>(0)
|
||||||
const [BasicForm, formApi] = useVbenForm({
|
const [BasicForm, formApi] = useVbenForm({
|
||||||
@@ -188,7 +188,7 @@ async function changeProjectNum() {
|
|||||||
conferenceSettingDetail.expenseType == '2' ? conferenceSettingDetail.basePrice + '元' :
|
conferenceSettingDetail.expenseType == '2' ? conferenceSettingDetail.basePrice + '元' :
|
||||||
renderDictValue(conferenceSettingDetail.expenseType, 'wy_fyms')
|
renderDictValue(conferenceSettingDetail.expenseType, 'wy_fyms')
|
||||||
}}</span>
|
}}</span>
|
||||||
<span>开放时段:{{ conferenceSettingDetail.openHours }}</span>
|
<span>开放时段:{{ conferenceSettingDetail.openStartHours+'-'+conferenceSettingDetail.openEndHours }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<BasicForm>
|
<BasicForm>
|
||||||
|
@@ -53,7 +53,7 @@
|
|||||||
item.expenseType == '2' ? (item.basePrice+"元") : renderDictValue(item.expenseType, 'wy_fyms')
|
item.expenseType == '2' ? (item.basePrice+"元") : renderDictValue(item.expenseType, 'wy_fyms')
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<div>开放时段: {{ item.openHours }}</div>
|
<div>开放时段: {{ item.openStartHours+'-'+item.openEndHours }}</div>
|
||||||
<div>配套设备: {{ item.baseService }}</div>
|
<div>配套设备: {{ item.baseService }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -102,14 +102,18 @@ const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE;
|
|||||||
|
|
||||||
const meetingList = ref<MeetVO[]>([])
|
const meetingList = ref<MeetVO[]>([])
|
||||||
async function handleSearch() {
|
async function handleSearch() {
|
||||||
let hours = '';
|
let openStartHours = '';
|
||||||
|
let openEndHours = '';
|
||||||
if (formState.openHours && formState.openHours.length) {
|
if (formState.openHours && formState.openHours.length) {
|
||||||
hours = formState.openHours[0]?.format("HH:mm") + '-' + formState.openHours[1]?.format("HH:mm");
|
openStartHours=formState.openHours[0]?.format("HH:mm");
|
||||||
|
openEndHours=formState.openHours[1]?.format("HH:mm");
|
||||||
}
|
}
|
||||||
const obj = {
|
const obj = {
|
||||||
openHours: hours??undefined,
|
|
||||||
personNumber: formState.personNumber,
|
personNumber: formState.personNumber,
|
||||||
appointmentTime:formState.appointmentTime?formState.appointmentTime.format('YYYY-MM-DD'):undefined
|
openStartHours: openStartHours??undefined,
|
||||||
|
openEndHours:openEndHours??undefined,
|
||||||
|
appointmentTime:formState.appointmentTime?formState.appointmentTime.format('YYYY-MM-DD'):undefined,
|
||||||
|
meetingRoomType:formState.meetingRoomType
|
||||||
}
|
}
|
||||||
meetingList.value =await notlist(obj);
|
meetingList.value =await notlist(obj);
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type {conferenceSettingsDetail} from '#/api/property/roomBooking/conferenceSettings/model';
|
import type {
|
||||||
|
ConferenceSettingsDetail,
|
||||||
|
} from '#/api/property/roomBooking/conferenceSettings/model';
|
||||||
import {shallowRef} from 'vue';
|
import {shallowRef} from 'vue';
|
||||||
import {useVbenModal} from '@vben/common-ui';
|
import {useVbenModal} from '@vben/common-ui';
|
||||||
import {Descriptions, DescriptionsItem} from 'ant-design-vue';
|
import {Descriptions, DescriptionsItem} from 'ant-design-vue';
|
||||||
@@ -19,7 +21,7 @@ const [BasicModal, modalApi] = useVbenModal({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const conferenceSettingsDetail = shallowRef<null | conferenceSettingsDetail>(null);
|
const conferenceSettingsDetail = shallowRef<null | ConferenceSettingsDetail>(null);
|
||||||
|
|
||||||
async function handleOpenChange(open: boolean) {
|
async function handleOpenChange(open: boolean) {
|
||||||
if (!open) {
|
if (!open) {
|
||||||
@@ -73,7 +75,7 @@ async function handleOpenChange(open: boolean) {
|
|||||||
/>
|
/>
|
||||||
</DescriptionsItem>
|
</DescriptionsItem>
|
||||||
<DescriptionsItem label="开放时段" :span="2">
|
<DescriptionsItem label="开放时段" :span="2">
|
||||||
{{ conferenceSettingsDetail.openHours }}
|
{{ conferenceSettingsDetail.openStartHours+'-'+ conferenceSettingsDetail.openEndHours}}
|
||||||
</DescriptionsItem>
|
</DescriptionsItem>
|
||||||
<DescriptionsItem label="会议室描述" :span="2">
|
<DescriptionsItem label="会议室描述" :span="2">
|
||||||
{{ conferenceSettingsDetail.descs }}
|
{{ conferenceSettingsDetail.descs }}
|
||||||
|
@@ -16,9 +16,10 @@ import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup';
|
|||||||
import { modalSchema } from './data';
|
import { modalSchema } from './data';
|
||||||
import { TimeRangePicker } from 'ant-design-vue';
|
import { TimeRangePicker } from 'ant-design-vue';
|
||||||
import { renderDictValue } from '#/utils/render';
|
import { renderDictValue } from '#/utils/render';
|
||||||
import { personList } from '#/api/property/resident/person';
|
|
||||||
import { communityTree } from '#/api/property/community';
|
import { communityTree } from '#/api/property/community';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
|
import {userList} from "#/api/system/user";
|
||||||
|
import {getDictOptions} from "#/utils/dict";
|
||||||
const emit = defineEmits<{ reload: [] }>();
|
const emit = defineEmits<{ reload: [] }>();
|
||||||
|
|
||||||
const isUpdate = ref(false);
|
const isUpdate = ref(false);
|
||||||
@@ -67,15 +68,15 @@ 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;
|
||||||
|
getDictOptions('sys_user_sex')
|
||||||
await queryPerson();
|
await queryPerson();
|
||||||
await initLocationOptions();
|
await initLocationOptions();
|
||||||
if (isUpdate.value && id) {
|
if (isUpdate.value && id) {
|
||||||
const record = await meetInfo(id);
|
const record = await meetInfo(id);
|
||||||
record.expenseType = record.expenseType.toString();
|
record.expenseType = record.expenseType.toString();
|
||||||
record.isCheck = record.isCheck.toString();
|
record.isCheck = record.isCheck.toString();
|
||||||
let hour = record.openHours.split('-');
|
if (record.openStartHours&&record.openEndHours) {
|
||||||
if (hour.length > 1) {
|
record.openHours = [dayjs(record.openStartHours, 'HH:mm'), dayjs(record.openEndHours, 'HH:mm')];
|
||||||
record.openHours = [dayjs(hour[0], 'HH:mm'), dayjs(hour[1], 'HH:mm')];
|
|
||||||
}
|
}
|
||||||
await formApi.setValues(record);
|
await formApi.setValues(record);
|
||||||
}
|
}
|
||||||
@@ -95,10 +96,8 @@ async function handleConfirm() {
|
|||||||
// getValues获取为一个readonly的对象 需要修改必须先深拷贝一次
|
// getValues获取为一个readonly的对象 需要修改必须先深拷贝一次
|
||||||
const data = cloneDeep(await formApi.getValues());
|
const data = cloneDeep(await formApi.getValues());
|
||||||
if (data.openHours) {
|
if (data.openHours) {
|
||||||
data.openHours =
|
data.openStartHours=data.openHours[0]?.format('HH:mm');
|
||||||
data.openHours[0]?.format('HH:mm') +
|
data.openEndHours=data.openHours[1]?.format('HH:mm');
|
||||||
'-' +
|
|
||||||
data.openHours[1]?.format('HH:mm');
|
|
||||||
}
|
}
|
||||||
await (isUpdate.value ? meetUpdate(data) : meetAdd(data));
|
await (isUpdate.value ? meetUpdate(data) : meetAdd(data));
|
||||||
resetInitialized();
|
resetInitialized();
|
||||||
@@ -117,19 +116,18 @@ async function handleClosed() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function queryPerson() {
|
async function queryPerson() {
|
||||||
let params = {
|
const res = await userList({
|
||||||
pageSize: 1000,
|
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
};
|
pageSize: 1000,
|
||||||
const res = await personList(params);
|
});
|
||||||
const options = res.rows.map((user) => ({
|
const options = res.rows.map((user) => ({
|
||||||
label:
|
label:
|
||||||
user.userName +
|
user.nickName +
|
||||||
'-' +
|
'-' +
|
||||||
renderDictValue(user.gender, 'sys_user_sex') +
|
renderDictValue(user.sex, 'sys_user_sex') +
|
||||||
'-' +
|
'-' +
|
||||||
user.phone,
|
user.phonenumber,
|
||||||
value: user.id,
|
value: user.userId,
|
||||||
}));
|
}));
|
||||||
formApi.updateSchema([
|
formApi.updateSchema([
|
||||||
{
|
{
|
||||||
@@ -143,6 +141,7 @@ async function queryPerson() {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const filterOption = (input: string, option: any) => {
|
const filterOption = (input: string, option: any) => {
|
||||||
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
||||||
};
|
};
|
||||||
|
@@ -76,6 +76,11 @@ export const columns: VxeGridProps['columns'] = [
|
|||||||
title: '开放时段',
|
title: '开放时段',
|
||||||
field: 'openHours',
|
field: 'openHours',
|
||||||
width:100,
|
width:100,
|
||||||
|
slots: {
|
||||||
|
default: ({row}) => {
|
||||||
|
return row.openStartHours+'-'+row.openEndHours;
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '状态',
|
title: '状态',
|
||||||
|
Reference in New Issue
Block a user