Commit 521493f2 authored by 黄奎's avatar 黄奎

页面Title修改

parent 2cce8bdf
......@@ -106,9 +106,6 @@
} from '../../api/scheduling/schedu'
import reserveForm from '../schedul/reserve-form'
export default {
meta: {
title: "班级列表"
},
props: {
data: {
type: Array,
......
......@@ -5,7 +5,6 @@
</div>
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ActivityName"
label="活动名称" @clear="resetSearch" maxlength="20" />
......@@ -20,35 +19,34 @@
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
v-model="msg.EduUserId" use-input clearable @filter="filterFn" :options="EmployeeList" emit-value map-options label="业务员">
<template v-slot:no-option>
v-model="msg.EduUserId" use-input clearable @filter="filterFn" :options="EmployeeList" emit-value
map-options label="业务员">
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
</q-select>
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.EnrollState" :options="EnrollStateOpt" emit-value map-options label="报名状态" />
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间">
 </el-date-picker>       
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间" />
</template>
</q-field>
</div>
<div class="col-3">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="活动开始时间"  end-placeholder="活动结束时间">
 </el-date-picker>       
 range-separator="至"  start-placeholder="活动开始时间"  end-placeholder="活动结束时间" />
</template>
</q-field>
</div>
......@@ -75,14 +73,6 @@
<span class="stics-name">取消人数</span>
<span>{{data.Statistics.CancelNum}}人</span>
</div>
<!-- <div class="col stics">
<span class="stics-name">提成金额</span>
<span>{{data.Statistics.CommissionMoney}}</span>
</div>
<div class="col stics">
<span class="stics-name">额外奖励</span>
<span>{{data.Statistics.ExtraRewardMoney}}</span>
</div> -->
</div>
<div class="row col" style="justify-content: flex-end">
<div class="row tis">
......@@ -103,7 +93,7 @@
</div>
</div>
<div class="page-content">
<activeOrder :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="1"
<activeOrder :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="1"
ref="orderL" :loading="loading">
</activeOrder>
<div class="row" style="justify-content: flex-end;padding: 5px 20px">
......@@ -112,21 +102,18 @@
</q-pagination>
</div>
</div>
</div>
</template>
<script>
import {
queryEmployee
} from '../../api/users/user' //获取业务员列表
// import myOrderForm from '../../components/sale/myOrder-form'
import activeOrder from '../../components/sale/activeOrder-item'
export default {
meta: {
title: "我的活动订单"
title: "活动报名统计"
},
components: {
// myOrderForm,
activeOrder
},
data() {
......@@ -148,7 +135,6 @@
EndTime: "", //活动结束时间
EnrollState: 3, //报名状态
LinkMan: "", //联系人
},
EnrollStateOpt: [ //报名状态列表
{
......@@ -169,8 +155,6 @@
//订单状态
OrderStateList: [],
pageCount: 1,
showone: false,
//权限判断
authObj: {
......@@ -188,15 +172,12 @@
this.msg.OrderId = this.$route.query.OrderId;
this.msg.Id = this.$route.query.OrderId;
}
this.getEmployee(0);
this.getList();
},
mounted() {
},
mounted() {},
methods: {
//筛选员工
//筛选员工
filterFn(val, update) {
update(() => {
if (val === '') {
......@@ -223,11 +204,8 @@
this.EmployeeList.unshift(obj)
this.AllemployeeList = JSON.parse(JSON.stringify(this.EmployeeList));
}
}).catch(() => {
})
}).catch(() => {})
},
//翻页
changePage(val) {
if (this.showone == true) {
......@@ -268,8 +246,8 @@
this.apipostDS("/api/Education/GetConsultOrderStatisticsPage", msg, (res) => {
this.loading = false
if (res.data.resultCode === 1) {
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
}
})
},
......@@ -279,7 +257,6 @@
},
}
}
</script>
<style>
li {
......@@ -338,5 +315,4 @@
font-weight: 600;
margin-right: 20px
}
</style>
</style>
\ No newline at end of file
This diff is collapsed.
......@@ -79,7 +79,7 @@
import customcategorylist from "../../components/sale/customcategorylist"
export default {
meta: {
title: "同行管理"
title: "我的同业"
},
components: {
b2bcustomlist,
......
This diff is collapsed.
This diff is collapsed.
......@@ -35,7 +35,7 @@
import courserefundForm from "../../components/course/courserefund-form"
export default {
meta: {
title: "退课协议管理",
title: "语培退学合同",
},
components: {
courserefundForm
......
......@@ -136,7 +136,6 @@
<!-- <q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="创建报价单" @click="createQuotation" /> -->
</div>
</template>
<template v-slot:body="props">
<q-tr :props="props">
<q-td auto-width>
......@@ -305,10 +304,9 @@
} from "../../api/course/index";
import quotationForm from '../../components/sale/quotation-form'
import { mapState } from "vuex";
export default {
meta: {
title: "课程预览"
title: "课程报价表"
},
components: {
quotationForm
......@@ -383,7 +381,6 @@
field: row => row.PreferentialList
},
// 12月15号新增参数
{
name: "B2CRatio",
label: "直客优惠比例",
......@@ -583,5 +580,4 @@
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
......@@ -72,8 +72,8 @@
</div>
<template v-if="morequery">
<div class="col-3">
<q-select @input="resetSearch" dense filled v-model="msg.StuStage" :options="customState" option-label="Name"
option-value="Id" emit-value map-options label="客户状态" clearable />
<q-select @input="resetSearch" dense filled v-model="msg.StuStage" :options="customState"
option-label="Name" option-value="Id" emit-value map-options label="客户状态" clearable />
</div>
<div class="col-3">
<q-select @input="resetSearch" dense filled option-value="Id" option-label="EmployeeName"
......@@ -94,8 +94,8 @@
</div>
<div>
<span @click="morequery=!morequery" style="display:inline-flex;align-items:center;cursor: pointer;">
<q-btn color="accent" class="q-mr-md" size="sm" icon="download" label="下载" v-if="isHaveDownLoad"
@click="downLoadStudentConsult" />
<q-btn color="accent" class="q-mr-md" size="sm" icon="download" label="下载" v-if="isHaveDownLoad"
@click="downLoadStudentConsult" />
<span style="margin-right:5px;color: #089bab;">高级查询</span>
<img v-show="morequery" class="roatImg" style="width:12px;height:12px" src="../../assets/images/more.png"
alt="">
......@@ -186,7 +186,7 @@
export default {
meta: {
title: "客咨询"
title: "客咨询"
},
props: {},
components: {
......
......@@ -328,7 +328,7 @@
export default {
meta: {
title: "日语培训"
title: "语培产品"
},
components: {
editorderForm
......
......@@ -132,7 +132,7 @@
import orderlist from '../../components/sale/orderlist'
export default {
meta: {
title: "我的订单"
title: "我的语培订单"
},
components: {
myOrderForm,
......
......@@ -121,7 +121,7 @@
} from "vuex";
export default {
meta: {
title: "客户管理"
title: "我的学员"
},
components: {
stulist
......
......@@ -10,8 +10,8 @@
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<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="msg.StartClassDate" value-format="yyyy-MM-dd" type="date" placeholder="开始时间"
size="small" style="width:47%;" @change="resetSearch" clear-icon="iconfont icon-guanbi">
</el-date-picker>
......@@ -32,17 +32,16 @@
class="col-6 q-pb-lg" emit-value map-options />
</div>
<div class="col-3">
<q-input @input="resetSearch" clearable filled v-model="msg.LessonName"
label="试听课程名称" @clear="resetSearch" maxlength="20" />
<q-input @input="resetSearch" clearable filled v-model="msg.LessonName" label="试听课程名称" @clear="resetSearch"
maxlength="20" />
</div>
</div>
</div>
<reservelist :data="dataList" :authObj="authObj" :loading="loading" @success="refreshPage"></reservelist>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount"
:input="true" @input="changePage" />
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount" :input="true"
@input="changePage" />
</div>
</template>
<script>
import {
GetReserveClassPage
......@@ -51,12 +50,10 @@
getTeacherDropDownList,
queryClassRoomList
} from "../../api/school/index";
import reservelist from '../../components/schedul/reservelist'
export default {
meta: {
title: "试听管理"
title: "试听班级管理"
},
components: {
reservelist
......@@ -71,16 +68,15 @@
EndClassDate: "", //结束时间
TeacherId: "", //教师编号
ClassRoomId: "", //教室编号
LessonName:'' //课程名称
LessonName: '' //课程名称
},
dataList: [],
loading: false,
PageCount: 0,
TeacherList: [],
ClassRoomList: [],
authObj: {
isShowEdit:true
isShowEdit: true
}
}
},
......@@ -107,9 +103,9 @@
},
//获取课程系列分页列表
getList() {
this.loading=true;
this.loading = true;
GetReserveClassPage(this.msg).then(res => {
this.loading=false;
this.loading = false;
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.PageCount = res.Data.PageCount;
......
......@@ -108,7 +108,7 @@
import orderlist from '../../components/sale/orderlist'
export default {
meta: {
title: "我的订单"
title: "我的留学就业订单"
},
components: {
myOrderForm,
......
......@@ -198,7 +198,7 @@
export default {
meta: {
title: "留学产品审核"
title: "留学就业产品"
},
components: {
quotationstudyForm,
......
......@@ -41,11 +41,13 @@
</el-select>
</div>
<div class="col-2 yuyuezhuangtai" style="width: 10%" v-if="msg.ClassType==3">
<el-select v-model="msg.AppointState" style="width: 100%;" placeholder="预约状态" size="small" @change="getTypeWay()">
<el-select v-model="msg.AppointState" style="width: 100%;" placeholder="预约状态" size="small"
@change="getTypeWay()">
<el-option :key="0" label="不限" :value="0"> </el-option>
<el-option :key="0" label="待确认" :value="1"> </el-option>
<el-option :key="1" label="已确认" :value="2"> </el-option>
<div slot="prefix" class="full-height flex items-center" style="color: #000;margin-right:61px; white-space:nowrap;">
<div slot="prefix" class="full-height flex items-center"
style="color: #000;margin-right:61px; white-space:nowrap;">
预约状态:
</div>
</el-select>
......@@ -82,7 +84,7 @@
export default {
meta: {
title: "教师课表",
title: "上课计划",
},
components: {
classmateForm,
......@@ -106,7 +108,7 @@
TeacherId: 0,
ClassRoomId: 0,
ClassType: 0,
AppointState:0,
AppointState: 0,
},
commonType: 1, //1日历模式 2列表模式
typeName: "列表模式",
......@@ -142,7 +144,7 @@
}
},
},
loading:false,
loading: false,
};
},
created() {
......@@ -231,9 +233,9 @@
this.tabMsg.EndTime = this.msg.EndTime;
this.tabMsg.ClassRoomId = this.msg.ClassRoomId;
this.tabMsg.ClassType = this.msg.ClassType;
this.loading=true;
this.loading = true;
GetClassPlanStatisticalPage(this.tabMsg).then((res) => {
this.loading=false;
this.loading = false;
if (res.Code == 1) {
this.tableData = res.Data.PageData;
this.PageCount = res.Data.PageCount;
......@@ -258,6 +260,7 @@
.xg .el-input--prefix .el-input__inner {
padding-left: 50px;
}
.yuyuezhuangtai .el-input--prefix .el-input__inner {
padding-left: 60px;
}
......
......@@ -64,7 +64,7 @@
import changeClassForm from "../../components/teacher/changeClassForm.vue";
export default {
meta: {
title: "我的课表",
title: "上课记录",
},
components: {
classmateForm,
......
......@@ -4,6 +4,7 @@
border: none;
background-color: transparent;
}
.studentManage .el-input__inner {
width: 100%;
border: none;
......@@ -20,7 +21,7 @@
</div>
<div class="col-3">
<q-select @input="getClass" standout="bg-primary text-white" option-value="CourseId" option-label="CourseName"
v-model="msg.CouseId" :options="CourseList" emit-value map-options label="课程" use-input
v-model="msg.CouseId" :options="CourseList" emit-value map-options label="课程" use-input
@filter="filterCourse">
<template v-slot:no-option>
<q-item>
......@@ -36,10 +37,9 @@
option-label="ClassName" v-model="msg.ClassId" :options="ClassList" emit-value map-options label="班级"
use-input @filter="filterClass" />
</div>
<div class="col-3 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<q-field filled>
<template v-slot:control>
<el-date-picker v-model="msg.StartDate" type="date" placeholder="开始日期" value-format="yyyy-MM-dd"
:picker-options="option" :clearable='false' @change="resetSearch">
</el-date-picker>    
......@@ -60,8 +60,8 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-tow-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns"
row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">学员管理</div>
<template v-slot:top>
<div class="col-2 q-table__title">学员出勤管理</div>
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" label="导出" @click="getexport()" />
......@@ -69,7 +69,7 @@
</template>
<template v-slot:body-cell-GuestName="props">
<q-td :props="props" style="padding-right:0px">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
{{ x.GuestName }}
</div>
......@@ -81,7 +81,7 @@
</template>
<template v-slot:body-cell-CurrentDeductionHours="props">
<q-td :props="props">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
{{ x.CurrentDeductionHours }}
</div>
......@@ -93,7 +93,7 @@
</template>
<template v-slot:body-cell-CheckStatus="props">
<q-td :props="props">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
<span v-if="x.CheckStatus == 0">正常</span>
<span v-if="x.CheckStatus == 1">缺席</span>
......@@ -111,7 +111,7 @@
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<div v-for="x in props.row.GuestList">
<div v-for="(x,index) in props.row.GuestList" :key="index">
<div class="border-bottom">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="EditCourse(x,props.row)" />
......@@ -143,7 +143,6 @@
</template>
<script>
import {
addClassCheck
} from '../../api/course/class';
import {
......@@ -167,15 +166,14 @@
} from '../../api/common/common';
export default {
meta: {
title: "学员管理"
title: "学员出勤管理"
},
components: {
selectTree,
},
data() {
return {
columns: [
{
columns: [{
name: "ClassName",
required: true,
label: "班级",
......@@ -456,7 +454,6 @@
},
}
};
</script>
<style scoped>
.border-bottom {
......@@ -464,9 +461,7 @@
padding-bottom: 5px;
margin-bottom: 5px;
}
</style>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
......@@ -12,8 +12,8 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-column-table sticky-right-column-table" separator="none" :data="dataList" :columns="columns"
row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">客户名单</div>
<template v-slot:top>
<div class="col-2 q-table__title">访客管理</div>
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="添加客户" @click="editVisitor(null)" />
......@@ -121,7 +121,7 @@
import appointForm from '../../components/schedul/appoint-form'
export default {
meta: {
title: "客户名单"
title: "访客管理"
},
components: {
schedulFanke,
......@@ -147,12 +147,6 @@
field: 'Name',
align: 'left'
},
// {
// name: 'Age',
// field: 'Age',
// label: '年龄',
// align: 'left',
// },
{
name: 'Tel',
field: 'Tel',
......@@ -289,14 +283,14 @@
//关闭访客弹窗
closeVisitorForm() {
this.isShowVisitor = false;
this.isShowVisitorCreate=false;
this.isShowVisitorCreate = false;
this.isShowDetail = false;
},
//刷新页面
refreshPage() {
this.isShowVisitor = false;
this.isShowDetail = false;
this.isShowVisitorCreate=false;
this.isShowVisitorCreate = false;
this.getList();
},
//打开约课
......@@ -309,7 +303,6 @@
}
}
}
</script>
<style scoped>
.border-bottom {
......@@ -317,9 +310,7 @@
padding-bottom: 5px;
margin-bottom: 5px;
}
</style>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
......@@ -54,7 +54,7 @@
import typeForm from '../../../components/system/type-form'
export default {
meta: {
title: "客户阶段管理"
title: "留学产品分类"
},
components: {
typeForm
......
......@@ -3,8 +3,8 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" clearable filled v-model="msg.Name" label="项目名称"
@clear="resetSearch" maxlength="20" />
<q-input @input="resetSearch" clearable filled v-model="msg.Name" label="项目名称" @clear="resetSearch"
maxlength="20" />
</div>
<div class="col-3">
<q-select class="q-pb-lg q-pr-lg" filled stack-label clearable option-value="Id" option-label="Name"
......@@ -41,10 +41,6 @@
<q-btn size="sm" color="accent" round dense @click="props.row.expand = !props.row.expand"
:icon="props.row.expand ? 'remove' : 'add'" />
</q-td>
<!-- <q-td key="ProductTypeName" :props="props" style="width:100px;">
{{props.row.ProductTypeName}}
</q-td> -->
<q-td key="Name" :props="props" style="width:100px;">
{{props.row.Name}}
</q-td>
......@@ -66,9 +62,6 @@
</a>
</div>
</q-td>
<!-- <q-td key="StudyCountryName" :props="props">
{{props.row.StudyCountryName}}
</q-td> -->
<q-td key="SchoolName" :props="props">
{{props.row.SchoolName}}
</q-td>
......@@ -290,7 +283,6 @@
queryCountryList
} from '../../api/common/common'
import studyAbroadForm from '../../components/studyAbroad/studyAbroad-form'
// import studyAbroadpriceForm from '../../components/studyAbroad/studyAbroadprice-form'
import studyAbroadpriceForm from '../../components/studyAbroad/newstudyAbroadprice-form'
import studyproauditinfoForm from '../../components/studyAbroad/studyproauditinfo-form'
import {
......@@ -298,7 +290,7 @@
} from "vuex";
export default {
meta: {
title: "就业管理"
title: "就业产品"
},
components: {
studyAbroadForm,
......@@ -326,12 +318,6 @@
field: 'Remark',
align: 'left'
},
// {
// name: 'ProductTypeName',
// label: '类型',
// field: 'ProductTypeName',
// align: 'left'
// },
{
name: 'Name',
label: '项目名称',
......
......@@ -9,6 +9,9 @@
<script>
import type from "../studyAbroad/common/type";
export default {
meta: {
title: "留学产品分类"
},
components: {
type
},
......
<template>
<div class="page-body">
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-column-table" separator="none" :data="dataList" :columns="columns"
row-key="name">
<template v-slot:top="props">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top>
<div class="col-2 q-table__title">客户需求</div>
<q-space />
<div class="page-option">
......@@ -31,7 +30,6 @@
</customneed-form>
</div>
</template>
<script>
import {
GetNeedsPage,
......@@ -40,7 +38,7 @@
import customneedForm from '../../components/system/customneed-form'
export default {
meta: {
title: "客户需求"
title: "客户需求管理"
},
components: {
customneedForm
......@@ -48,39 +46,38 @@
data() {
return {
columns: [{
name: 'Id',
label: 'Id',
field: row => row.Id,
align: 'left'
},{
name: 'Name',
label: '需求',
field: 'Name',
align: 'left'
},{
name: 'CreateByName',
label: '创建人',
align: 'left',
field: 'CreateByName'
},{
name: 'CreateTime',
label: '创建时间',
align: 'left',
field: 'CreateTime'
},{
name: 'Group_Id',
label: '操作',
field: 'Group_Id'
}
],
msg:{
pageIndex:1,
pageSize:12,
Name:"",
name: 'Id',
label: 'Id',
field: row => row.Id,
align: 'left'
}, {
name: 'Name',
label: '需求',
field: 'Name',
align: 'left'
}, {
name: 'CreateByName',
label: '创建人',
align: 'left',
field: 'CreateByName'
}, {
name: 'CreateTime',
label: '创建时间',
align: 'left',
field: 'CreateTime'
}, {
name: 'Group_Id',
label: '操作',
field: 'Group_Id'
}],
msg: {
pageIndex: 1,
pageSize: 12,
Name: "",
rowsPerPage: 12
},
dataList: [],
pageCount:0,
pageCount: 0,
loading: true,
isShowNeedForm: false,
customObj: {}
......@@ -127,7 +124,7 @@
this.loading = true;
GetNeedsPage(this.msg).then(res => {
this.loading = false;
if(res.Code==1){
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}
......@@ -136,10 +133,10 @@
closestageForm() {
this.isShowNeedForm = false
},
refreshPage(){
refreshPage() {
this.getList();
},
addObj(obj){
addObj(obj) {
if (obj) {
this.customObj = obj
} else {
......@@ -149,10 +146,7 @@
}
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
......@@ -4,7 +4,7 @@
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-column-table no-bottom-table" separator="none" :data="dataList" :columns="columns"
row-key="name">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">客户阶段</div>
<q-space />
<div class="page-option">
......@@ -27,7 +27,6 @@
</stage-form>
</div>
</template>
<script>
import {
GetStageList,
......
......@@ -8,23 +8,12 @@
</div>
<div class="q-mb-md row">
<div class="col">
<q-btn
outline
color="primary"
class="q-px-lg"
@click="outerVisible = true"
>选择部门/成员</q-btn
>
<q-btn outline color="primary" class="q-px-lg" @click="outerVisible = true">选择部门/成员</q-btn>
</div>
<div class="col">已选择:{{ chosenUser.length }}</div>
</div>
<div class="q-mb-xl">
<q-badge
color="primary"
class="q-mr-md"
v-for="(x, i) in chosenUser"
:key="i"
>
<q-badge color="primary" class="q-mr-md" v-for="(x, i) in chosenUser" :key="i">
{{ x.DeptName }}
</q-badge>
</div>
......@@ -36,127 +25,128 @@
<q-radio v-model="ruleType" val="1" label="随机分配" />
</div>
</div>
<q-btn
class="q-mt-xl q-px-lg"
unelevated
color="primary"
:loading="saving"
@click="saveHandler"
>立即保存</q-btn
>
<q-btn class="q-mt-xl q-px-lg" unelevated color="primary" :loading="saving" @click="saveHandler">立即保存</q-btn>
</q-card>
<choiceapproval
v-if="outerVisible"
@close="getclose()"
@success="getsuccess2"
:byval="chosenUser"
cptype="0"
></choiceapproval>
<choiceapproval v-if="outerVisible" @close="getclose()" @success="getsuccess2" :byval="chosenUser" cptype="0">
</choiceapproval>
</div>
</template>
<script>
import choiceapproval from "../../components/enterprise/choiceapproval";
import { getDictValueList } from "../../api/administration/administration";
import { saveDict } from "../../api/system/notiveSysSet";
export default {
components: { choiceapproval },
data() {
return {
chosenUser: [],
outerVisible: false,
ruleType: "0",
saving: false,
loading: true,
dictObjEmp: {},
dictObjRule: {}
};
},
created() {
this.init();
},
methods: {
getclose() {
// 企业关闭
this.ismember = false;
this.outerVisible = false;
import choiceapproval from "../../components/enterprise/choiceapproval";
import {
getDictValueList
} from "../../api/administration/administration";
import {
saveDict
} from "../../api/system/notiveSysSet";
export default {
meta: {
title: "语培客户分配规则"
},
getsuccess2(list, type) {
this.chosenUser = list;
this.outerVisible = false;
components: {
choiceapproval
},
init() {
getDictValueList({ Key: "PUSH_STU_UNION_EMP" }).then(res => {
if (res.Code == 1) {
this.dictObjEmp = res.Data[0];
if (res.Data[0].Content != "" && res.Data[0].Content != null) {
let tempVal = res.Data[0].Content.split(",");
let tempLabel = res.Data[0].Mask.split(",");
tempVal.forEach((x, i) => {
let temp = {
DeptId: x,
DeptName: tempLabel[i]
};
this.chosenUser.push(temp);
data() {
return {
chosenUser: [],
outerVisible: false,
ruleType: "0",
saving: false,
loading: true,
dictObjEmp: {},
dictObjRule: {}
};
},
created() {
this.init();
},
methods: {
getclose() {
// 企业关闭
this.ismember = false;
this.outerVisible = false;
},
getsuccess2(list, type) {
this.chosenUser = list;
this.outerVisible = false;
},
init() {
getDictValueList({
Key: "PUSH_STU_UNION_EMP"
}).then(res => {
if (res.Code == 1) {
this.dictObjEmp = res.Data[0];
if (res.Data[0].Content != "" && res.Data[0].Content != null) {
let tempVal = res.Data[0].Content.split(",");
let tempLabel = res.Data[0].Mask.split(",");
tempVal.forEach((x, i) => {
let temp = {
DeptId: x,
DeptName: tempLabel[i]
};
this.chosenUser.push(temp);
});
}
getDictValueList({
Key: "PUSH_STU_RULETYPE"
}).then(r => {
this.dictObjRule = r.Data[0];
if (r.Code == 1) {
if (r.Data[0].Content != "" && res.Data[0].Content != null) {
this.ruleType = r.Data[0].Content;
}
}
this.loading = false;
});
}
getDictValueList({ Key: "PUSH_STU_RULETYPE" }).then(r => {
this.dictObjRule = r.Data[0];
});
},
saveHandler() {
if (this.chosenUser.length > 0) {
this.saving = true;
let contentTemp = "";
let maskTemp = "";
this.chosenUser.forEach(x => {
contentTemp += "," + x.DeptId;
maskTemp += "," + x.DeptName;
});
this.dictObjEmp.Content = contentTemp.substring(1);
this.dictObjEmp.Mask = maskTemp.substring(1);
saveDict(this.dictObjEmp).then(r => {
if (r.Code == 1) {
if (r.Data[0].Content != "" && res.Data[0].Content != null) {
this.ruleType = r.Data[0].Content;
}
setTimeout(() => {
this.dictObjRule.Content = this.ruleType;
saveDict(this.dictObjRule).then(res => {
if (r.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "数据保存成功!",
position: "top"
});
}
this.saving = false;
});
}, 1000);
} else {
this.saving = false;
}
this.loading = false;
});
} else {
this.$q.notify({
icon: "",
color: "negative",
timeout: 2000,
message: "请选择适用的部门成员",
position: "top"
});
}
});
},
saveHandler() {
if (this.chosenUser.length > 0) {
this.saving = true;
let contentTemp = "";
let maskTemp = "";
this.chosenUser.forEach(x => {
contentTemp += "," + x.DeptId;
maskTemp += "," + x.DeptName;
});
this.dictObjEmp.Content = contentTemp.substring(1);
this.dictObjEmp.Mask = maskTemp.substring(1);
saveDict(this.dictObjEmp).then(r => {
if (r.Code == 1) {
setTimeout(() => {
this.dictObjRule.Content = this.ruleType;
saveDict(this.dictObjRule).then(res => {
if (r.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "数据保存成功!",
position: "top"
});
}
this.saving = false;
});
}, 1000);
} else {
this.saving = false;
}
});
} else {
this.$q.notify({
icon: "",
color: "negative",
timeout: 2000,
message: "请选择适用的部门成员",
position: "top"
});
}
}
}
};
};
</script>
<style></style>
<style></style>
\ No newline at end of file
......@@ -35,7 +35,6 @@
</flow-form>
</div>
</template>
<script>
import {
GetStudentAdvisorConfigPage,
......@@ -44,7 +43,7 @@
import flowForm from '../../components/system/flow-form'
export default {
meta: {
title: "客户阶段管理"
title: "跟进状态管理"
},
components: {
flowForm
......@@ -52,38 +51,39 @@
data() {
return {
columns: [{
name: 'Name',
label: '名称',
field: 'Name',
align: 'left'
}, {
name: 'Num',
label: '排序',
field: 'Num',
align: 'left'
}, {
name: 'Rate',
label: '胜率',
field: 'Rate',
align: 'left'
},
{
name: 'CreateByName',
label: '创建人',
field: 'CreateByName',
align: 'left'
},
{
name: 'CreateTimeStr',
label: '创建时间',
field: 'CreateTimeStr',
align: 'left'
},
{
name: 'Id',
label: '操作',
field: 'Id'
}],
name: 'Name',
label: '名称',
field: 'Name',
align: 'left'
}, {
name: 'Num',
label: '排序',
field: 'Num',
align: 'left'
}, {
name: 'Rate',
label: '胜率',
field: 'Rate',
align: 'left'
},
{
name: 'CreateByName',
label: '创建人',
field: 'CreateByName',
align: 'left'
},
{
name: 'CreateTimeStr',
label: '创建时间',
field: 'CreateTimeStr',
align: 'left'
},
{
name: 'Id',
label: '操作',
field: 'Id'
}
],
dataList: [],
loading: true,
isShowFlowForm: false,
......
<template>
<div class="page-body">
<q-tabs
v-model="tabCheck"
narrow-indicator
dense
align="left"
class="text-primary q-mb-sm"
>
<q-tabs v-model="tabCheck" narrow-indicator dense align="left" class="text-primary q-mb-sm">
<q-tab :ripple="false" :name="1" label="客户阶段" />
<q-tab :ripple="false" :name="2" label="客户类型" />
<q-tab :ripple="false" :name="3" label="学习目的" />
......@@ -29,31 +23,34 @@
</div>
</template>
<script>
import stage from "./stage";
import cusType from "./customType";
import aim from "./studyAim";
import channel from "./stuReceiveChannel";
import customneed from "./customneed";
import stuDistributionRule from "./stuDistributionRule";
import stuTarget from "./stuTarget";
import stuFlow from "./stuFlow";
import stuAbroad from "./stuAbroad";
export default {
components: {
stage,
cusType,
aim,
channel,
customneed,
stuDistributionRule,
stuTarget,
stuFlow,
stuAbroad
},
data() {
return {
tabCheck: 1
};
}
};
</script>
import stage from "./stage";
import cusType from "./customType";
import aim from "./studyAim";
import channel from "./stuReceiveChannel";
import customneed from "./customneed";
import stuDistributionRule from "./stuDistributionRule";
import stuTarget from "./stuTarget";
import stuFlow from "./stuFlow";
import stuAbroad from "./stuAbroad";
export default {
meta: {
title: "留学客户分配规则"
},
components: {
stage,
cusType,
aim,
channel,
customneed,
stuDistributionRule,
stuTarget,
stuFlow,
stuAbroad
},
data() {
return {
tabCheck: 1
};
}
};
</script>
\ No newline at end of file
......@@ -5,7 +5,7 @@
</div>
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">收客渠道</div>
<q-space />
<div class="page-option">
......@@ -14,7 +14,8 @@
</template>
<template v-slot:body-cell-StaticTypeList="props">
<q-td :props="props">
<q-chip v-for="(item,index) in props.row.StaticTypeList" color="primary" text-color="white" size="sm" :key="index">
<q-chip v-for="(item,index) in props.row.StaticTypeList" color="primary" text-color="white" size="sm"
:key="index">
<span v-if="item==1">普通员工统计</span>
<span v-if="item==2">主管统计</span>
</q-chip>
......@@ -46,6 +47,9 @@
} from "../../api/system/index";
import stuReceiveChannelForm from "../../components/system/stuReceiveChannel-form";
export default {
meta: {
title: "收客渠道管理"
},
components: {
stuReceiveChannelForm
},
......@@ -156,5 +160,4 @@
this.getList();
}
};
</script>
</script>
\ No newline at end of file
<template>
<div>
<div class="row q-my-sm">
<q-input filled v-model="msg.Name" dense label="学习目的" class="col-3" @input="refreshPage"/>
<q-input filled v-model="msg.Name" dense label="学习目的" class="col-3" @input="refreshPage" />
</div>
<q-table
:pagination="msg"
:loading="loading"
no-data-label="暂无相关数据"
flat
class="sticky-column-table"
separator="none"
:data="dataList"
:columns="columns"
row-key="name"
>
<template v-slot:top="props">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top>
<div class="col-2 q-table__title">学习目的</div>
<q-space />
<div class="page-option">
<q-btn
color="accent"
size="sm"
class="q-mr-md"
icon="add"
label="新增"
@click="showForm(null)"
/>
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增" @click="showForm(null)" />
</div>
</template>
<template v-slot:body-cell-Group_Id="props">
<q-td :props="props">
<div>
<q-btn
flat
size="xs"
icon="edit"
color="accent"
style="font-weight:400"
label="编辑"
@click="showForm(props.row)"
/>
<q-btn
flat
size="xs"
icon="delete"
color="negative"
class="q-mr-xs"
label="删除"
@click="del(props.row.Id)"
/>
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="showForm(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除"
@click="del(props.row.Id)" />
</div>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination
class="full-width justify-end"
v-model="msg.pageIndex"
:max="pageCount"
input
color="primary"
@input="changePage"
/>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" :max="pageCount" input color="primary"
@input="changePage" />
</template>
</q-table>
<studyAimForm
v-if="showStudyAimForm"
@success="refreshPage"
@close="closeForm"
:row="row"
></studyAimForm>
<studyAimForm v-if="showStudyAimForm" @success="refreshPage" @close="closeForm" :row="row"></studyAimForm>
</div>
</template>
<script>
import {
GetLearningGoalsPage,
RemoveLearningGoals
} from "../../api/system/index";
import studyAimForm from "../../components/system/studyAim-form";
export default {
components: {
studyAimForm
},
data() {
return {
showStudyAimForm: false,
columns: [
{
name: "Id",
label: "Id",
field: "Id",
align: "left"
},
{
name: "Name",
label: "学习目的",
align: "left",
field: "Name"
},
{
name: "CreateByName",
label: "创建人",
align: "left",
field: "CreateByName"
},
{
name: "CreateTime",
label: "创建时间",
align: "left",
field: "CreateTime"
},
{
name: "Group_Id",
label: "操作",
field: "Group_Id"
}
],
msg: {
rowsPerPage: 12,
pageIndex: 1,
pageSize: 12,
Name: ""
},
dataList: [],
pageCount: 0,
loading: false,
isShowStageForm: false,
row: {}
};
},
methods: {
getList() {
GetLearningGoalsPage(this.msg).then(res => {
this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
});
import {
GetLearningGoalsPage,
RemoveLearningGoals
} from "../../api/system/index";
import studyAimForm from "../../components/system/studyAim-form";
export default {
meta: {
title: "学习目的管理"
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList();
components: {
studyAimForm
},
refreshPage() {
this.msg.pageIndex = 1;
this.getList();
},
showForm(row) {
this.showStudyAimForm = true;
this.row = row;
},
closeForm() {
this.showStudyAimForm = false;
},
del(Id) {
let delMsg = {
Id: Id
data() {
return {
showStudyAimForm: false,
columns: [{
name: "Id",
label: "Id",
field: "Id",
align: "left"
},
{
name: "Name",
label: "学习目的",
align: "left",
field: "Name"
},
{
name: "CreateByName",
label: "创建人",
align: "left",
field: "CreateByName"
},
{
name: "CreateTime",
label: "创建时间",
align: "left",
field: "CreateTime"
},
{
name: "Group_Id",
label: "操作",
field: "Group_Id"
}
],
msg: {
rowsPerPage: 12,
pageIndex: 1,
pageSize: 12,
Name: ""
},
dataList: [],
pageCount: 0,
loading: false,
isShowStageForm: false,
row: {}
};
this.$q
.dialog({
title: "提示信息",
message: "是否确认删除?",
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消"
})
.onOk(() => {
RemoveLearningGoals(delMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "删除成功!",
position: "top"
});
this.getList();
}
});
},
methods: {
getList() {
GetLearningGoalsPage(this.msg).then(res => {
this.dataList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
});
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
refreshPage() {
this.msg.pageIndex = 1;
this.getList();
},
showForm(row) {
this.showStudyAimForm = true;
this.row = row;
},
closeForm() {
this.showStudyAimForm = false;
},
del(Id) {
let delMsg = {
Id: Id
};
this.$q
.dialog({
title: "提示信息",
message: "是否确认删除?",
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消"
})
.onOk(() => {
RemoveLearningGoals(delMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "删除成功!",
position: "top"
});
this.getList();
}
});
});
}
},
created() {
this.getList();
}
},
created() {
this.getList();
}
};
</script>
};
</script>
\ No newline at end of file
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