|
@@ -35,57 +35,22 @@
|
|
|
:defaultTabKey="defaultTabType"
|
|
:defaultTabKey="defaultTabType"
|
|
|
@tabChange="HandleTypeChange">
|
|
@tabChange="HandleTypeChange">
|
|
|
</TabSearch>
|
|
</TabSearch>
|
|
|
- <FormSearchGroup :searchList="formSearchList" @searchChange=""></FormSearchGroup>
|
|
|
|
|
|
|
+ <FormSearchGroup v-if="defaultTabType === 'appointment'" :searchList="formSearchList" @searchChange=""></FormSearchGroup>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 日历导航 -->
|
|
|
|
|
+ <div v-if="defaultTabType === 'todo'">
|
|
|
|
|
+
|
|
|
|
|
+ 日历导航
|
|
|
|
|
+
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <SearchBlock :searchList="blockSearchList"></SearchBlock>
|
|
|
|
|
- <div class="page_jg_20"></div>
|
|
|
|
|
-
|
|
|
|
|
- <TimeNavLine v-for="(item,index) in appointmentList"
|
|
|
|
|
- :key="item.id"
|
|
|
|
|
- :navIcon="item.navIcon"
|
|
|
|
|
- :navTime="item.navTime"
|
|
|
|
|
- :timeDesc="item.timeDesc"
|
|
|
|
|
- :isLast="index == (appointmentList.length - 1)">
|
|
|
|
|
- <template #navContent>
|
|
|
|
|
- <FollowCard :cardList="[{...(item.desc)}]">
|
|
|
|
|
- <template #operation="{row}">
|
|
|
|
|
- <div class="table_row_option">
|
|
|
|
|
- <span class="button_delete" @click="OpenCancelAppointmentDialog(row,item)">取消预约</span>
|
|
|
|
|
- <span class="option_button_editor" @click="OpenAppointmentDialog(row,item)">查看详情</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <AppointmentRegister v-if="defaultTabType === 'appointment'"></AppointmentRegister>
|
|
|
|
|
|
|
|
- </FollowCard>
|
|
|
|
|
- </template>
|
|
|
|
|
- </TimeNavLine>
|
|
|
|
|
|
|
+ <TodoRegister v-if="defaultTabType === 'todo'"></TodoRegister>
|
|
|
</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>
|
|
|
|
|
|
|
@@ -93,59 +58,17 @@
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
import { ref } from 'vue';
|
|
import { ref } from 'vue';
|
|
|
import FormSearchGroup from '@/baseComponents/FormSearchGroup.vue';
|
|
import FormSearchGroup from '@/baseComponents/FormSearchGroup.vue';
|
|
|
-import SearchBlock from '@/baseComponents/SearchBlock.vue';
|
|
|
|
|
import TabSearch from '@/baseComponents/TabSearch.vue';
|
|
import TabSearch from '@/baseComponents/TabSearch.vue';
|
|
|
-
|
|
|
|
|
import {tabSearchList} from './tabSearch'
|
|
import {tabSearchList} from './tabSearch'
|
|
|
import {formSearchList} from './formSearchGroup'
|
|
import {formSearchList} from './formSearchGroup'
|
|
|
-
|
|
|
|
|
-import {blockSearchList} from './searchBlock'
|
|
|
|
|
-import TimeNavLine from '@/baseComponents/TimeNavLine.vue';
|
|
|
|
|
-import schoolIcon from '@/assets/clientManage/school.png'
|
|
|
|
|
-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'
|
|
|
|
|
|
|
+import AppointmentRegister from './appointmentRegister/index.vue'
|
|
|
|
|
|
|
|
-const defaultTabType = ref('appointment')
|
|
|
|
|
|
|
+import TodoRegister from './toDoRegister/index.vue'
|
|
|
|
|
|
|
|
|
|
|
|
|
-const appointmentList = ref([
|
|
|
|
|
- {
|
|
|
|
|
- id:1,
|
|
|
|
|
- navTime: '14:00',
|
|
|
|
|
- navIcon:schoolIcon,
|
|
|
|
|
- timeDesc: '待开始',
|
|
|
|
|
- navTitle:'北京市第一中学',
|
|
|
|
|
|
|
+const defaultTabType = ref('appointment')
|
|
|
|
|
|
|
|
- desc:{
|
|
|
|
|
- id:1,
|
|
|
|
|
- headerTitleList:['北京市区第一中学'],
|
|
|
|
|
- headerTags:[],
|
|
|
|
|
- taskType:'',
|
|
|
|
|
- middleDesc:['跟进人员:张三','角色:校长','联系人:王德态'],
|
|
|
|
|
- bottomDesc:'跟进内容:9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT',
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- id:2,
|
|
|
|
|
- navTime: '14:00',
|
|
|
|
|
- navIcon:schoolIcon,
|
|
|
|
|
- timeDesc: '待开始',
|
|
|
|
|
- navTitle:'北京市第一中学',
|
|
|
|
|
- desc:{
|
|
|
|
|
- id:1,
|
|
|
|
|
- headerTitleList:['北京市区第一中学'],
|
|
|
|
|
- headerTags:[],
|
|
|
|
|
- taskType:'',
|
|
|
|
|
- productType:'大数据诊断平台',
|
|
|
|
|
- middleDesc:['跟进人员:张三','角色:校长','联系人:王德态'],
|
|
|
|
|
- bottomDesc:'跟进内容:9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT9:50会议室,所有管理层一起参会,准备PPT',
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
-])
|
|
|
|
|
|
|
|
|
|
const HandleTypeChange = (val)=>{
|
|
const HandleTypeChange = (val)=>{
|
|
|
defaultTabType.value = val
|
|
defaultTabType.value = val
|
|
@@ -154,55 +77,6 @@ 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>
|
|
|
|
|
|
|
|
|
|
|
|
@@ -275,39 +149,5 @@ const HandleCancelAppointmentConfirm = (params)=>{
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-.time_nav_line{
|
|
|
|
|
- :deep(.follow_card){
|
|
|
|
|
- .audit_card{
|
|
|
|
|
- border-color: transparent;
|
|
|
|
|
- .table_row_option{
|
|
|
|
|
- display: none;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- :hover{
|
|
|
|
|
- :deep(.follow_card){
|
|
|
|
|
- .audit_card{
|
|
|
|
|
- background-color: #F8FAFE;
|
|
|
|
|
- border: 1px solid #EBEEF5;
|
|
|
|
|
- .table_row_option{
|
|
|
|
|
- display: flex;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.cancel_appointment_dialog{
|
|
|
|
|
- .desc{
|
|
|
|
|
- line-height: 22px;
|
|
|
|
|
- font-weight: 600;
|
|
|
|
|
- font-size: 16px;
|
|
|
|
|
- color: #333333;
|
|
|
|
|
- margin-bottom: 16px;
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
</style>
|
|
</style>
|