Commit 6785b234 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/luochao/confucius into master

parents 1812c884 8bc5155d
......@@ -28,6 +28,7 @@
height: 40px;
background-color: rgb(238, 238, 239);
}
.stulistNumber {
display: inline-block;
width: 25px;
......@@ -39,6 +40,7 @@
cursor: pointer;
color: #2961FE;
}
.OCourseTable {
width: 400px;
text-align: center;
......@@ -52,7 +54,6 @@
height: 40px;
background-color: rgb(238, 238, 239);
}
</style>
<template>
<div class="stuList">
......@@ -71,8 +72,8 @@
<q-btn color="accent" class="q-mr-md" size="sm" icon="swap_horiz" label="转留学"
:disable="selection.length === 0" @click="transferAbroad" />
<q-btn color="accent" class="q-mr-md" size="sm" icon="add" label="新增学员" @click="EditStudent(null)" />
<q-btn v-if="authObj&&authObj.isShowDownload" color="accent" class="q-mr-md" size="sm" icon="download" label="下载"
@click="downloadStudent" />
<q-btn v-if="authObj&&authObj.isShowDownload" color="accent" class="q-mr-md" size="sm" icon="download"
label="下载" @click="downloadStudent" />
</div>
<div class="page-option" v-if="pushMode">
<q-btn color="accent" unelevated class="q-mr-md" size="sm" icon="swap_horiz" label="立即推送" :loading="pushing"
......@@ -131,7 +132,8 @@
<th>跟进比例</th>
<th>跟进备注</th>
</tr>
<tr v-for="(sItem,sIndex) in props.row.AdvisorList" style="border-bottom:1px dashed #d1d1d1;" :key="sIndex">
<tr v-for="(sItem,sIndex) in props.row.AdvisorList" style="border-bottom:1px dashed #d1d1d1;"
:key="sIndex">
<td>{{sItem.AdvisorStatusName}}</td>
<td>{{sItem.AdvisorDate}}</td>
<td>{{sItem.AdvisorRate}}</td>
......@@ -154,7 +156,8 @@
<template v-slot:body-cell-OrderCount="props">
<q-td :props="props" v-if="props.row.OrderCount == 0" class="text-grey-4">未报名</q-td>
<q-td :props="props" v-if="props.row.OrderCount > 0" class="bg-negative text-white" style="cursor:pointer;text-decoration:underline;" @click="getStuRight(props.row,3)">
<q-td :props="props" v-if="props.row.OrderCount > 0" class="bg-negative text-white"
style="cursor:pointer;text-decoration:underline;" @click="getStuRight(props.row,3)">
已报名{{ props.row.OrderCount }}</q-td>
</template>
<template v-slot:body-cell-TeacherManager="props">
......@@ -199,8 +202,9 @@
</q-table>
<student-form v-if="isShowStuForm" :save-obj="stuOption" @close="closeStuForm" @success="refreshStuList">
</student-form>
<studentRight-form v-if="isShowStuRight" :isJudgeTrans="isJudgeTrans" :BelongType="BelongType" :checkType="checkType" :save-obj="stuOption"
@close="closeStuForm" @success="refreshStuList" @reload="referDataHandler">
<studentRight-form v-if="isShowStuRight" :isJudgeTrans="isJudgeTrans" :BelongType="BelongType"
:checkType="checkType" :save-obj="stuOption" @close="closeStuForm" @success="refreshStuList"
@reload="referDataHandler">
</studentRight-form>
<studentAdd-form v-if="isShowAdd" :save-obj="stuOption" @close="closeStuForm" @success="refreshStuList">
</studentAdd-form>
......@@ -433,8 +437,9 @@
pushMode: false,
pushing: false,
assistListFormat: [],
checkType:1,
isShowAbroad: false
checkType: 1,
isShowAbroad: false,
userInfo: {}, //当前登录人员
};
},
watch: {
......@@ -447,12 +452,13 @@
}
},
created() {
this.userInfo = this.getLocalStorage();
this.formatAssistList();
this.initAuth();
},
mounted() {},
computed: {
...mapGetters(["userInfo", "logo", "name"])
...mapGetters(["logo", "name"])
},
methods: {
//下载文件
......@@ -605,11 +611,11 @@
this.isShowAbroad = false;
},
//点击学生姓名弹出
getStuRight(obj,type) {
getStuRight(obj, type) {
if (obj) {
this.stuOption = obj;
this.BelongType = obj.BelongType;
this.checkType=type;
this.checkType = type;
} else {
this.stuOption = null;
}
......@@ -632,7 +638,7 @@
this.isShowTransfer = true;
},
//转留学
transferAbroad(){
transferAbroad() {
this.isShowAbroad = true;
},
getCurseManager(row) {
......
......@@ -152,6 +152,11 @@
</template>
<template v-if="item.label=='合计回单'||item.label=='合计到访'||item.label=='合计转化率'">
<el-table-column :prop="item.prop" :label="item.label" fixed="right" sortable width="115" :key="index">
<template slot-scope="scope">
<a @click="showDetail(scope.row)" style="color:#67C23A;cursor:pointer;text-decoration:underline;">
{{scope.row[item.prop]}}
</a>
</template>
</el-table-column>
</template>
<template v-if="item.SubList&&item.SubList.length>0">
......@@ -213,6 +218,7 @@
};
},
created() {
this.getEmployeeList();
this.CurrentUserInfo = this.getLocalStorage();
if (this.CurrentUserInfo && this.CurrentUserInfo.ActionMenuList && this.CurrentUserInfo.ActionMenuList.length >
0) {
......@@ -248,13 +254,30 @@
this.msg.endTime = year + strLink + month + strLink + day;
this.dateList.push(year + strLink + month + strLink + '01');
this.dateList.push(year + strLink + month + strLink + day);
this.getEmployeeList();
this.getData();
setTimeout(() => {
this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 60;
}, 200)
},
methods: {
//跳转到客户列表
showDetail(row) {
var url = "/sale/mystu";
if (this.CurrentUserInfo && (this.CurrentUserInfo.IsMarket == 1 || this.CurrentUserInfo.IsCourseConsultant ==
1)) {
url = "/sale/mystu";
} else {
url = '/school/student';
}
this.OpenNewUrl(url, {
ChannelId: 0,
startTime: this.msg.startTime,
endTime: this.msg.endTime,
createBy: row.Id,
})
},
//下载渠道总表
downloadMarketChannelStudentStatic() {
var msg = JSON.parse(JSON.stringify(this.msg));
this.loading = true;
......
......@@ -17,8 +17,8 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-4 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="dateList" type="daterange" style="width:100%" :picker-options="pickerOptions0"
align="right" value-format="yyyy-MM-dd" @change="getData" unlink-panels range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期">
......@@ -27,8 +27,8 @@
</q-field>
</div>
<div class="col-3 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-select class="topselect" v-model="msg.empList" @change="getData" style="width:100%;" collapse-tags
multiple filterable placeholder="请选择">
<el-option v-for="item in EmployeeList" :key="item.Id" :label="item.EmployeeName" :value="item.Id">
......@@ -56,10 +56,26 @@
<el-table-column prop="ChannelName" label="渠道名">
</el-table-column>
<el-table-column prop="ClueCount" label="回单" sortable>
<template slot-scope="scope">
<a @click="showDetail(scope.row)" style="color:#67C23A;cursor:pointer;text-decoration:underline;">
{{scope.row.ClueCount}}
</a>
</template>
</el-table-column>
<el-table-column prop="VisitCount" label="到访" sortable>
<template slot-scope="scope">
<a @click="showDetail(scope.row)" style="color:#67C23A;cursor:pointer;text-decoration:underline;">
{{scope.row.VisitCount}}
</a>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="OrderCount" label="合同数" sortable>
<template slot-scope="scope">
<a @click="showDetail(scope.row)" style="color:#67C23A;cursor:pointer;text-decoration:underline;">
{{scope.row.VisitCount}}
</a>
</template>
</el-table-column>
<el-table-column prop="OrderIncome" label="新业绩金额" sortable>
</el-table-column>
......@@ -112,6 +128,7 @@
};
},
created() {
this.getEmployeeList();
this.CurrentUserInfo = this.getLocalStorage();
if (this.CurrentUserInfo && this.CurrentUserInfo.ActionMenuList && this.CurrentUserInfo.ActionMenuList.length >
0) {
......@@ -138,13 +155,46 @@
this.msg.endTime = year + strLink + month + strLink + day;
this.dateList.push(year + strLink + month + strLink + '01');
this.dateList.push(year + strLink + month + strLink + day);
this.getEmployeeList();
this.getData();
setTimeout(() => {
this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 90;
}, 100)
},
methods: {
//跳转到列表
showDetail(row) {
var url = "/sale/mystu";
if (this.CurrentUserInfo && (this.CurrentUserInfo.IsMarket == 1 || this.CurrentUserInfo.IsCourseConsultant ==
1)) {
url = "/sale/mystu";
} else {
url = '/school/student';
}
var CreateType = 2;
//同行渠道
if (this.msg.top_Check == 1) {
CreateType = 2;
}
//内部渠道
if (this.msg.top_Check == 2) {
CreateType = 3;
}
//学校渠道
if (this.msg.top_Check == 3) {
CreateType = 2;
}
//转介绍渠道
if (this.msg.top_Check == 4) {
CreateType = 4;
}
this.OpenNewUrl(url, {
CreateType: CreateType,
StuSourceId: row.ChannelId,
startTime: this.msg.startTime,
endTime: this.msg.endTime,
})
},
//下载同行渠道
downloadMarketCreateType() {
var msg = JSON.parse(JSON.stringify(this.msg));
var fileName = "同行渠道.xls";
......
......@@ -61,6 +61,11 @@
v-model="msg.AdvisorStatus" ref="AdvisorStatus" :options="consultList" clearable label="当前状态"
class="col-6 q-pb-lg" emit-value map-options />
</div>
<div class="col-3">
<q-select filled stack-label option-value="Id" @input="resetSearch" dense option-label="Name"
v-model="msg.StuChannel" ref="AdvisorStatus" :options="channelList" clearable label="渠道"
class="col-6 q-pb-lg" emit-value map-options />
</div>
</div>
</div>
<div class="page-content">
......@@ -94,6 +99,9 @@
import {
GetStudentAdvisorConfigList
} from "../../api/customerstudent/customerstudent";
import {
GetStuChannelList
} from "../../api/sale/sale";
import stulist from '../../components/school/student/stulist'
import {
mapGetters
......@@ -126,7 +134,10 @@
StuType: '',
QStudentStatus: 1, //客户状态 1有效 2无效
AdvisorStatus: '', //当前状态
StuChannel:"",
StuChannel: "",
CreateIds: [],
CreateType: "", //来源类型
StuSourceId: "", //来源人编号
},
dateArray: [], //日期数组
pageCount: 0,
......@@ -138,7 +149,9 @@
AuthObj: {
isShowDownload: true,
},
consultList: []
consultList: [],
//渠道列表
channelList: [],
}
},
computed: {
......@@ -148,6 +161,7 @@
this.getEmployeeList();
this.getStuStageList();
this.getCustomTypeList();
this.queryChannelList();
},
mounted() {
this.currentUrl = this.$route.path;
......@@ -162,10 +176,27 @@
if (this.$route.query.ChannelId) {
this.msg.StuChannel = this.$route.query.ChannelId;
}
if (this.$route.query.createBy) {
this.msg.CreateBy = Number(this.$route.query.createBy);
}
if (this.$route.query.CreateType) {
this.msg.CreateType = Number(this.$route.query.CreateType);
}
if (this.$route.query.StuSourceId) {
this.msg.StuSourceId = Number(this.$route.query.StuSourceId);
}
this.getStatusList();
this.getStudent()
},
methods: {
//获取渠道列表
queryChannelList() {
GetStuChannelList({}).then(res => {
if (res.Code == 1) {
this.channelList = res.Data;
}
})
},
//获取跟进状态下拉
getStatusList() {
let msg = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment