|
@@ -50,10 +50,10 @@
|
|
|
:isLast="index == (appointmentList.length - 1)">
|
|
:isLast="index == (appointmentList.length - 1)">
|
|
|
<template #navContent>
|
|
<template #navContent>
|
|
|
<FollowCard :cardList="[{...(item.desc)}]">
|
|
<FollowCard :cardList="[{...(item.desc)}]">
|
|
|
- <template #operation>
|
|
|
|
|
|
|
+ <template #operation="{row}">
|
|
|
<div class="table_row_option">
|
|
<div class="table_row_option">
|
|
|
- <span class="button_delete">取消预约</span>
|
|
|
|
|
- <span class="option_button_editor">查看详情</span>
|
|
|
|
|
|
|
+ <span class="button_delete" @click="OpenCancelAppointmentDialog(row,item)">取消预约</span>
|
|
|
|
|
+ <span class="option_button_editor" @click="OpenAppointmentDialog(row,item)">查看详情</span>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -61,6 +61,31 @@
|
|
|
</template>
|
|
</template>
|
|
|
</TimeNavLine>
|
|
</TimeNavLine>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 查看预约详情弹窗 -->
|
|
|
|
|
+ <FormDialog :defaultFormData="appointmentDefaultFormData"
|
|
|
|
|
+ title="查看详情" :submitLoading="false"
|
|
|
|
|
+ :formItemList="appointmentFormItemList"
|
|
|
|
|
+ :visible="appointmentDialogVisible"
|
|
|
|
|
+ @close="CloseAppointmentDialog"
|
|
|
|
|
+ @confirm="CloseAppointmentDialog">
|
|
|
|
|
+ </FormDialog>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 取消预约弹窗 -->
|
|
|
|
|
+ <FormDialog
|
|
|
|
|
+ class="cancel_appointment_dialog"
|
|
|
|
|
+ :defaultFormData="cancelAppointmentDefaultFormData"
|
|
|
|
|
+ title="取消预约" :submitLoading="false"
|
|
|
|
|
+ :formItemList="cancelAppointmentFormItemList"
|
|
|
|
|
+ :visible="cancelAppointmentDialogVisible"
|
|
|
|
|
+ @close="CloseCancelAppointmentDialog"
|
|
|
|
|
+ @confirm="HandleCancelAppointmentConfirm">
|
|
|
|
|
+ <template #form_pre>
|
|
|
|
|
+ <div class="desc">
|
|
|
|
|
+ {{ cancelAppointmentDefaultFormData.appointmentTime}} {{ cancelAppointmentDefaultFormData.school}}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </FormDialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -80,6 +105,8 @@ import schoolIcon from '@/assets/clientManage/school.png'
|
|
|
import FollowCard from '@/components/FollowCard.vue';
|
|
import FollowCard from '@/components/FollowCard.vue';
|
|
|
|
|
|
|
|
import Calendar from '@/baseComponents/Calendar.vue'
|
|
import Calendar from '@/baseComponents/Calendar.vue'
|
|
|
|
|
+import FormDialog from '@/baseComponents/FormDialog.vue';
|
|
|
|
|
+import {appointmentFormItemList,cancelAppointmentFormItemList} from './formDialog'
|
|
|
|
|
|
|
|
const defaultTabType = ref('appointment')
|
|
const defaultTabType = ref('appointment')
|
|
|
|
|
|
|
@@ -113,6 +140,7 @@ const appointmentList = ref([
|
|
|
headerTitleList:['北京市区第一中学'],
|
|
headerTitleList:['北京市区第一中学'],
|
|
|
headerTags:[],
|
|
headerTags:[],
|
|
|
taskType:'',
|
|
taskType:'',
|
|
|
|
|
+ productType:'大数据诊断平台',
|
|
|
middleDesc:['跟进人员:张三','角色:校长','联系人:王德态'],
|
|
middleDesc:['跟进人员:张三','角色:校长','联系人:王德态'],
|
|
|
bottomDesc:'跟进内容:9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT',
|
|
bottomDesc:'跟进内容:9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT',
|
|
|
}
|
|
}
|
|
@@ -126,6 +154,54 @@ const HandleTypeChange = (val)=>{
|
|
|
// 当前选中的日历信息
|
|
// 当前选中的日历信息
|
|
|
const selectedCalendarTime =ref()
|
|
const selectedCalendarTime =ref()
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * 查看预约详情弹窗
|
|
|
|
|
+*/
|
|
|
|
|
+const appointmentDialogVisible = ref(false)
|
|
|
|
|
+const appointmentDefaultFormData = ref({})
|
|
|
|
|
+// 打开弹窗
|
|
|
|
|
+const OpenAppointmentDialog = (row,navItm)=>{
|
|
|
|
|
+ console.log('row',row)
|
|
|
|
|
+ appointmentDefaultFormData.value = {
|
|
|
|
|
+ school:row.headerTitleList[0],
|
|
|
|
|
+ product:row.productType,
|
|
|
|
|
+ status:navItm.timeDesc,
|
|
|
|
|
+ contact:row.middleDesc[2].split(':')[1],
|
|
|
|
|
+ position:row.middleDesc[1].split(':')[1],
|
|
|
|
|
+ content:row.bottomDesc.split(':')[1],
|
|
|
|
|
+ appointmentType:'预约',
|
|
|
|
|
+ appointmentTime:navItm.navTime,
|
|
|
|
|
+ cancelReason:''
|
|
|
|
|
+ }
|
|
|
|
|
+ appointmentDialogVisible.value = true
|
|
|
|
|
+}
|
|
|
|
|
+// 关闭弹窗
|
|
|
|
|
+const CloseAppointmentDialog = ()=>{
|
|
|
|
|
+ appointmentDialogVisible.value = false
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 取消预约弹窗
|
|
|
|
|
+ */
|
|
|
|
|
+const cancelAppointmentDialogVisible = ref(false)
|
|
|
|
|
+const cancelAppointmentDefaultFormData = ref({})
|
|
|
|
|
+const OpenCancelAppointmentDialog = (row,navItm)=>{
|
|
|
|
|
+ cancelAppointmentDialogVisible.value = true
|
|
|
|
|
+ cancelAppointmentDefaultFormData.value = {
|
|
|
|
|
+ school:row.headerTitleList[0],
|
|
|
|
|
+ appointmentTime:navItm.navTime,
|
|
|
|
|
+ cancelReason:''
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+const CloseCancelAppointmentDialog = ()=>{
|
|
|
|
|
+ cancelAppointmentDialogVisible.value = false
|
|
|
|
|
+}
|
|
|
|
|
+const HandleCancelAppointmentConfirm = (params)=>{
|
|
|
|
|
+ const {formData,formRef} = params
|
|
|
|
|
+ console.log('取消预约',formData.cancelReason)
|
|
|
|
|
+ CloseCancelAppointmentDialog()
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
@@ -147,6 +223,7 @@ const selectedCalendarTime =ref()
|
|
|
background: #FFFFFF;
|
|
background: #FFFFFF;
|
|
|
border-radius: 10px 10px 10px 10px;
|
|
border-radius: 10px 10px 10px 10px;
|
|
|
.calendar_desc{
|
|
.calendar_desc{
|
|
|
|
|
+ margin-top: 24px;
|
|
|
padding:16px;
|
|
padding:16px;
|
|
|
background: #F8FAFE;
|
|
background: #F8FAFE;
|
|
|
border-radius: 10px;
|
|
border-radius: 10px;
|
|
@@ -222,4 +299,15 @@ const selectedCalendarTime =ref()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+.cancel_appointment_dialog{
|
|
|
|
|
+ .desc{
|
|
|
|
|
+ line-height: 22px;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ font-size: 16px;
|
|
|
|
|
+ color: #333333;
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
</style>
|
|
</style>
|