接待人场地
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 20 KiB |
BIN
public/favicon2.ico
Normal file
|
After Width: | Height: | Size: 137 KiB |
BIN
public/logo.png
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 20 KiB |
BIN
public/logo1.png
Normal file
|
After Width: | Height: | Size: 137 KiB |
@@ -210,3 +210,11 @@ export function saveCluePlace(data) {
|
|||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getFollowCount() {
|
||||||
|
return request({
|
||||||
|
url: `/zs/clue/follow/count`,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,3 +72,22 @@ export function delFeedbackDetail(feedbackId) {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//查询接待人统计
|
||||||
|
export function getCount(param){
|
||||||
|
return request({
|
||||||
|
url: '/zs/feedback/detail/count',
|
||||||
|
method: 'get',
|
||||||
|
params: param
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//查询接待人接待详情
|
||||||
|
export function getCountDetail(param){
|
||||||
|
return request({
|
||||||
|
url: '/zs/feedback/detail/count/detail',
|
||||||
|
method: 'get',
|
||||||
|
params: param
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 20 KiB |
BIN
src/assets/logo/logo2.png
Normal file
|
After Width: | Height: | Size: 137 KiB |
@@ -3,16 +3,12 @@
|
|||||||
<el-dialog title="接待人信息" :close-on-click-modal="false" append-to-body :visible.sync="visible" width="600px" @close="closeDialog">
|
<el-dialog title="接待人信息" :close-on-click-modal="false" append-to-body :visible.sync="visible" width="600px" @close="closeDialog">
|
||||||
<div>
|
<div>
|
||||||
<el-form ref="dialogForm" :model="dialogForm" :rules="dataRule" label-position="top" @keyup.enter.native="dialogFormSubmit()">
|
<el-form ref="dialogForm" :model="dialogForm" :rules="dataRule" label-position="top" @keyup.enter.native="dialogFormSubmit()">
|
||||||
<el-form-item label="所属驾校" prop="schoolId">
|
<!-- <el-form-item label="所属驾校" prop="schoolId">
|
||||||
<el-select v-model="dialogForm.schoolId" filterable placeholder="请选择" value-key="schoolId" clearable size="small" style="width:100%">
|
<el-select v-model="dialogForm.schoolId" filterable placeholder="请选择" value-key="schoolId" clearable size="small" style="width:100%">
|
||||||
<el-option v-for="(dict, index) in schoolOptions" :key="index" :label="dict.schoolName" :value="dict.schoolId" />
|
<el-option v-for="(dict, index) in schoolOptions" :key="index" :label="dict.schoolName" :value="dict.schoolId" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label="所属场地" prop="placeId">
|
|
||||||
<el-select v-model="dialogForm.placeId" filterable placeholder="请选择" clearable value-key="placeId" size="small" style="width:100%">
|
|
||||||
<el-option v-for="(dict, index) in placeOptions.filter(item => item.schoolId === dialogForm.schoolId)" :key="index" :label="dict.name" :value="dict.placeId" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="接待人" prop="coachName">
|
<el-form-item label="接待人" prop="coachName">
|
||||||
<el-input v-model="dialogForm.coachName" placeholder="请输入教练名" />
|
<el-input v-model="dialogForm.coachName" placeholder="请输入教练名" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -22,6 +18,11 @@
|
|||||||
<el-form-item label="微信openid" prop="openId">
|
<el-form-item label="微信openid" prop="openId">
|
||||||
<el-input v-model="dialogForm.openId" placeholder="请输入微信openid" />
|
<el-input v-model="dialogForm.openId" placeholder="请输入微信openid" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="负责场地" prop="placeIdList">
|
||||||
|
<el-select v-model="dialogForm.placeIdList" multiple filterable placeholder="请选择" clearable size="small" style="width:100%">
|
||||||
|
<el-option v-for="(dict, index) in placeOptions" :key="index" :label="dict.name" :value="dict.placeId" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -53,18 +54,19 @@ export default {
|
|||||||
dialogForm: {
|
dialogForm: {
|
||||||
coachId: null,
|
coachId: null,
|
||||||
deptId: null,
|
deptId: null,
|
||||||
schoolId: null,
|
// schoolId: null,
|
||||||
placeId: null,
|
placeIdList: null,
|
||||||
|
placeNames: null,
|
||||||
coachName: null,
|
coachName: null,
|
||||||
phone: null,
|
phone: null,
|
||||||
openId: null
|
openId: null
|
||||||
},
|
},
|
||||||
dataRule: {
|
dataRule: {
|
||||||
schoolId: [{ required: true, message: '所属驾校不能为空', trigger: 'blur' }],
|
// schoolId: [{ required: true, message: '所属驾校不能为空', trigger: 'blur' }],
|
||||||
placeId: [{ required: true, message: '场地不能为空', trigger: 'blur' }],
|
placeIdList: [{ required: true, message: '负责场地不能为空', trigger: 'blur' }],
|
||||||
coachName: [{ required: true, message: '教练名不能为空', trigger: 'blur' }],
|
coachName: [{ required: true, message: '教练名不能为空', trigger: 'blur' }],
|
||||||
phone: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }]
|
phone: [{ required: true, message: '联系方式不能为空', trigger: 'blur' }],
|
||||||
|
openId: [{ required: true, message: '微信openId不能为空', trigger: 'blur' }]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -85,7 +87,7 @@ export default {
|
|||||||
coachId: null,
|
coachId: null,
|
||||||
deptId: null,
|
deptId: null,
|
||||||
schoolId: null,
|
schoolId: null,
|
||||||
placeId: null,
|
placeIdList: null,
|
||||||
coachName: null,
|
coachName: null,
|
||||||
phone: null,
|
phone: null,
|
||||||
openId: null
|
openId: null
|
||||||
|
|||||||
@@ -1,37 +1,45 @@
|
|||||||
<!-- 接待人员详情页 -->
|
<!-- 接待人员详情页 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
|
<el-form ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px" label-position="top">
|
||||||
|
<el-form-item label="时间" prop="type">
|
||||||
|
<el-radio-group v-model="queryParams.type">
|
||||||
|
<el-radio label="1">今日接待</el-radio>
|
||||||
|
<el-radio label="2">本月接待</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="到场状态" prop="arrivalStatusList">
|
||||||
|
<el-checkbox-group v-model="queryParams.arrivalStatusList">
|
||||||
|
<el-checkbox :label="1">未到场</el-checkbox>
|
||||||
|
<el-checkbox :label="2">到场未成交</el-checkbox>
|
||||||
|
<el-checkbox :label="3">到场已成交</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
|
||||||
|
<el-button type="primary" icon="el-icon-back" size="mini" @click="back">返回</el-button>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="coachList">
|
<el-table v-loading="loading" :data="coachList">
|
||||||
<el-table-column type="index" width="55" align="center" />
|
<el-table-column type="index" width="55" align="center" />
|
||||||
<el-table-column label="学员姓名" align="center" prop="schoolName" />
|
<el-table-column label="学员姓名" align="center" prop="name" />
|
||||||
<el-table-column label="联系方式" align="center" prop="placeName" />
|
<el-table-column label="联系方式" align="center" prop="phone" />
|
||||||
<el-table-column label="到场状态" align="center" prop="coachName" />
|
<el-table-column label="到场状态" align="center" prop="arrivalStatus" />
|
||||||
<el-table-column label="备注" align="center" prop="phone" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button v-hasPermi="['sch:coach:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleAddAndUpdate(scope.row)">修改</el-button>
|
|
||||||
<el-button v-hasPermi="['sch:coach:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column> -->
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listCoach, getCoach, delCoach } from '@/api/sch/coach';
|
import { getCountDetail} from '@/api/zs/feedbackDetail';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: true,
|
loading: false,
|
||||||
// 显示搜索条件
|
|
||||||
showSearch: true,
|
|
||||||
// 总条数
|
// 总条数
|
||||||
total: 0,
|
total: 0,
|
||||||
// 教练表格数据
|
// 教练表格数据
|
||||||
@@ -39,18 +47,32 @@ export default {
|
|||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
type: null, // 1本日统计 2本月统计
|
type: null, // 1本日统计 2本月统计
|
||||||
placeId: null,
|
coachId: null,
|
||||||
coachName: null,
|
arrivalStatusList: undefined
|
||||||
phone: null
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.queryParams.type = this.$route.query.type;
|
||||||
|
this.queryParams.coachId = this.$route.query.coachId
|
||||||
|
if(this.queryParams.arrivalStatusList == undefined){
|
||||||
|
this.queryParams.arrivalStatusList = [1,2]
|
||||||
|
}
|
||||||
|
this.getList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 查询教练列表 */
|
/** 查询教练列表 */
|
||||||
getList() {
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
getCountDetail(this.queryParams).then(resp=> {
|
||||||
|
if(resp.code == 200 && resp.data){
|
||||||
|
this.coachList = resp.data
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
back(){
|
||||||
|
window.history.back()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,40 +1,43 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- 接待人统计页面 -->
|
<!-- 接待人统计页面 -->
|
||||||
<div class="app-container" style="max-width: 600px; margin: auto;">
|
<div class="app-container" style="max-width: 600px; margin: auto;">
|
||||||
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
|
<el-form ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px" style="text-align: center;">
|
||||||
<el-form-item label="联系方式" prop="phone">
|
<el-form-item label="手机号" prop="phone">
|
||||||
<el-input v-model="queryParams.phone" placeholder="请输入联系方式" clearable @keyup.enter.native="handleQuery" />
|
<el-input v-model="queryParams.phone" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="验证码" prop="code">
|
<!-- <el-form-item label="验证码" prop="code">
|
||||||
<el-input v-model="queryParams.code" placeholder="请输入验证码" clearable @keyup.enter.native="handleQuery" />
|
<el-input v-model="queryParams.code" placeholder="请输入验证码" clearable @keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="getCount">查询</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-card class="box-card">
|
<el-card class="box-card" v-if="show">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix" style="text-align: center;">
|
||||||
<span>接待统计</span>
|
<span>接待统计</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div><span>今日接到人数:100</span></div>
|
<div><span>今日接到人数:{{countInfo.todayTotal == undefined ? 0 : countInfo.todayTotal}}</span></div>
|
||||||
<div><span>今日成交人数:69</span></div>
|
<div><span>今日成交人数:{{countInfo.todaySuccess == undefined ? 0 : countInfo.todaySuccess}}</span></div>
|
||||||
<div><span>今日未成交人数:31</span>
|
<div><span>今日未成交人数:{{countInfo.todayUnSuccess == undefined ? 0 : countInfo.todayUnSuccess}}</span>
|
||||||
<router-link :to="'/coach/count/detail'"> 详情</router-link>
|
<router-link :to="'/coach/count/detail?coachId=' + coachId +'&type=1'" style="color: blue;"> 详情</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-divider></el-divider>
|
||||||
<div>
|
<div>
|
||||||
<div><span>本月接到人数:200</span></div>
|
<div><span>本月接到人数:{{countInfo.monthTotal}}</span></div>
|
||||||
<div><span>本月成交人数:169</span></div>
|
<div><span>本月成交人数:{{countInfo.monthSuccess}}</span></div>
|
||||||
<div><span>本月未成交人数:31</span></div>
|
<div><span>本月未成交人数:{{countInfo.monthUnSuccess}}</span>
|
||||||
|
<router-link :to="'/coach/count/detail?coachId=' + coachId+'&type=2'" style="color: blue;"> 详情</router-link>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listCoach, delCoach } from '@/api/sch/coach';
|
import { getCount} from '@/api/zs/feedbackDetail';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Count',
|
name: 'Count',
|
||||||
@@ -47,16 +50,41 @@ export default {
|
|||||||
phone: null,
|
phone: null,
|
||||||
code: null
|
code: null
|
||||||
},
|
},
|
||||||
countInfo: {}
|
countInfo: {
|
||||||
|
todayTotal: 0,
|
||||||
|
todaySuccess: 0,
|
||||||
|
todayUnSuccess:0,
|
||||||
|
monthTotal: 0,
|
||||||
|
monthSuccess: 0,
|
||||||
|
monthUnSuccess:0
|
||||||
|
},
|
||||||
|
coachId: undefined,
|
||||||
|
show:false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
/** 查询统计结果 */
|
/** 查询统计结果 */
|
||||||
getList() {
|
getCount() {
|
||||||
|
this.resetCount();
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
getCount(this.queryParams).then(resp => {
|
||||||
|
if(resp.code == 200 && resp.data ){
|
||||||
|
this.countInfo = resp.data;
|
||||||
|
this.coachId = resp.data.coachId;
|
||||||
|
this.show = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetCount(){
|
||||||
|
this.countInfo= {
|
||||||
|
todayTotal: 0,
|
||||||
|
todaySuccess: 0,
|
||||||
|
todayUnSuccess:0,
|
||||||
|
monthTotal: 0,
|
||||||
|
monthSuccess: 0,
|
||||||
|
monthUnSuccess:0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
|
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
|
||||||
<el-form-item label="所属驾校" prop="schoolId">
|
|
||||||
<el-select v-model="queryParams.schoolId" filterable placeholder="请选择" value-key="schoolId" clearable size="small">
|
|
||||||
<el-option v-for="(dict, index) in schoolOptions" :key="index" :label="dict.schoolName" :value="dict.schoolId" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="所属场地" prop="placeId">
|
<el-form-item label="所属场地" prop="placeId">
|
||||||
<el-select v-model="queryParams.placeId" filterable placeholder="请选择" clearable value-key="placeId" size="small">
|
<el-select v-model="queryParams.placeId" filterable placeholder="请选择" clearable value-key="placeId" size="small">
|
||||||
<el-option v-for="(dict, index) in placeOptions.filter(item => item.schoolId === queryParams.schoolId)" :key="index" :label="dict.name" :value="dict.placeId" />
|
<el-option v-for="(dict, index) in placeOptions" :key="index" :label="dict.name" :value="dict.placeId" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="接待人" prop="coachName">
|
<el-form-item label="接待人" prop="coachName">
|
||||||
@@ -32,10 +27,9 @@
|
|||||||
|
|
||||||
<el-table v-loading="loading" :data="coachList">
|
<el-table v-loading="loading" :data="coachList">
|
||||||
<el-table-column type="index" width="55" align="center" />
|
<el-table-column type="index" width="55" align="center" />
|
||||||
<el-table-column label="所属驾校" align="center" prop="schoolName" />
|
|
||||||
<el-table-column label="所属场地" align="center" prop="placeName" />
|
|
||||||
<el-table-column label="接待人" align="center" prop="coachName" />
|
<el-table-column label="接待人" align="center" prop="coachName" />
|
||||||
<el-table-column label="联系方式" align="center" prop="phone" />
|
<el-table-column label="联系方式" align="center" prop="phone" />
|
||||||
|
<el-table-column label="负责场地" align="center" prop="placeNames" />
|
||||||
<el-table-column label="微信openid" align="center" prop="openId" />
|
<el-table-column label="微信openid" align="center" prop="openId" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|||||||
@@ -79,13 +79,13 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<!-- <el-col :span="12">
|
||||||
<el-form-item label="所属区域" prop="areaList">
|
<el-form-item label="所属区域" prop="areaList">
|
||||||
<el-select v-model="form.areaList" placeholder="请选择" filterable multiple>
|
<el-select v-model="form.areaList" placeholder="请选择" filterable multiple>
|
||||||
<el-option label="区域1" :value="1" />
|
<el-option label="区域1" :value="1" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注">
|
<el-form-item label="备注">
|
||||||
<el-input v-model="form.remark" placeholder="请输入" type="textarea" :autosize="{ minRows: 3 }" />
|
<el-input v-model="form.remark" placeholder="请输入" type="textarea" :autosize="{ minRows: 3 }" />
|
||||||
|
|||||||
@@ -166,12 +166,14 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="24">
|
||||||
|
<el-form-item label="数据权限" prop="openId">
|
||||||
<el-radio-group v-model="form.dataScope">
|
<el-radio-group v-model="form.dataScope">
|
||||||
<el-radio :label="1">全部数据</el-radio>
|
<el-radio :label="1">全部数据</el-radio>
|
||||||
<el-radio :label="2">部门数据</el-radio>
|
<el-radio :label="2">部门数据</el-radio>
|
||||||
<el-radio :label="3">个人数据</el-radio>
|
<el-radio :label="3">个人数据</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
|||||||
43
src/views/zs/clue/components/FollowCountDialog.vue
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog title="跟进统计" :close-on-click-modal="false" append-to-body :visible.sync="visible" width="500px" min-height="500">
|
||||||
|
<div>
|
||||||
|
<el-form ref="dialogForm" :model="dialogForm" label-width="110px" >
|
||||||
|
<el-form-item label="今日跟进线索数" prop="name">
|
||||||
|
<span>{{dialogForm.total}}</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item v-for="item in dialogForm.intentionCountList" :label="item.label" >
|
||||||
|
<span>{{item.num}}</span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getFollowCount } from '@/api/zs/clue';
|
||||||
|
export default {
|
||||||
|
name: 'FollowCountDialog',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
publicList: [],
|
||||||
|
dialogForm:{}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init() {
|
||||||
|
this.visible = true;
|
||||||
|
this.getCount();
|
||||||
|
},
|
||||||
|
getCount() {
|
||||||
|
this.loading = true;
|
||||||
|
getFollowCount().then((resp) => {
|
||||||
|
if (resp && resp.code === 200) {
|
||||||
|
this.dialogForm = resp.data;
|
||||||
|
this.loading = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
<el-input v-model="dialogForm.phone" placeholder="请输入联系方式" />
|
<el-input v-model="dialogForm.phone" placeholder="请输入联系方式" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="场地" prop="placeId">
|
<el-form-item label="场地" prop="placeId">
|
||||||
<el-select v-model="dialogForm.placeId" filterable placeholder="请选择" clearable style="width: 100%;" @change="getCoaChes">
|
<el-select v-model="dialogForm.placeId" filterable placeholder="请选择" clearable style="width: 100%;" >
|
||||||
<el-option v-for="dict in placeOptions" :key="dict.placeId" :label="dict.name" :value="dict.placeId" />
|
<el-option v-for="dict in placeOptions" :key="dict.placeId" :label="dict.name" :value="dict.placeId" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -25,7 +25,6 @@
|
|||||||
<el-input v-model="dialogForm.remark" type="textarea" placeholder="请输入" />
|
<el-input v-model="dialogForm.remark" type="textarea" placeholder="请输入" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-form>
|
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button plain @click="(visible = false)">取消</el-button>
|
<el-button plain @click="(visible = false)">取消</el-button>
|
||||||
<el-button v-jclick type="primary" :disabled="!canSubmit" @click="dialogFormSubmit()">确定</el-button>
|
<el-button v-jclick type="primary" :disabled="!canSubmit" @click="dialogFormSubmit()">确定</el-button>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
<el-button v-hasPermi="['zs:clue:edit']" icon="el-icon-edit" type="primary" :disabled="multiple" @click="handleBatChUpdate()">批量修改</el-button>
|
<el-button v-hasPermi="['zs:clue:edit']" icon="el-icon-edit" type="primary" :disabled="multiple" @click="handleBatChUpdate()">批量修改</el-button>
|
||||||
<el-button type="primary" @click="handlePublicClue">公海</el-button>
|
<el-button type="primary" @click="handlePublicClue">公海</el-button>
|
||||||
<el-button type="primary" @click="handleSkill">关键话术</el-button>
|
<el-button type="primary" @click="handleSkill">关键话术</el-button>
|
||||||
|
<el-button type="primary" @click="handleFollowCount">跟进统计</el-button>
|
||||||
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<right-toolbar :show-search.sync="showSearch" :columns="columns" @queryTable="_getTableList" />
|
<right-toolbar :show-search.sync="showSearch" :columns="columns" @queryTable="_getTableList" />
|
||||||
@@ -70,6 +71,8 @@
|
|||||||
<SkillDialog ref="SkillDialog" />
|
<SkillDialog ref="SkillDialog" />
|
||||||
<!-- 邀约弹窗 -->
|
<!-- 邀约弹窗 -->
|
||||||
<InvitationFormDialog ref="InvitationDialog" @refreshDataList="_getTableList"/>
|
<InvitationFormDialog ref="InvitationDialog" @refreshDataList="_getTableList"/>
|
||||||
|
<!-- 跟进统计弹窗 -->
|
||||||
|
<FollowCountDialog ref="FollowCountDialog" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -85,6 +88,7 @@ import MemoFormDialog from './components/MemoFormDialog.vue';
|
|||||||
import DYClueFormDialog from './components/DYClueFormDialog.vue';
|
import DYClueFormDialog from './components/DYClueFormDialog.vue';
|
||||||
import SkillDialog from './components/SkillDialog.vue';
|
import SkillDialog from './components/SkillDialog.vue';
|
||||||
import InvitationFormDialog from './components/InvitationFormDialog.vue';
|
import InvitationFormDialog from './components/InvitationFormDialog.vue';
|
||||||
|
import FollowCountDialog from './components/FollowCountDialog.vue';
|
||||||
|
|
||||||
import { defaultColumns } from './columns.js';
|
import { defaultColumns } from './columns.js';
|
||||||
import { getClueList, deleteClue, getClueCountBadge, discardClue, getSign, getConsultRecord } from '@/api/zs/clue';
|
import { getClueList, deleteClue, getClueCountBadge, discardClue, getSign, getConsultRecord } from '@/api/zs/clue';
|
||||||
@@ -93,7 +97,7 @@ export default {
|
|||||||
name: 'Clue',
|
name: 'Clue',
|
||||||
components: {
|
components: {
|
||||||
SearchForm, BatchUpdateDialog, PublicDialog, UploadDialog, SignFormDialog, DistributeFormDialog, ZhuangDanDialog, MemoFormDialog,
|
SearchForm, BatchUpdateDialog, PublicDialog, UploadDialog, SignFormDialog, DistributeFormDialog, ZhuangDanDialog, MemoFormDialog,
|
||||||
DYClueFormDialog, SkillDialog,InvitationFormDialog
|
DYClueFormDialog, SkillDialog,InvitationFormDialog,FollowCountDialog
|
||||||
},
|
},
|
||||||
beforeRouteEnter (to, from, next) {
|
beforeRouteEnter (to, from, next) {
|
||||||
if (from.name == 'ClueForm') {
|
if (from.name == 'ClueForm') {
|
||||||
@@ -331,6 +335,13 @@ export default {
|
|||||||
this.$refs.InvitationDialog.init(item)
|
this.$refs.InvitationDialog.init(item)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
//跟进统计页面
|
||||||
|
handleFollowCount(){
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.FollowCountDialog.init()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -45,7 +45,9 @@ export default {
|
|||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: true,
|
loading: true,
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {
|
||||||
|
|
||||||
|
},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
},
|
},
|
||||||
|
|||||||