|
|
|
@ -14,14 +14,22 @@
|
|
|
|
|
:model="formModel"
|
|
|
|
|
:rule="formRule"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 19 } }"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 16 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 19 } }
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<a-form-item
|
|
|
|
|
label="称呼"
|
|
|
|
|
name="customName"
|
|
|
|
|
:rules="[{ required: true, message: '请输入称呼', trigger: 'blur' }]"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 11 } }"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 11 } }
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<a-input
|
|
|
|
|
v-model:value="formModel.customName"
|
|
|
|
@ -42,7 +50,11 @@
|
|
|
|
|
}
|
|
|
|
|
]"
|
|
|
|
|
:label-col="{ sm: { span: 24 }, md: { span: 5 } }"
|
|
|
|
|
:wrapper-col="{ sm: { span: 24 }, md: { span: 11 } }"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 11 } }
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<a-input
|
|
|
|
|
v-model:value="formModel.customNid"
|
|
|
|
@ -69,6 +81,7 @@
|
|
|
|
|
:disabled="isDisabled"
|
|
|
|
|
:class="dynamicClass"
|
|
|
|
|
class="readonly-cascader"
|
|
|
|
|
:allow-clear="title === '新建预约' || title === '编辑预约'"
|
|
|
|
|
@change="addressChange"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
@ -96,7 +109,7 @@
|
|
|
|
|
<a-select
|
|
|
|
|
ref="select"
|
|
|
|
|
v-model:value="formModel.radius"
|
|
|
|
|
style="width: 38%"
|
|
|
|
|
:style="{ width: title === '详情' || title === '审核' ? '37%' : '38%' }"
|
|
|
|
|
:options="radiusOptions"
|
|
|
|
|
:field-names="{ label: 'name', value: 'id', options: 'children' }"
|
|
|
|
|
:disabled="isDisabled"
|
|
|
|
@ -210,20 +223,20 @@
|
|
|
|
|
<div
|
|
|
|
|
v-for="(item, index) in formModel.customStoreEntities"
|
|
|
|
|
:key="index"
|
|
|
|
|
style="display: flex"
|
|
|
|
|
style="display: flex; justify-content: space-between"
|
|
|
|
|
>
|
|
|
|
|
<a-form-item
|
|
|
|
|
style="width: 50%"
|
|
|
|
|
style="width: 45%"
|
|
|
|
|
label="预约门店名称"
|
|
|
|
|
:label-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 10 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 7 } }
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 11 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 8 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 14 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 19 } }
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 13 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 16 } }
|
|
|
|
|
"
|
|
|
|
|
:rules="{
|
|
|
|
|
required: true,
|
|
|
|
@ -239,19 +252,46 @@
|
|
|
|
|
:style="{ width: title === '详情' || title === '审核' ? '103%' : '100%' }"
|
|
|
|
|
/>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<!-- v-bind="[validateInfos[`customStoreEntities[${index}].reservationTime`]]" -->
|
|
|
|
|
<a-form-item
|
|
|
|
|
style="width: 50%"
|
|
|
|
|
style="width: 30%"
|
|
|
|
|
label="预约时间"
|
|
|
|
|
:label-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 10 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 7 } }
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 9 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 14 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 19 } }
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 15 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 15 } }
|
|
|
|
|
"
|
|
|
|
|
:rules="{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择预约日期',
|
|
|
|
|
trigger: 'change'
|
|
|
|
|
}"
|
|
|
|
|
:name="['customStoreEntities', index, 'reservationDate']"
|
|
|
|
|
>
|
|
|
|
|
<a-space direction="vertical">
|
|
|
|
|
<a-date-picker
|
|
|
|
|
v-model:value="item.reservationDate"
|
|
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
:disabled="title === '详情' || title === '审核'"
|
|
|
|
|
:class="reservationTimeClass"
|
|
|
|
|
/>
|
|
|
|
|
</a-space>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
<a-form-item
|
|
|
|
|
style="width: 18%"
|
|
|
|
|
:label-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 0 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 0 } }
|
|
|
|
|
"
|
|
|
|
|
:wrapper-col="
|
|
|
|
|
title === '详情' || title === '审核'
|
|
|
|
|
? { sm: { span: 24 }, md: { span: 24 } }
|
|
|
|
|
: { sm: { span: 24 }, md: { span: 24 } }
|
|
|
|
|
"
|
|
|
|
|
:rules="{
|
|
|
|
|
required: true,
|
|
|
|
@ -264,7 +304,7 @@
|
|
|
|
|
<a-select
|
|
|
|
|
ref="select"
|
|
|
|
|
v-model:value="item.reservationTime"
|
|
|
|
|
:allow-clear="true"
|
|
|
|
|
:allow-clear="title === '新建预约' || title === '编辑预约'"
|
|
|
|
|
:options="appointmentTimeOptions"
|
|
|
|
|
:class="reservationTimeClass"
|
|
|
|
|
:style="{ width: title === '详情' || title === '审核' ? '103%' : '100%' }"
|
|
|
|
@ -306,7 +346,8 @@
|
|
|
|
|
<p>联系方式:{{ formModel.customNid }}</p>
|
|
|
|
|
<div style="overflow-y: auto; max-height: 200px">
|
|
|
|
|
<p v-for="(item, index) in formModel.customStoreEntities" :key="index">
|
|
|
|
|
{{ `报名的门店${index + 1}为` }}: {{ item.storeName }} - {{ item.reservationTime }}
|
|
|
|
|
{{ `报名的门店${index + 1}为` }}: {{ item.storeName }} --
|
|
|
|
|
{{ `${item.reservationDate?.toString().split(' ')[0]} ${item.reservationTime}` }}
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a-modal>
|
|
|
|
@ -324,6 +365,7 @@ import type { FormInstance } from 'ant-design-vue'
|
|
|
|
|
//预约时间
|
|
|
|
|
import type { SelectValue } from 'ant-design-vue/es/select'
|
|
|
|
|
import type { SelectProps } from 'ant-design-vue'
|
|
|
|
|
import type { Dayjs } from 'dayjs'
|
|
|
|
|
import 'dayjs/locale/zh-cn'
|
|
|
|
|
import {
|
|
|
|
|
addCustomer,
|
|
|
|
@ -498,7 +540,8 @@ const pagingQuery = () => {
|
|
|
|
|
lng: item.longitude,
|
|
|
|
|
id: item.id,
|
|
|
|
|
index: item.index,
|
|
|
|
|
tel: item.nid ? item.nid : ''
|
|
|
|
|
tel: item.nid ? item.nid : '',
|
|
|
|
|
reservationDate: item.reservationDate
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
pois.push(...listData.value)
|
|
|
|
@ -609,7 +652,8 @@ const addStore = (item: any) => {
|
|
|
|
|
formModel.customStoreEntities.push({
|
|
|
|
|
storeName: item.title,
|
|
|
|
|
reservationTime: '',
|
|
|
|
|
storeId: item.id
|
|
|
|
|
storeId: item.id,
|
|
|
|
|
reservationDate: ''
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
//门店重置
|
|
|
|
@ -651,6 +695,8 @@ interface customStoreEntitiesItem {
|
|
|
|
|
storeId: number
|
|
|
|
|
//门店名称
|
|
|
|
|
storeName?: string
|
|
|
|
|
//预约日期
|
|
|
|
|
reservationDate?: Dayjs | string
|
|
|
|
|
//预约时间
|
|
|
|
|
reservationTime: string
|
|
|
|
|
}
|
|
|
|
@ -667,7 +713,8 @@ const submitOperate = (type: string, status?: number) => {
|
|
|
|
|
(item: customStoreEntitiesItem) => {
|
|
|
|
|
const obj: customStoreEntitiesItem = {
|
|
|
|
|
storeId: item.storeId,
|
|
|
|
|
reservationTime: item.reservationTime
|
|
|
|
|
reservationTime: item.reservationTime,
|
|
|
|
|
reservationDate: item.reservationDate
|
|
|
|
|
}
|
|
|
|
|
if (title.value === '编辑预约') {
|
|
|
|
|
if (item.customStoreId) {
|
|
|
|
@ -1099,7 +1146,7 @@ const storeItemClick = (item: any, index: number) => {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//动态只读/禁用
|
|
|
|
|
//动态只读/禁用(请输入您的地址信息/请输入区域半径)
|
|
|
|
|
.custom-disabled-style ::v-deep .ant-select-selector {
|
|
|
|
|
/* 自定义禁用状态下的样式 */
|
|
|
|
|
background-color: #f5f5f5;
|
|
|
|
@ -1111,12 +1158,40 @@ const storeItemClick = (item: any, index: number) => {
|
|
|
|
|
border-color: #ddd;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
color: rgba(0, 0, 0, 0.25);
|
|
|
|
|
|
|
|
|
|
background: #fff;
|
|
|
|
|
cursor: not-allowed;
|
|
|
|
|
cursor: context-menu;
|
|
|
|
|
color: black;
|
|
|
|
|
// color: rgba(0, 0, 0, 0.25);
|
|
|
|
|
}
|
|
|
|
|
//动态只读/禁用(预约时间)
|
|
|
|
|
::v-deep .ant-picker.ant-picker-disabled {
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .ant-space-item {
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .ant-picker-input > input[disabled] {
|
|
|
|
|
color: rgba(0, 0, 0, 0.85);
|
|
|
|
|
}
|
|
|
|
|
.custom-readonly-style ::v-deep .ant-picker {
|
|
|
|
|
/* 自定义只读状态下的样式 */
|
|
|
|
|
border-color: #ddd;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
background: #fff;
|
|
|
|
|
cursor: not-allowed;
|
|
|
|
|
cursor: context-menu;
|
|
|
|
|
color: rgba(0, 0, 0, 0.25);
|
|
|
|
|
}
|
|
|
|
|
//日期选择器
|
|
|
|
|
::v-deep .ant-picker,
|
|
|
|
|
.ant-space {
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//地图
|
|
|
|
|
.drawStation {
|
|
|
|
|
//地图
|
|
|
|
|