|
|
@@ -1,47 +1,58 @@
|
|
|
<template>
|
|
|
- <div class="bgcolor">
|
|
|
+ <div class="bgcolor historAllVisit">
|
|
|
<div class="navBarTOP">
|
|
|
<!-- 顶部条-->
|
|
|
- <van-nav-bar
|
|
|
- class="navBar"
|
|
|
- title="历史拜访"
|
|
|
- left-arrow
|
|
|
- @click-left="onClickLeft"
|
|
|
- />
|
|
|
+ <van-nav-bar class="navBar" title="历史拜访" left-arrow @click-left="onClickLeft" />
|
|
|
<div class="searcTime">
|
|
|
<van-row class="serchInput">
|
|
|
<van-col span="12">
|
|
|
- <van-cell class="monthNow selectcell" :title="companyName" is-link arrow-direction="down" @click="regionClick"/>
|
|
|
+ <van-cell
|
|
|
+ class="monthNow selectcell"
|
|
|
+ :title="companyName"
|
|
|
+ is-link
|
|
|
+ arrow-direction="down"
|
|
|
+ @click="regionClick" />
|
|
|
</van-col>
|
|
|
<van-col span="12">
|
|
|
- <van-cell class="monthNow selectcell" :title="regionName" is-link @click="SalesRegionClick" arrow-direction="down"/>
|
|
|
+ <van-cell
|
|
|
+ class="monthNow selectcell"
|
|
|
+ :title="regionName"
|
|
|
+ is-link
|
|
|
+ @click="SalesRegionClick"
|
|
|
+ arrow-direction="down" />
|
|
|
</van-col>
|
|
|
<van-col span="12">
|
|
|
- <van-cell class="monthNow selectcell" :title="deptName" is-link @click="SalesDepartmentClick" arrow-direction="down"/>
|
|
|
+ <van-cell
|
|
|
+ class="monthNow selectcell"
|
|
|
+ :title="deptName"
|
|
|
+ is-link
|
|
|
+ @click="SalesDepartmentClick"
|
|
|
+ arrow-direction="down" />
|
|
|
</van-col>
|
|
|
<van-col span="12">
|
|
|
- <van-cell class="monthNow selectcell" :title="userName" is-link @click="StaffClick" arrow-direction="down"/>
|
|
|
+ <van-cell
|
|
|
+ class="monthNow selectcell"
|
|
|
+ :title="userName"
|
|
|
+ is-link
|
|
|
+ @click="StaffClick"
|
|
|
+ arrow-direction="down" />
|
|
|
</van-col>
|
|
|
<van-col span="12">
|
|
|
<div class="monthNow" @click="startTimeshow = true">
|
|
|
<span class="month">{{ startTime }}</span>
|
|
|
- <van-icon class="CalendarIcon" :name="timeico"/>
|
|
|
+ <van-icon class="CalendarIcon" :name="timeico" />
|
|
|
</div>
|
|
|
</van-col>
|
|
|
<van-col span="12">
|
|
|
<div class="monthNow" @click="endTimeshow = true">
|
|
|
<span class="month">{{ endTime }}</span>
|
|
|
- <van-icon class="CalendarIcon" :name="timeico"/>
|
|
|
+ <van-icon class="CalendarIcon" :name="timeico" />
|
|
|
</div>
|
|
|
</van-col>
|
|
|
</van-row>
|
|
|
</div>
|
|
|
<div class="searchDiv">
|
|
|
- <van-search
|
|
|
- v-model="storeName"
|
|
|
- show-action
|
|
|
- placeholder="搜索名称/编号/地址/拜访人"
|
|
|
- >
|
|
|
+ <van-search v-model="storeName" show-action placeholder="搜索名称/编号/地址/拜访人">
|
|
|
<template #action>
|
|
|
<div @click="onSearch">搜索</div>
|
|
|
</template>
|
|
|
@@ -50,125 +61,170 @@
|
|
|
<div class="lineGrey"></div>
|
|
|
</div>
|
|
|
<!-- 主体内容-->
|
|
|
- <div class="container" style="margin-top: 262px;">
|
|
|
+ <div class="container" style="margin-top: 262px">
|
|
|
<van-list
|
|
|
- class="myList1"
|
|
|
- v-model="loading"
|
|
|
- :finished="finished"
|
|
|
- finished-text="没有更多了"
|
|
|
- @load="onLoad"
|
|
|
- >
|
|
|
- <div v-if="list.length>0">
|
|
|
- <div class="cellcontent" v-for="(item,index) in list" :key="index">
|
|
|
- <van-cell @click="detilsFn(item)">
|
|
|
- <div class="card" style="position: relative;">
|
|
|
- <span v-if="item.visitSource==2" class="stateAbnormal">异常拜访</span>
|
|
|
+ class="myList1"
|
|
|
+ v-model="loading"
|
|
|
+ :finished="finished"
|
|
|
+ finished-text="没有更多了"
|
|
|
+ @load="onLoad">
|
|
|
+ <div v-if="list.length > 0">
|
|
|
+ <div class="cellcontent" v-for="(item, index) in list" :key="index">
|
|
|
+ <van-cell>
|
|
|
+ <div class="card" style="position: relative" @click="detilsFn(item)">
|
|
|
+ <span v-if="item.visitSource == 2" class="stateAbnormal">异常拜访</span>
|
|
|
<!--<span v-if="item.visitModel==5" class="state">偏差过大</span>-->
|
|
|
- <span v-if="item.visitSource==1" class="state">正常拜访</span>
|
|
|
- <div class="title"><span>{{ item.storeName }}</span>
|
|
|
- (<span style="color:#0057ba">{{
|
|
|
- item.storeCode
|
|
|
- }}</span>)
|
|
|
+ <span v-if="item.visitSource == 1" class="state">正常拜访</span>
|
|
|
+ <div class="title">
|
|
|
+ <span>{{ item.storeName }}</span> (<span style="color: #0057ba">{{
|
|
|
+ item.storeCode
|
|
|
+ }}</span
|
|
|
+ >)
|
|
|
</div>
|
|
|
<div class="info">拜访人:{{ item.nickName }}</div>
|
|
|
- <div class="info">拜访时间:{{ item.visitsTime }}
|
|
|
- <span class="textRight" v-if="item.status=='1'&&item.taskId==null">审批中</span>
|
|
|
- <span class="textRight" v-if="item.status=='1'&&item.taskId!=null" style="color:red;">退回修改</span>
|
|
|
- <span class="textRight" style="color: #07c160;" v-if="item.status==2">审批完成</span>
|
|
|
- <span class="textRight" v-if="item.status=='3'" style="color:red;">拒绝</span></div>
|
|
|
+ <div class="info">
|
|
|
+ 拜访时间:{{ item.visitsTime }}
|
|
|
+ <span class="textRight" v-if="item.status == '1' && item.taskId == null"
|
|
|
+ >审批中</span
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ class="textRight"
|
|
|
+ v-if="item.status == '1' && item.taskId != null"
|
|
|
+ style="color: red"
|
|
|
+ >退回修改</span
|
|
|
+ >
|
|
|
+ <span class="textRight" style="color: #07c160" v-if="item.status == 2"
|
|
|
+ >审批完成</span
|
|
|
+ >
|
|
|
+ <span class="textRight" v-if="item.status == '3'" style="color: red">拒绝</span>
|
|
|
+ </div>
|
|
|
<div class="info" v-if="item.dwellTime">拜访时长:{{ item.dwellTime }}</div>
|
|
|
<div class="info">地址:{{ item.addressLine }}</div>
|
|
|
- <div class="info">经销商:{{ item.chainName }}</div>
|
|
|
</div>
|
|
|
+ <!-- 分销店 -->
|
|
|
+ <template
|
|
|
+ v-if="
|
|
|
+ item.sfaStoreType &&
|
|
|
+ item.sfaStoreType.type == 'fxd' &&
|
|
|
+ item.sfaStoreChainsContactList
|
|
|
+ ">
|
|
|
+ <div class="info">
|
|
|
+ 经销商:
|
|
|
+ <div class="TCFXListItem" v-for="(item, index) in item.sfaStoreChainsContactList">
|
|
|
+ <el-popover
|
|
|
+ popper-class="zpover zpoverStoreztype"
|
|
|
+ placement="bottom-start"
|
|
|
+ trigger="click">
|
|
|
+ <div>
|
|
|
+ <div>{{ item.chainCode }}</div>
|
|
|
+ <div>{{ item.chainName }}</div>
|
|
|
+ </div>
|
|
|
+ <div slot="reference" :key="index">
|
|
|
+ {{ item.categoryDescribe }}
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <div class="info">经销商:{{ item.chainName }}</div>
|
|
|
+ </template>
|
|
|
</van-cell>
|
|
|
<div class="lineGrey"></div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
</van-list>
|
|
|
-<!-- <p style="text-align: center;color: #ccc;font-size: 12px;" v-if="list.length!=0">--已经到底了--</p>-->
|
|
|
-<!-- <van-empty description="--已经到底了--" v-if="list.length==0"/>-->
|
|
|
+ <!-- <p style="text-align: center;color: #ccc;font-size: 12px;" v-if="list.length!=0">--已经到底了--</p>-->
|
|
|
+ <!-- <van-empty description="--已经到底了--" v-if="list.length==0"/>-->
|
|
|
</div>
|
|
|
<van-popup v-model="startTimeshow" position="bottom" :style="{ height: '30%' }">
|
|
|
<van-datetime-picker
|
|
|
- v-model="startcurrentDate"
|
|
|
- type="date"
|
|
|
- title="开始日期"
|
|
|
- :min-date="minDate"
|
|
|
- :max-date="startmaxDate"
|
|
|
- @confirm="dateeconfirm"
|
|
|
- @cancel="startTimeshow=false"
|
|
|
- />
|
|
|
+ v-model="startcurrentDate"
|
|
|
+ type="date"
|
|
|
+ title="开始日期"
|
|
|
+ :min-date="minDate"
|
|
|
+ :max-date="startmaxDate"
|
|
|
+ @confirm="dateeconfirm"
|
|
|
+ @cancel="startTimeshow = false" />
|
|
|
</van-popup>
|
|
|
<van-popup v-model="endTimeshow" position="bottom" :style="{ height: '50%' }">
|
|
|
<van-datetime-picker
|
|
|
- v-model="currentDate"
|
|
|
- type="date"
|
|
|
- title="开始日期"
|
|
|
- :min-date="endminDate"
|
|
|
- :max-date="maxDate"
|
|
|
- @confirm="endTimeconfirm"
|
|
|
- @cancel="endTimeshow=false"
|
|
|
- />
|
|
|
+ v-model="currentDate"
|
|
|
+ type="date"
|
|
|
+ title="开始日期"
|
|
|
+ :min-date="endminDate"
|
|
|
+ :max-date="maxDate"
|
|
|
+ @confirm="endTimeconfirm"
|
|
|
+ @cancel="endTimeshow = false" />
|
|
|
</van-popup>
|
|
|
<van-popup v-model="RegionShow" capture position="bottom">
|
|
|
<van-picker
|
|
|
- show-toolbar
|
|
|
- :columns="companyList"
|
|
|
- value-key="deptName"
|
|
|
- @confirm="onregionConfirm"
|
|
|
- @cancel="RegionShow = false"
|
|
|
- />
|
|
|
+ show-toolbar
|
|
|
+ :columns="companyList"
|
|
|
+ value-key="deptName"
|
|
|
+ @confirm="onregionConfirm"
|
|
|
+ @cancel="RegionShow = false" />
|
|
|
</van-popup>
|
|
|
<van-popup v-model="SalesRegionShow" capture position="bottom">
|
|
|
<van-picker
|
|
|
- show-toolbar
|
|
|
- :columns="regionList"
|
|
|
- value-key="deptName"
|
|
|
- @confirm="onSalesRegionConfirm"
|
|
|
- @cancel="SalesRegionShow = false"
|
|
|
- />
|
|
|
+ show-toolbar
|
|
|
+ :columns="regionList"
|
|
|
+ value-key="deptName"
|
|
|
+ @confirm="onSalesRegionConfirm"
|
|
|
+ @cancel="SalesRegionShow = false" />
|
|
|
</van-popup>
|
|
|
<van-popup v-model="SalesDepartmentShow" capture position="bottom">
|
|
|
<van-picker
|
|
|
- show-toolbar
|
|
|
- :columns="deptList"
|
|
|
- value-key="deptName"
|
|
|
- @confirm="onSalesDepartmentConfirm"
|
|
|
- @cancel="SalesDepartmentShow = false"
|
|
|
- />
|
|
|
+ show-toolbar
|
|
|
+ :columns="deptList"
|
|
|
+ value-key="deptName"
|
|
|
+ @confirm="onSalesDepartmentConfirm"
|
|
|
+ @cancel="SalesDepartmentShow = false" />
|
|
|
</van-popup>
|
|
|
<van-popup v-model="StaffShow" capture position="bottom">
|
|
|
<van-picker
|
|
|
- show-toolbar
|
|
|
- :columns="userList"
|
|
|
- @confirm="onStaffConfirm"
|
|
|
- value-key="nickName"
|
|
|
- @cancel="StaffShow = false"
|
|
|
- />
|
|
|
+ show-toolbar
|
|
|
+ :columns="userList"
|
|
|
+ @confirm="onStaffConfirm"
|
|
|
+ value-key="nickName"
|
|
|
+ @cancel="StaffShow = false" />
|
|
|
</van-popup>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {getVisits,getvisitDeptInfo} from "@/api/index";
|
|
|
-import timeico from "@/assets/Icon/datatims.png";
|
|
|
+import { getVisits, getvisitDeptInfo } from '@/api/index';
|
|
|
+import timeico from '@/assets/Icon/datatims.png';
|
|
|
|
|
|
export default {
|
|
|
- name: "index.vue",
|
|
|
+ name: 'index.vue',
|
|
|
data() {
|
|
|
return {
|
|
|
timeico: timeico,
|
|
|
defaultDate: new Date(),
|
|
|
searchValue: '',
|
|
|
calendarShow: '',
|
|
|
- monthNames: ['-01', '-02', '-03', '-04', '-05', '-06', '-07', '-08', '-09', '-10', '-11', '-12',],
|
|
|
+ monthNames: [
|
|
|
+ '-01',
|
|
|
+ '-02',
|
|
|
+ '-03',
|
|
|
+ '-04',
|
|
|
+ '-05',
|
|
|
+ '-06',
|
|
|
+ '-07',
|
|
|
+ '-08',
|
|
|
+ '-09',
|
|
|
+ '-10',
|
|
|
+ '-11',
|
|
|
+ '-12',
|
|
|
+ ],
|
|
|
calendarIsshow: false,
|
|
|
tabVal: 'insidePlan',
|
|
|
list: [],
|
|
|
loading: false,
|
|
|
finished: true,
|
|
|
listActive: null,
|
|
|
- query: "",
|
|
|
+ query: '',
|
|
|
show: false,
|
|
|
minDate: new Date(2022, 0, 1),
|
|
|
maxDate: new Date(),
|
|
|
@@ -176,142 +232,142 @@ export default {
|
|
|
startcurrentDate: new Date(),
|
|
|
endminDate: new Date(),
|
|
|
startmaxDate: new Date(),
|
|
|
- endTime: "",
|
|
|
- startTime: "",
|
|
|
+ endTime: '',
|
|
|
+ startTime: '',
|
|
|
endTimeshow: false,
|
|
|
startTimeshow: false,
|
|
|
- storeName: "",
|
|
|
- companyName:"全部公司",
|
|
|
- deptName:"全部销售部",
|
|
|
- regionName:"全部大区",
|
|
|
- userName:"全部业务员",
|
|
|
- companyCode:"",
|
|
|
- deptCode:"",
|
|
|
- regionCode:"",
|
|
|
- userCode:"",
|
|
|
- companyList:[],
|
|
|
- deptList:[],
|
|
|
- regionList:[],
|
|
|
- userList:[],
|
|
|
+ storeName: '',
|
|
|
+ companyName: '全部公司',
|
|
|
+ deptName: '全部销售部',
|
|
|
+ regionName: '全部大区',
|
|
|
+ userName: '全部业务员',
|
|
|
+ companyCode: '',
|
|
|
+ deptCode: '',
|
|
|
+ regionCode: '',
|
|
|
+ userCode: '',
|
|
|
+ companyList: [],
|
|
|
+ deptList: [],
|
|
|
+ regionList: [],
|
|
|
+ userList: [],
|
|
|
RegionShow: false,
|
|
|
SalesRegionShow: false,
|
|
|
SalesDepartmentShow: false,
|
|
|
StaffShow: false,
|
|
|
- deptForm:{type:"",parentId:""},
|
|
|
- pageNum:1 , // 当前页码 int类型
|
|
|
- pageSize:10, // 当前每页条数 int类型
|
|
|
- formData:{
|
|
|
- companyId:"", // 公司id,必传 Long类型
|
|
|
- regionId:"", // 大区id,必传 Long类型
|
|
|
- deptId:"", // 部门id,如果为周报或日报为必传 Long类型
|
|
|
- userId:"", // 业务员id,如果为日报为必传 Long类型
|
|
|
- startTime:"", // 开始时间,必传 格式:yyyy-MM-dd String类型
|
|
|
- endTime:"", // 结束时间,必传 格式:yyyy-MM-dd String类型
|
|
|
- pageNum:1 , // 当前页码 int类型
|
|
|
- pageSize:10, // 当前每页条数 int类型
|
|
|
+ deptForm: { type: '', parentId: '' },
|
|
|
+ pageNum: 1, // 当前页码 int类型
|
|
|
+ pageSize: 10, // 当前每页条数 int类型
|
|
|
+ formData: {
|
|
|
+ companyId: '', // 公司id,必传 Long类型
|
|
|
+ regionId: '', // 大区id,必传 Long类型
|
|
|
+ deptId: '', // 部门id,如果为周报或日报为必传 Long类型
|
|
|
+ userId: '', // 业务员id,如果为日报为必传 Long类型
|
|
|
+ startTime: '', // 开始时间,必传 格式:yyyy-MM-dd String类型
|
|
|
+ endTime: '', // 结束时间,必传 格式:yyyy-MM-dd String类型
|
|
|
+ pageNum: 1, // 当前页码 int类型
|
|
|
+ pageSize: 10, // 当前每页条数 int类型
|
|
|
},
|
|
|
- }
|
|
|
+ };
|
|
|
},
|
|
|
activated() {
|
|
|
- // watch: {
|
|
|
- // $route(to, from) {
|
|
|
- // if (from.path == "/My/index" && to.path == "/historAllVisit") {
|
|
|
- // this.info();
|
|
|
- // this.userList=[]
|
|
|
- this.pageNum=1;
|
|
|
- this.list=[];
|
|
|
- // this.powerGrade = localStorage.getItem("powerGrade")
|
|
|
- // this.getDeptInfo("dept")
|
|
|
- // if(this.powerGrade==5){
|
|
|
- // setTimeout(()=>{
|
|
|
- // if(this.$route.query.userCode==undefined){
|
|
|
- // this.companyName=this.companyList[0].deptName;
|
|
|
- // this.companyCode=this.companyList[0].deptId;
|
|
|
- // }
|
|
|
- // this.getDeptInfo("dept",1)
|
|
|
- // },1000)
|
|
|
- // }
|
|
|
- // if(this.powerGrade==4){
|
|
|
- // setTimeout(()=>{
|
|
|
- // this.getDeptInfo("dept",1)
|
|
|
- // },1000)
|
|
|
- // }
|
|
|
- // if(this.powerGrade==3){
|
|
|
- // setTimeout(()=>{
|
|
|
- // this.getDeptInfo("dept",2)
|
|
|
- // },1000)
|
|
|
- // }
|
|
|
- // if(this.powerGrade==2||this.powerGrade==1){
|
|
|
- // setTimeout(()=>{
|
|
|
- // this.getDeptInfo("user")
|
|
|
- // },2000)
|
|
|
- // }
|
|
|
- setTimeout(()=>{
|
|
|
- this.onSearch();
|
|
|
- },1000)
|
|
|
- // }
|
|
|
+ // watch: {
|
|
|
+ // $route(to, from) {
|
|
|
+ // if (from.path == "/My/index" && to.path == "/historAllVisit") {
|
|
|
+ // this.info();
|
|
|
+ // this.userList=[]
|
|
|
+ this.pageNum = 1;
|
|
|
+ this.list = [];
|
|
|
+ // this.powerGrade = localStorage.getItem("powerGrade")
|
|
|
+ // this.getDeptInfo("dept")
|
|
|
+ // if(this.powerGrade==5){
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // if(this.$route.query.userCode==undefined){
|
|
|
+ // this.companyName=this.companyList[0].deptName;
|
|
|
+ // this.companyCode=this.companyList[0].deptId;
|
|
|
+ // }
|
|
|
+ // this.getDeptInfo("dept",1)
|
|
|
+ // },1000)
|
|
|
+ // }
|
|
|
+ // if(this.powerGrade==4){
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // this.getDeptInfo("dept",1)
|
|
|
+ // },1000)
|
|
|
+ // }
|
|
|
+ // if(this.powerGrade==3){
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // this.getDeptInfo("dept",2)
|
|
|
+ // },1000)
|
|
|
// }
|
|
|
- // },
|
|
|
-},
|
|
|
+ // if(this.powerGrade==2||this.powerGrade==1){
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // this.getDeptInfo("user")
|
|
|
+ // },2000)
|
|
|
+ // }
|
|
|
+ setTimeout(() => {
|
|
|
+ this.onSearch();
|
|
|
+ }, 1000);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ },
|
|
|
created() {
|
|
|
this.info();
|
|
|
- this.userList=[]
|
|
|
- this.pageNum=1;
|
|
|
- this.list=[];
|
|
|
- this.powerGrade = localStorage.getItem("powerGrade")
|
|
|
- this.getDeptInfo("dept")
|
|
|
- if(this.powerGrade==5){
|
|
|
- setTimeout(()=>{
|
|
|
- if(this.$route.query.userCode==undefined){
|
|
|
- this.companyName=this.companyList[0].deptName;
|
|
|
- this.companyCode=this.companyList[0].deptId;
|
|
|
+ this.userList = [];
|
|
|
+ this.pageNum = 1;
|
|
|
+ this.list = [];
|
|
|
+ this.powerGrade = localStorage.getItem('powerGrade');
|
|
|
+ this.getDeptInfo('dept');
|
|
|
+ if (this.powerGrade == 5) {
|
|
|
+ setTimeout(() => {
|
|
|
+ if (this.$route.query.userCode == undefined) {
|
|
|
+ this.companyName = this.companyList[0].deptName;
|
|
|
+ this.companyCode = this.companyList[0].deptId;
|
|
|
}
|
|
|
- this.getDeptInfo("dept",1)
|
|
|
- },1000)
|
|
|
+ this.getDeptInfo('dept', 1);
|
|
|
+ }, 1000);
|
|
|
}
|
|
|
- if(this.powerGrade==4){
|
|
|
- setTimeout(()=>{
|
|
|
- this.getDeptInfo("dept",1)
|
|
|
- },1000)
|
|
|
+ if (this.powerGrade == 4) {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getDeptInfo('dept', 1);
|
|
|
+ }, 1000);
|
|
|
}
|
|
|
- if(this.powerGrade==3){
|
|
|
- setTimeout(()=>{
|
|
|
- this.getDeptInfo("dept",2)
|
|
|
- },1000)
|
|
|
+ if (this.powerGrade == 3) {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getDeptInfo('dept', 2);
|
|
|
+ }, 1000);
|
|
|
}
|
|
|
- if(this.powerGrade==2||this.powerGrade==1){
|
|
|
- setTimeout(()=>{
|
|
|
- this.getDeptInfo("user")
|
|
|
- },2000)
|
|
|
+ if (this.powerGrade == 2 || this.powerGrade == 1) {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.getDeptInfo('user');
|
|
|
+ }, 2000);
|
|
|
}
|
|
|
// setTimeout(()=>{
|
|
|
// this.onSearch();
|
|
|
// },1000)
|
|
|
},
|
|
|
methods: {
|
|
|
- onLoad(){
|
|
|
+ onLoad() {
|
|
|
// this.loading = false;
|
|
|
this.getVisitsListFn();
|
|
|
},
|
|
|
- info(){
|
|
|
+ info() {
|
|
|
this.query = this.$route.query;
|
|
|
- this.startTime = this.getDay(-7)
|
|
|
- this.startcurrentDate = new Date(this.getDay(-7))
|
|
|
- this.endTime = this.parseTime(new Date(), '{y}-{m}-{d}')
|
|
|
- this.endminDate = new Date(this.getDay(-7))
|
|
|
+ this.startTime = this.getDay(-7);
|
|
|
+ this.startcurrentDate = new Date(this.getDay(-7));
|
|
|
+ this.endTime = this.parseTime(new Date(), '{y}-{m}-{d}');
|
|
|
+ this.endminDate = new Date(this.getDay(-7));
|
|
|
},
|
|
|
detilsFn(val) {
|
|
|
this.$router.push({
|
|
|
- path: "/historicalDetails",
|
|
|
+ path: '/historicalDetails',
|
|
|
query: {
|
|
|
visitId: val.id,
|
|
|
- storeId:val.storeId,
|
|
|
- storeCode:val.storeCode,
|
|
|
- taskId:val.taskId,
|
|
|
- userId:val.userId,
|
|
|
- storeCategory:val.storeCategory
|
|
|
- }
|
|
|
- })
|
|
|
+ storeId: val.storeId,
|
|
|
+ storeCode: val.storeCode,
|
|
|
+ taskId: val.taskId,
|
|
|
+ userId: val.userId,
|
|
|
+ storeCategory: val.storeCategory,
|
|
|
+ },
|
|
|
+ });
|
|
|
},
|
|
|
timeBefore7(date) {
|
|
|
if (!date) {
|
|
|
@@ -324,9 +380,9 @@ export default {
|
|
|
m = date.getMonth();
|
|
|
var d1 = new Date(y, m, 0);
|
|
|
var d2 = d1.getDate();
|
|
|
- return y + '/' + (m < 10 ? ('0' + m) : m) + '/' + (d2 + d);
|
|
|
+ return y + '/' + (m < 10 ? '0' + m : m) + '/' + (d2 + d);
|
|
|
} else {
|
|
|
- return y + '/' + (m < 10 ? ('0' + m) : m) + '/' + (d < 10 ? ('0' + d) : d);
|
|
|
+ return y + '/' + (m < 10 ? '0' + m : m) + '/' + (d < 10 ? '0' + d : d);
|
|
|
}
|
|
|
},
|
|
|
getDay(day) {
|
|
|
@@ -338,33 +394,33 @@ export default {
|
|
|
var tDate = today.getDate();
|
|
|
tMonth = this.doHandleMonth(tMonth + 1);
|
|
|
tDate = this.doHandleMonth(tDate);
|
|
|
- return tYear + "-" + tMonth + "-" + tDate;
|
|
|
+ return tYear + '-' + tMonth + '-' + tDate;
|
|
|
},
|
|
|
doHandleMonth(month) {
|
|
|
var m = month;
|
|
|
if (month.toString().length == 1) {
|
|
|
- m = "0" + month;
|
|
|
+ m = '0' + month;
|
|
|
}
|
|
|
return m;
|
|
|
},
|
|
|
dateeconfirm() {
|
|
|
- this.startTimeshow = false
|
|
|
- this.startTime = this.parseTime(this.startcurrentDate, '{yy}-{mm}-{dd}')
|
|
|
- this.endminDate = new Date(this.startcurrentDate)
|
|
|
- this.onSearch()
|
|
|
+ this.startTimeshow = false;
|
|
|
+ this.startTime = this.parseTime(this.startcurrentDate, '{yy}-{mm}-{dd}');
|
|
|
+ this.endminDate = new Date(this.startcurrentDate);
|
|
|
+ this.onSearch();
|
|
|
},
|
|
|
endTimeconfirm() {
|
|
|
- this.endTimeshow = false
|
|
|
- this.endTime = this.parseTime(this.currentDate, '{yy}-{mm}-{dd}')
|
|
|
- this.startmaxDate = new Date(this.currentDate)
|
|
|
- this.onSearch()
|
|
|
+ this.endTimeshow = false;
|
|
|
+ this.endTime = this.parseTime(this.currentDate, '{yy}-{mm}-{dd}');
|
|
|
+ this.startmaxDate = new Date(this.currentDate);
|
|
|
+ this.onSearch();
|
|
|
},
|
|
|
onClickLeft() {
|
|
|
- this.$router.go(-1)
|
|
|
+ this.$router.go(-1);
|
|
|
},
|
|
|
onSearch() {
|
|
|
- this.pageNum=1;
|
|
|
- this.list=[];
|
|
|
+ this.pageNum = 1;
|
|
|
+ this.list = [];
|
|
|
this.getVisitsListFn();
|
|
|
},
|
|
|
getVisitsListFn() {
|
|
|
@@ -378,27 +434,30 @@ export default {
|
|
|
this.refreshing = false;
|
|
|
}
|
|
|
getVisits({
|
|
|
- startTime: this.startTime+ " 00:00:00",//
|
|
|
- stopTime: this.endTime+ " 24:00:00", //
|
|
|
+ startTime: this.startTime + ' 00:00:00', //
|
|
|
+ stopTime: this.endTime + ' 24:00:00', //
|
|
|
storeRequest: this.storeName.trim(),
|
|
|
- pageNum:this.pageNum,
|
|
|
- pageSize:this.pageSize,
|
|
|
- companyId: this.companyCode, regionId: this.regionCode, userId: this.userCode, deptId: this.deptCode
|
|
|
- }).then(res => {
|
|
|
- loading1.clear()
|
|
|
+ pageNum: this.pageNum,
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ companyId: this.companyCode,
|
|
|
+ regionId: this.regionCode,
|
|
|
+ userId: this.userCode,
|
|
|
+ deptId: this.deptCode,
|
|
|
+ }).then((res) => {
|
|
|
+ loading1.clear();
|
|
|
if (res.code == 200) {
|
|
|
- this.loading=false
|
|
|
- this.list = this.list.concat(res.data)
|
|
|
- if (this.list.length >=res.total) {
|
|
|
+ this.loading = false;
|
|
|
+ this.list = this.list.concat(res.data);
|
|
|
+ if (this.list.length >= res.total) {
|
|
|
this.finished = true;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.finished = false;
|
|
|
}
|
|
|
- this.pageNum=this.pageNum+1
|
|
|
+ this.pageNum = this.pageNum + 1;
|
|
|
} else {
|
|
|
- this.$toast.fail(res.msg)
|
|
|
+ this.$toast.fail(res.msg);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
regionClick() {
|
|
|
// if(this.powerGrade>4){
|
|
|
@@ -420,101 +479,101 @@ export default {
|
|
|
},
|
|
|
StartTimeClick() {
|
|
|
this.StartTimeShow = true;
|
|
|
- },onregionConfirm(val) {
|
|
|
+ },
|
|
|
+ onregionConfirm(val) {
|
|
|
this.RegionShow = false;
|
|
|
- this.companyName=val.deptName;
|
|
|
- this.companyCode=val.deptId;
|
|
|
- this.regionName="全部大区";
|
|
|
- this.regionCode="";
|
|
|
- this.deptName="全部销售部";
|
|
|
- this.deptCode="";
|
|
|
- this.userName="全部业务员";
|
|
|
- this.userCode="";
|
|
|
- this.getDeptInfo("dept",1)
|
|
|
+ this.companyName = val.deptName;
|
|
|
+ this.companyCode = val.deptId;
|
|
|
+ this.regionName = '全部大区';
|
|
|
+ this.regionCode = '';
|
|
|
+ this.deptName = '全部销售部';
|
|
|
+ this.deptCode = '';
|
|
|
+ this.userName = '全部业务员';
|
|
|
+ this.userCode = '';
|
|
|
+ this.getDeptInfo('dept', 1);
|
|
|
},
|
|
|
onSalesRegionConfirm(val) {
|
|
|
this.SalesRegionShow = false;
|
|
|
- this.regionName=val.deptName;
|
|
|
- this.regionCode=val.deptId;
|
|
|
- if(val.deptId!=""){
|
|
|
- this.getDeptInfo("dept",2)
|
|
|
+ this.regionName = val.deptName;
|
|
|
+ this.regionCode = val.deptId;
|
|
|
+ if (val.deptId != '') {
|
|
|
+ this.getDeptInfo('dept', 2);
|
|
|
}
|
|
|
- this.deptName="全部销售部";
|
|
|
- this.deptCode="";
|
|
|
- this.userName="全部业务员";
|
|
|
- this.userCode="";
|
|
|
- this.userList=[]
|
|
|
+ this.deptName = '全部销售部';
|
|
|
+ this.deptCode = '';
|
|
|
+ this.userName = '全部业务员';
|
|
|
+ this.userCode = '';
|
|
|
+ this.userList = [];
|
|
|
},
|
|
|
onSalesDepartmentConfirm(val) {
|
|
|
this.SalesDepartmentShow = false;
|
|
|
- this.deptName=val.deptName;
|
|
|
- this.deptCode=val.deptId;
|
|
|
- if(val.deptId!=""){
|
|
|
-
|
|
|
- this.getDeptInfo("user")
|
|
|
+ this.deptName = val.deptName;
|
|
|
+ this.deptCode = val.deptId;
|
|
|
+ if (val.deptId != '') {
|
|
|
+ this.getDeptInfo('user');
|
|
|
}
|
|
|
- this.userName="全部业务员";
|
|
|
- this.userCode="";
|
|
|
+ this.userName = '全部业务员';
|
|
|
+ this.userCode = '';
|
|
|
},
|
|
|
onStaffConfirm(val) {
|
|
|
this.StaffShow = false;
|
|
|
- this.userName=val.nickName;
|
|
|
- this.userCode=val.userId;
|
|
|
+ this.userName = val.nickName;
|
|
|
+ this.userCode = val.userId;
|
|
|
},
|
|
|
- getDeptInfo(type,grade){
|
|
|
- this.deptForm.type=type
|
|
|
- if(type=="dept"){
|
|
|
- if(grade=="1"){
|
|
|
- this.deptForm.parentId=this.companyCode
|
|
|
- }else if(grade=="2"){
|
|
|
- this.deptForm.parentId=this.regionCode
|
|
|
- }else{
|
|
|
- this.deptForm.type=""
|
|
|
- this.deptForm.parentId=""
|
|
|
+ getDeptInfo(type, grade) {
|
|
|
+ this.deptForm.type = type;
|
|
|
+ if (type == 'dept') {
|
|
|
+ if (grade == '1') {
|
|
|
+ this.deptForm.parentId = this.companyCode;
|
|
|
+ } else if (grade == '2') {
|
|
|
+ this.deptForm.parentId = this.regionCode;
|
|
|
+ } else {
|
|
|
+ this.deptForm.type = '';
|
|
|
+ this.deptForm.parentId = '';
|
|
|
}
|
|
|
- }else if(type=="user"){
|
|
|
- this.deptForm.parentId=this.deptCode
|
|
|
+ } else if (type == 'user') {
|
|
|
+ this.deptForm.parentId = this.deptCode;
|
|
|
}
|
|
|
- getvisitDeptInfo(this.deptForm).then(res=>{
|
|
|
- if(type=="dept"){
|
|
|
- if(grade=="1"){
|
|
|
- if(res.data.region!=null){
|
|
|
- this.regionList=[{deptName:"全部大区",deptId:""}].concat(res.data.region)
|
|
|
+ getvisitDeptInfo(this.deptForm).then((res) => {
|
|
|
+ if (type == 'dept') {
|
|
|
+ if (grade == '1') {
|
|
|
+ if (res.data.region != null) {
|
|
|
+ this.regionList = [{ deptName: '全部大区', deptId: '' }].concat(res.data.region);
|
|
|
}
|
|
|
- }else if(grade=="2"){
|
|
|
- if(res.data.dept!=null){
|
|
|
- this.deptList=[{deptName:"全部销售部",deptId:""}].concat(res.data.dept)
|
|
|
+ } else if (grade == '2') {
|
|
|
+ if (res.data.dept != null) {
|
|
|
+ this.deptList = [{ deptName: '全部销售部', deptId: '' }].concat(res.data.dept);
|
|
|
}
|
|
|
- }else{
|
|
|
- this.companyList=res.data.company
|
|
|
- if(this.$route.query.userCode==undefined){
|
|
|
- this.companyName=res.data.company[0].deptName
|
|
|
- this.companyCode=res.data.company[0].deptId
|
|
|
+ } else {
|
|
|
+ this.companyList = res.data.company;
|
|
|
+ if (this.$route.query.userCode == undefined) {
|
|
|
+ this.companyName = res.data.company[0].deptName;
|
|
|
+ this.companyCode = res.data.company[0].deptId;
|
|
|
}
|
|
|
- if(res.data.dept!=null){
|
|
|
- this.deptName=res.data.dept[0].deptName
|
|
|
- this.deptCode=res.data.dept[0].deptId
|
|
|
- this.deptList=res.data.dept
|
|
|
+ if (res.data.dept != null) {
|
|
|
+ this.deptName = res.data.dept[0].deptName;
|
|
|
+ this.deptCode = res.data.dept[0].deptId;
|
|
|
+ this.deptList = res.data.dept;
|
|
|
}
|
|
|
- if(res.data.region!=null){
|
|
|
- this.regionName=res.data.region[0].deptName
|
|
|
- this.regionCode=res.data.region[0].deptId
|
|
|
- this.regionList=res.data.region
|
|
|
+ if (res.data.region != null) {
|
|
|
+ this.regionName = res.data.region[0].deptName;
|
|
|
+ this.regionCode = res.data.region[0].deptId;
|
|
|
+ this.regionList = res.data.region;
|
|
|
}
|
|
|
- if(res.data.user!=null){
|
|
|
- this.userList=res.data.user
|
|
|
- this.userCode=""
|
|
|
+ if (res.data.user != null) {
|
|
|
+ this.userList = res.data.user;
|
|
|
+ this.userCode = '';
|
|
|
}
|
|
|
}
|
|
|
- }else if(type=="user"){
|
|
|
- if(res.data.user!=null){
|
|
|
- this.userList=[{nickName:"全部业务员",userId:""}].concat(res.data.user)
|
|
|
+ } else if (type == 'user') {
|
|
|
+ if (res.data.user != null) {
|
|
|
+ this.userList = [{ nickName: '全部业务员', userId: '' }].concat(res.data.user);
|
|
|
}
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
- }
|
|
|
-}
|
|
|
+ },
|
|
|
+};
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
.searchDiv {
|
|
|
@@ -533,7 +592,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.van-search--show-action {
|
|
|
- padding-right: 12px
|
|
|
+ padding-right: 12px;
|
|
|
}
|
|
|
|
|
|
.van-search__content {
|
|
|
@@ -554,6 +613,15 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.historAllVisit {
|
|
|
+ .TCFXListItem {
|
|
|
+ display: inline-block;
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ padding: 3px 5px;
|
|
|
+ margin: 0 5px;
|
|
|
+ border-radius: 6px;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|
|
|
<style lang="scss" scoped>
|
|
|
.bgcolor {
|
|
|
@@ -573,12 +641,13 @@ export default {
|
|
|
box-sizing: border-box;
|
|
|
background-color: #f1f1f1;
|
|
|
border-radius: 20px;
|
|
|
- margin:8px;
|
|
|
+ margin: 8px;
|
|
|
border: 1px solid #ccc;
|
|
|
position: relative;
|
|
|
color: #333;
|
|
|
font-size: 14px;
|
|
|
- .van-cell__left-icon, .van-cell__right-icon{
|
|
|
+ .van-cell__left-icon,
|
|
|
+ .van-cell__right-icon {
|
|
|
line-height: 34px;
|
|
|
}
|
|
|
.CalendarIcon {
|
|
|
@@ -593,10 +662,12 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-.serchInput{
|
|
|
- padding: 0 4px ;
|
|
|
+.serchInput {
|
|
|
+ padding: 0 4px;
|
|
|
+}
|
|
|
+.selectcell {
|
|
|
+ width: 92%;
|
|
|
}
|
|
|
-.selectcell{width: 92%}
|
|
|
.card {
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
@@ -620,7 +691,7 @@ export default {
|
|
|
background-color: white;
|
|
|
}
|
|
|
.btnbox {
|
|
|
- padding: 0 16px
|
|
|
+ padding: 0 16px;
|
|
|
}
|
|
|
.cellcontent .centerBtn {
|
|
|
margin: 0 auto 10px;
|
|
|
@@ -672,4 +743,4 @@ export default {
|
|
|
float: right;
|
|
|
color: #0057ba;
|
|
|
}
|
|
|
-</style>
|
|
|
+</style>
|