|
@@ -1,8 +1,13 @@
|
|
<template>
|
|
<template>
|
|
<div class="visitList">
|
|
<div class="visitList">
|
|
<!-- <m-header v-if="headerStatus" /> -->
|
|
<!-- <m-header v-if="headerStatus" /> -->
|
|
- <van-dropdown-menu :close-on-click-outside="false" active-color="#01C1B5">
|
|
|
|
- <van-dropdown-item v-model="value1" @change="onTypeChange" title="回访类型" :options="option1" />
|
|
|
|
|
|
+ <van-dropdown-menu :close-on-click-outside="false" active-color="#01C1B5">
|
|
|
|
+ <van-dropdown-item
|
|
|
|
+ v-model="value1"
|
|
|
|
+ @change="onTypeChange"
|
|
|
|
+ title="回访类型"
|
|
|
|
+ :options="option1"
|
|
|
|
+ />
|
|
<van-dropdown-item
|
|
<van-dropdown-item
|
|
v-model="value2"
|
|
v-model="value2"
|
|
@change="onPurposeChange"
|
|
@change="onPurposeChange"
|
|
@@ -17,19 +22,35 @@
|
|
:options="option3"
|
|
:options="option3"
|
|
/>
|
|
/>
|
|
<van-dropdown-item title="回访时间" ref="item" class="visitTime">
|
|
<van-dropdown-item title="回访时间" ref="item" class="visitTime">
|
|
- <van-cell title="开始时间" is-link @click="onChangeDate('showStart')" :value="formatStartTime"></van-cell>
|
|
|
|
- <van-cell title="结束时间" is-link @click="onChangeDate('showEnd')" :value="formatEndTime"></van-cell>
|
|
|
|
|
|
+ <van-cell
|
|
|
|
+ title="开始时间"
|
|
|
|
+ is-link
|
|
|
|
+ @click="onChangeDate('showStart')"
|
|
|
|
+ :value="formatStartTime"
|
|
|
|
+ ></van-cell>
|
|
|
|
+ <van-cell
|
|
|
|
+ title="结束时间"
|
|
|
|
+ is-link
|
|
|
|
+ @click="onChangeDate('showEnd')"
|
|
|
|
+ :value="formatEndTime"
|
|
|
|
+ ></van-cell>
|
|
<div class="btnWrap">
|
|
<div class="btnWrap">
|
|
<div class="cancelBtn" @click="cancelBtn">重置</div>
|
|
<div class="cancelBtn" @click="cancelBtn">重置</div>
|
|
<div class="okBtn" @click="okBtn">确定</div>
|
|
<div class="okBtn" @click="okBtn">确定</div>
|
|
</div>
|
|
</div>
|
|
</van-dropdown-item>
|
|
</van-dropdown-item>
|
|
</van-dropdown-menu>
|
|
</van-dropdown-menu>
|
|
- <van-popup v-model="dataForm.status" position="bottom" :style="{ height: '40%' }">
|
|
|
|
|
|
+ <van-popup
|
|
|
|
+ v-model="dataForm.status"
|
|
|
|
+ position="bottom"
|
|
|
|
+ :style="{ height: '40%' }"
|
|
|
|
+ >
|
|
<van-datetime-picker
|
|
<van-datetime-picker
|
|
v-model="dataForm.currentDate"
|
|
v-model="dataForm.currentDate"
|
|
:min-date="dataForm.minDate"
|
|
:min-date="dataForm.minDate"
|
|
:max-date="dataForm.maxDate"
|
|
:max-date="dataForm.maxDate"
|
|
|
|
+ :min-hour="6"
|
|
|
|
+ :max-hour="21"
|
|
:formatter="formatter"
|
|
:formatter="formatter"
|
|
@cancel="dataForm.status = false"
|
|
@cancel="dataForm.status = false"
|
|
type="date"
|
|
type="date"
|
|
@@ -53,7 +74,7 @@
|
|
@click="onHref(item)"
|
|
@click="onHref(item)"
|
|
>
|
|
>
|
|
<template slot="title">
|
|
<template slot="title">
|
|
- <p >{{ item.type }}</p>
|
|
|
|
|
|
+ <p>{{ item.type }}</p>
|
|
<p class="type">{{ item.studentName }}</p>
|
|
<p class="type">{{ item.studentName }}</p>
|
|
</template>
|
|
</template>
|
|
<template solt="default">
|
|
<template solt="default">
|
|
@@ -68,7 +89,7 @@
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
import MHeader from "@/components/MHeader";
|
|
import MHeader from "@/components/MHeader";
|
|
-import MEmpty from '@/components/MEmpty';
|
|
|
|
|
|
+import MEmpty from "@/components/MEmpty";
|
|
import dayjs from "dayjs";
|
|
import dayjs from "dayjs";
|
|
import { browser } from "@/common/common";
|
|
import { browser } from "@/common/common";
|
|
import { geteduVisitList } from "@/api/teacher";
|
|
import { geteduVisitList } from "@/api/teacher";
|
|
@@ -88,7 +109,7 @@ export default {
|
|
},
|
|
},
|
|
value1: "全部",
|
|
value1: "全部",
|
|
value2: "全部",
|
|
value2: "全部",
|
|
- value3:'全部',
|
|
|
|
|
|
+ value3: "全部",
|
|
purposeStatus: true,
|
|
purposeStatus: true,
|
|
option1: [
|
|
option1: [
|
|
{ text: "全部", value: "全部" },
|
|
{ text: "全部", value: "全部" },
|
|
@@ -98,7 +119,7 @@ export default {
|
|
{ text: "其它", value: "其它" },
|
|
{ text: "其它", value: "其它" },
|
|
],
|
|
],
|
|
option2: [],
|
|
option2: [],
|
|
- option3:[
|
|
|
|
|
|
+ option3: [
|
|
{ text: "全部", value: "全部" },
|
|
{ text: "全部", value: "全部" },
|
|
{ text: "已解决", value: "1" },
|
|
{ text: "已解决", value: "1" },
|
|
{ text: "待跟进", value: "0" },
|
|
{ text: "待跟进", value: "0" },
|
|
@@ -128,7 +149,7 @@ export default {
|
|
if (browser().android || browser().iPhone) {
|
|
if (browser().android || browser().iPhone) {
|
|
this.headerStatus = false;
|
|
this.headerStatus = false;
|
|
}
|
|
}
|
|
- document.title = '回访记录'
|
|
|
|
|
|
+ document.title = "回访记录";
|
|
// this.getList()
|
|
// this.getList()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
@@ -138,58 +159,66 @@ export default {
|
|
this.dataShow = true;
|
|
this.dataShow = true;
|
|
this.loading = true;
|
|
this.loading = true;
|
|
this.finished = false;
|
|
this.finished = false;
|
|
- this.getList()
|
|
|
|
|
|
+ this.getList();
|
|
},
|
|
},
|
|
onHref(item) {
|
|
onHref(item) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- path: '/addVisit',
|
|
|
|
|
|
+ path: "/addVisit",
|
|
query: {
|
|
query: {
|
|
id: item.id,
|
|
id: item.id,
|
|
- name: '回访记录详情'
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ name: "回访记录详情",
|
|
|
|
+ },
|
|
|
|
+ });
|
|
},
|
|
},
|
|
cancelBtn() {
|
|
cancelBtn() {
|
|
this.formatStartTime = null;
|
|
this.formatStartTime = null;
|
|
this.formatEndTime = null;
|
|
this.formatEndTime = null;
|
|
- this.onResetList()
|
|
|
|
|
|
+ this.onResetList();
|
|
this.$refs.item.toggle();
|
|
this.$refs.item.toggle();
|
|
},
|
|
},
|
|
okBtn() {
|
|
okBtn() {
|
|
- if(this.formatStartTime && this.formatEndTime) {
|
|
|
|
- this.onResetList()
|
|
|
|
|
|
+ if (this.formatStartTime && this.formatEndTime) {
|
|
|
|
+ this.onResetList();
|
|
}
|
|
}
|
|
this.$refs.item.toggle();
|
|
this.$refs.item.toggle();
|
|
},
|
|
},
|
|
onChangeDate(type) {
|
|
onChangeDate(type) {
|
|
- let dataForm = this.dataForm
|
|
|
|
- if(type == 'showEnd') {
|
|
|
|
- if(this.formatStartTime) {
|
|
|
|
- dataForm.minDate = new Date(dayjs(this.formatStartTime))
|
|
|
|
|
|
+ let dataForm = this.dataForm;
|
|
|
|
+ if (type == "showEnd") {
|
|
|
|
+ if (this.formatStartTime) {
|
|
|
|
+ dataForm.minDate = new Date(dayjs(this.formatStartTime));
|
|
}
|
|
}
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- dataForm.currentDate = this.formatEndTime ? new Date(dayjs(this.formatEndTime)) : new Date()
|
|
|
|
- }, 500)
|
|
|
|
- } else if(type == 'showStart') {
|
|
|
|
- dataForm.minDate = new Date(2000, 0, 1)
|
|
|
|
|
|
+ dataForm.currentDate = this.formatEndTime
|
|
|
|
+ ? new Date(dayjs(this.formatEndTime))
|
|
|
|
+ : new Date();
|
|
|
|
+ }, 500);
|
|
|
|
+ } else if (type == "showStart") {
|
|
|
|
+ dataForm.minDate = new Date(2000, 0, 1);
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- dataForm.currentDate = this.formatStartTime ? new Date(dayjs(this.formatStartTime)) : new Date()
|
|
|
|
- }, 500)
|
|
|
|
|
|
+ dataForm.currentDate = this.formatStartTime
|
|
|
|
+ ? new Date(dayjs(this.formatStartTime))
|
|
|
|
+ : new Date();
|
|
|
|
+ }, 500);
|
|
}
|
|
}
|
|
- dataForm.status = true
|
|
|
|
- dataForm.type = type
|
|
|
|
|
|
+ dataForm.status = true;
|
|
|
|
+ dataForm.type = type;
|
|
},
|
|
},
|
|
chioseDate(value) {
|
|
chioseDate(value) {
|
|
- let dataForm = this.dataForm
|
|
|
|
- if(dataForm.type == 'showStart') {
|
|
|
|
- this.formatStartTime = dayjs(value).format('YYYY/MM/DD')
|
|
|
|
- if(this.formatEndTime && dayjs(value).unix() > dayjs(this.formatEndTime).unix()) {
|
|
|
|
- this.formatEndTime = null
|
|
|
|
|
|
+ console.log(value, "chioseDate");
|
|
|
|
+ let dataForm = this.dataForm;
|
|
|
|
+ if (dataForm.type == "showStart") {
|
|
|
|
+ this.formatStartTime = dayjs(value).format("YYYY/MM/DD");
|
|
|
|
+ if (
|
|
|
|
+ this.formatEndTime &&
|
|
|
|
+ dayjs(value).unix() > dayjs(this.formatEndTime).unix()
|
|
|
|
+ ) {
|
|
|
|
+ this.formatEndTime = null;
|
|
}
|
|
}
|
|
- } else if(dataForm.type == 'showEnd') {
|
|
|
|
- this.formatEndTime = dayjs(value).format('YYYY/MM/DD')
|
|
|
|
|
|
+ } else if (dataForm.type == "showEnd") {
|
|
|
|
+ this.formatEndTime = dayjs(value).format("YYYY/MM/DD");
|
|
}
|
|
}
|
|
- dataForm.status = false
|
|
|
|
|
|
+ dataForm.status = false;
|
|
},
|
|
},
|
|
onTypeChange() {
|
|
onTypeChange() {
|
|
if (this.value1 == "全部") {
|
|
if (this.value1 == "全部") {
|
|
@@ -217,22 +246,26 @@ export default {
|
|
this.purposeStatus = false;
|
|
this.purposeStatus = false;
|
|
this.option2 = [{ text: "其它", value: "其它" }];
|
|
this.option2 = [{ text: "其它", value: "其它" }];
|
|
}
|
|
}
|
|
- this.onResetList()
|
|
|
|
|
|
+ this.onResetList();
|
|
},
|
|
},
|
|
onPurposeChange() {
|
|
onPurposeChange() {
|
|
- this.onResetList()
|
|
|
|
|
|
+ this.onResetList();
|
|
},
|
|
},
|
|
getList() {
|
|
getList() {
|
|
let params = this.params;
|
|
let params = this.params;
|
|
params.type = this.value1 == "全部" ? null : this.value1;
|
|
params.type = this.value1 == "全部" ? null : this.value1;
|
|
params.purpose = this.value2 == "全部" ? null : this.value2;
|
|
params.purpose = this.value2 == "全部" ? null : this.value2;
|
|
params.probStatus = this.value3 == "全部" ? null : this.value3;
|
|
params.probStatus = this.value3 == "全部" ? null : this.value3;
|
|
- if(this.formatStartTime && this.formatEndTime) {
|
|
|
|
- params.startTime = dayjs(new Date(this.formatStartTime)).format("YYYY-MM-DD")
|
|
|
|
- params.endTime = dayjs(new Date(this.formatEndTime)).format("YYYY-MM-DD")
|
|
|
|
|
|
+ if (this.formatStartTime && this.formatEndTime) {
|
|
|
|
+ params.startTime = dayjs(new Date(this.formatStartTime)).format(
|
|
|
|
+ "YYYY-MM-DD"
|
|
|
|
+ );
|
|
|
|
+ params.endTime = dayjs(new Date(this.formatEndTime)).format(
|
|
|
|
+ "YYYY-MM-DD"
|
|
|
|
+ );
|
|
} else {
|
|
} else {
|
|
- params.startTime = null
|
|
|
|
- params.endTime = null
|
|
|
|
|
|
+ params.startTime = null;
|
|
|
|
+ params.endTime = null;
|
|
}
|
|
}
|
|
geteduVisitList(params).then((res) => {
|
|
geteduVisitList(params).then((res) => {
|
|
let result = res.data;
|
|
let result = res.data;
|
|
@@ -260,8 +293,8 @@ export default {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: "/addVisit",
|
|
path: "/addVisit",
|
|
query: {
|
|
query: {
|
|
- name: '新增回访记录'
|
|
|
|
- }
|
|
|
|
|
|
+ name: "新增回访记录",
|
|
|
|
+ },
|
|
});
|
|
});
|
|
},
|
|
},
|
|
formatter(type, val) {
|
|
formatter(type, val) {
|
|
@@ -283,8 +316,8 @@ export default {
|
|
.visitList {
|
|
.visitList {
|
|
min-height: 100vh;
|
|
min-height: 100vh;
|
|
.visitTime {
|
|
.visitTime {
|
|
- .van-cell__right-icon{
|
|
|
|
- line-height: .36rem;
|
|
|
|
|
|
+ .van-cell__right-icon {
|
|
|
|
+ line-height: 0.36rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -294,20 +327,20 @@ export default {
|
|
line-height: 0.2rem;
|
|
line-height: 0.2rem;
|
|
position: relative;
|
|
position: relative;
|
|
top: 0.05rem;
|
|
top: 0.05rem;
|
|
-}
|
|
|
|
|
|
+}
|
|
.cellGroup {
|
|
.cellGroup {
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
- line-height: .61rem;
|
|
|
|
|
|
+ line-height: 0.61rem;
|
|
}
|
|
}
|
|
/deep/.van-dropdown-menu__title {
|
|
/deep/.van-dropdown-menu__title {
|
|
- font-size: .14rem!important;
|
|
|
|
|
|
+ font-size: 0.14rem !important;
|
|
}
|
|
}
|
|
.sectionTitle {
|
|
.sectionTitle {
|
|
- font-size: 0.15rem!important;
|
|
|
|
|
|
+ font-size: 0.15rem !important;
|
|
color: #1a1a1a;
|
|
color: #1a1a1a;
|
|
align-items: center;
|
|
align-items: center;
|
|
- line-height: .21rem;
|
|
|
|
|
|
+ line-height: 0.21rem;
|
|
.type {
|
|
.type {
|
|
color: #666;
|
|
color: #666;
|
|
font-size: 0.14rem;
|
|
font-size: 0.14rem;
|
|
@@ -320,8 +353,8 @@ export default {
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
align-items: center;
|
|
height: auto !important;
|
|
height: auto !important;
|
|
- .time{
|
|
|
|
- font-size: .14rem;
|
|
|
|
|
|
+ .time {
|
|
|
|
+ font-size: 0.14rem;
|
|
color: #808080;
|
|
color: #808080;
|
|
}
|
|
}
|
|
.content {
|
|
.content {
|
|
@@ -379,10 +412,9 @@ export default {
|
|
color: @mColor;
|
|
color: @mColor;
|
|
box-shadow: 0 2px 12px rgba(100, 101, 102, 0.12);
|
|
box-shadow: 0 2px 12px rgba(100, 101, 102, 0.12);
|
|
}
|
|
}
|
|
-.van-cell{
|
|
|
|
- color: #1A1A1A;
|
|
|
|
- line-height: .36rem!important;
|
|
|
|
- font-size: .16rem;
|
|
|
|
|
|
+.van-cell {
|
|
|
|
+ color: #1a1a1a;
|
|
|
|
+ line-height: 0.36rem !important;
|
|
|
|
+ font-size: 0.16rem;
|
|
}
|
|
}
|
|
-
|
|
|
|
</style>
|
|
</style>
|