Commit 4cf4355a authored by 罗超's avatar 罗超
parents 3d713c9f 642688ac
......@@ -34,6 +34,18 @@ export function setClassOrder(data) {
})
}
/**
* 新增 多个约课订单
*
*/
export function SetClassOrderBatch(data) {
return request({
url: '/order/SetClassOrderBatch',
method: 'post',
data
})
}
/**
* 销售 我的订单
*
......
......@@ -566,6 +566,18 @@ export function SetSynvEduEmployee(data) {
})
}
/**
* 离职人员交接订单
*
*/
export function SetUserLeaveOrderCareOf(data) {
return request({
url: '/user/SetUserLeaveOrderCareOf',
method: 'post',
data
})
}
/**
* 获取客户添加方式枚举
*/
......
......@@ -8,7 +8,8 @@
padding: 5px 10px;
align-items: center;
}
.disableStatus{
.disableStatus {
opacity: 0.3 !important;
cursor: auto;
}
......@@ -33,9 +34,10 @@
v-model="OrderMsg.LinkTel" class="col-12" ref="LinkTel" label="联系电话" :rules="[val => !!val || '请填写联系电话']" />
<q-select standout="bg-primary text-white" v-model="OrderMsg.Sex" class="col-12 q-mb-lg" :options="sexList"
:disable="isdisable" emit-value map-options label="性别" option-value="Id" option-label="name" />
<!-- <q-input filled stack-label maxlength="30" :dense="false" type="number"
v-model="OrderMsg.PeopleNum" class="col-12" :min="1" label="人数"
:rules="[val => !!val || '请填写人数']" /> -->
<q-select standout="bg-primary text-white" v-model="OrderMsg.TeacherId" class="col-12 q-mb-lg"
:options="TeacherList" clearable emit-value map-options label="教师" option-value="TId"
option-label="TeacherName" />
<q-input filled stack-label :dense="false" v-model="OrderMsg.Remark" style="margin-top: 20px" type="textarea"
class="col-12 q-mb-lg" ref="Remark" label="备注" />
......@@ -47,8 +49,9 @@
</div>
<div style="margin:30px 10px 70px 0;">
<q-btn class="q-mr-md" label="取消" @click="closeEditOrder" />
<q-btn color="accent" class="q-mr-md" label="保存" v-if="saveObj.PaymentWay!==1&&saveObj.Status!==1" @click="saveOrderInfo()" />
<q-btn color="accent disableStatus" class="q-mr-md"v-else label="保存" />
<q-btn color="accent" class="q-mr-md" label="保存" v-if="saveObj.PaymentWay!==1&&saveObj.Status!==1"
@click="saveOrderInfo()" />
<q-btn color="accent disableStatus" class="q-mr-md" v-else label="保存" />
</div>
</div>
</q-card>
......@@ -59,6 +62,9 @@
</q-dialog>
</template>
<script>
import {
getTeacherDropDownList
} from '../../api/school/index'
export default {
props: {
saveObj: {
......@@ -88,6 +94,7 @@
PayWay: 0, //付款方式
TenantId: 0, //商户id
MallBaseId: 0, //小程序id
TeacherId: "", //教师编号
},
stuList: [], //学员列表
loginId: -1, //登录人id
......@@ -100,9 +107,13 @@
name: "女"
}
],
TeacherList: [], //教师列表
isdisable: false,
}
},
created() {
this.getTeacherList();
},
mounted() {
let data = JSON.parse(localStorage.getItem("loginUserInfo")).data
this.loginId = data.Id
......@@ -121,15 +132,23 @@
}
this.OrderMsg.LinkMan = this.saveObj.LinkMan
this.OrderMsg.LinkTel = this.saveObj.LinkTel
this.OrderMsg.Remark = this.saveObj.Remark
this.OrderMsg.Remark = this.saveObj.Remark;
this.OrderMsg.TeacherId = this.saveObj.TeacherId;
}
this.getStu();
},
watch: {
},
methods: {
//获取教师列表
getTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
}
})
},
//关闭弹窗
closeEditOrder() {
this.IsShowEditOrder = false;
......@@ -138,14 +157,10 @@
saveOrderInfo() {
this.$refs.LinkMan.validate();
this.$refs.LinkTel.validate();
// this.$refs.Remark.validate();
if (!this.$refs.LinkMan.hasError &&
!this.$refs.LinkTel.hasError
) {
// if(this.saveObj.LnsideLimit===1&&!this.OrderMsg.EduStudentId){
// this.Error("请选择学员");
// return
// }
if (this.OrderMsg.EduStudentId === null || !this.OrderMsg.EduStudentId) {
this.OrderMsg.EduStudentId = 0
}
......@@ -167,11 +182,11 @@
}, (res) => {
if (res.data.resultCode === 1) {
let data = res.data.data
this.stuList=data.map(item=>{
if(item.StuSex===0){
item.StuSex=1
}else if(item.StuSex===1){
item.StuSex=2
this.stuList = data.map(item => {
if (item.StuSex === 0) {
item.StuSex = 1
} else if (item.StuSex === 1) {
item.StuSex = 2
}
return item
})
......@@ -197,5 +212,4 @@
}
}
}
</script>
</script>
\ No newline at end of file
......@@ -67,6 +67,9 @@
<div>{{ item.StartTime }}</div>
<div>活动结束时间:</div>
<div>{{ item.EndTime }}</div>
<div v-if="item.TeacherName" style="font-weight: bold; color: #2961fe;">
协助老师:{{ item.TeacherName }}
</div>
<div v-if="item.IsCommission == 2" style="color: #f00; cursor: pointer; text-decoration: underline"
@click="gourlactive(item)">
提成金额:{{ item.CommissionPrice }}
......
......@@ -65,7 +65,7 @@
:max="coursePageCount" :input="true" @input="changePage" />
</template>
<template v-if="mode == 2">
<yueke @select="selectCourse" :select="defaultCourse"></yueke>
<yueke @select="selectCourse" :select="selectedCourseList"></yueke>
</template>
<template v-if="mode == 3">
<vipcourse ref="vipCourse" @success="$emit('close')" :stuData="stuData"></vipcourse>
......@@ -73,7 +73,7 @@
</q-step>
<q-step :name="3" title="确认" icon="settings" :done="step > 3">
<orderForm ref="orderForm" :mode="mode" :schoolList="schoolList" :save-obj="saveObj" :stuData="stuData"
:modityOrderType="1" :defaultCourse="defaultCourse" @success="$emit('close')" @cancelloading="cancelloading"></orderForm>
:modityOrderType="1" :selectedCourseList="selectedCourseList" @success="$emit('close')" @cancelloading="cancelloading"></orderForm>
</q-step>
</q-stepper>
</q-card-section>
......@@ -188,7 +188,8 @@
myClassList: [],
allClassList: [],
loading1: false, //防止多次点击
mode: 1
mode: 1,
selectedCourseList:[],//多选课程
};
},
mounted() {
......@@ -284,6 +285,7 @@
},
// 选择班级
selectClass(val) {
this.selectedCourseList = []
if (val.length > 0) {
this.saveObj = val[0];
this.saveObj.Unit_Price = this.saveObj.SellPrice;
......@@ -296,14 +298,15 @@
},
// 选择课程
selectCourse(val) {
this.selectedCourseList = []
if (val.length > 0) {
this.saveObj = val[0];
this.saveObj.Unit_Price = this.saveObj.SellPrice;
this.defaultCourse = val;
this.selectedCourseList = val;
} else {
this.saveObj = {};
this.saveObj.Unit_Price = 0;
this.defaultCourse = [];
this.selectedCourseList = [];
}
},
next() {
......
This diff is collapsed.
......@@ -15,7 +15,13 @@
<el-table-column prop="MonthNum" label="月份"> </el-table-column>
<el-table-column prop="OpenBonus" label="开单奖金"> </el-table-column>
<el-table-column prop="ClueNumSalary" label="线索奖励"> </el-table-column>
<el-table-column prop="CurGuestNum" width="110" label="当月订单人数"> </el-table-column>
<el-table-column width="110" label="当月订单人数">
<template slot-scope="scope">
<a title="点击跳转" style="cursor:pointer;color:blue;text-decoration:underline;"
@click="GoToOrderList(scope.row)">
{{scope.row.CurGuestNum}}</a>
</template>
</el-table-column>
<el-table-column label="当月奖励金额" width="110">
<template slot-scope="scope">
<el-popover placement="left" width="420" trigger="click">
......@@ -119,13 +125,23 @@
this.msg.PeriodId = this.$route.query.Id;
this.getList();
}
if(this.$route.query.UserId){
if (this.$route.query.UserId) {
this.msg.EmployeeId = this.$route.query.UserId
this.msg.YearNum = this.$route.query.Periods.slice(0,4)
this.msg.MonthNum = this.$route.query.Periods.slice(5,7)
this.msg.YearNum = this.$route.query.Periods.slice(0, 4)
this.msg.MonthNum = this.$route.query.Periods.slice(5, 7)
}
},
methods: {
GoToOrderList(item) {
var lastDay = new Date(item.YearNum, item.MonthNum, 0).getDate()
var qObj = {
QStartTime: item.YearNum + "-" + item.MonthNum + "-01",
QEndTime: item.YearNum + "-" + item.MonthNum + "-" + lastDay,
EnterID: item.EmployeeId,
};
this.OpenNewUrl('/sale/orderStatistics', qObj);
},
//获取分页列表
getList() {
GetPersonnelPeriodDetails(this.msg).then(res => {
......
......@@ -144,8 +144,8 @@
</div>
</div>
<div class="page-content">
<orderlist :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="3"
ref="orderL" :loading="loading">
<orderlist :dataList="data.List" :authObj="authObj" @success="refreshClassOrder" :modityOrderType="3" ref="orderL"
:loading="loading">
</orderlist>
<div class="row" style="justify-content: flex-end;padding: 5px 20px">
<q-pagination v-model="msg.pageIndex" :max="pageCount" @input="changePage" class="full-width justify-end"
......@@ -270,6 +270,12 @@
if (this.$route.query.EndTime) {
this.msg.EndTime = this.$route.query.EndTime + "-01";
}
if (this.$route.query.QStartTime) {
this.msg.StartTime = this.$route.query.QStartTime;
}
if (this.$route.query.QEndTime) {
this.msg.EndTime = this.$route.query.QEndTime;
}
if (this.$route.query.EnterID) {
this.msg.EnterID = Number(this.$route.query.EnterID);
}
......@@ -285,13 +291,13 @@
this.getCourseList();
},
mounted() {
if(this.$route.query.UserId){
this.msg.EnterID = this.$route.query.UserId-0
let y = this.$route.query.Periods.slice(0,4)
let m = this.$route.query.Periods.slice(5,8)
let d = new Date(y,m,0).getDate()
if (this.$route.query.UserId) {
this.msg.EnterID = this.$route.query.UserId - 0
let y = this.$route.query.Periods.slice(0, 4)
let m = this.$route.query.Periods.slice(5, 8)
let d = new Date(y, m, 0).getDate()
this.msg.StartTime = this.$route.query.Periods
this.msg.EndTime = y +'-' + m +'-'+ d
this.msg.EndTime = y + '-' + m + '-' + d
}
this.getList();
this.getEmployee(0);
......
......@@ -182,6 +182,11 @@
<q-item-label>客户交接</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="orderHandover(props.row)" v-if='DeptEmpEnable==1'>
<q-item-section>
<q-item-label>订单交接</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
......@@ -194,10 +199,11 @@
</employee-set>
<employee-info v-if="isShowEmpInfo" :save-obj="managerOption" @close="closeStuForm" @success="refreshPage">
</employee-info>
<!-- 企业微信客户交接 -->
<q-dialog v-model="isDetails">
<q-card style="width: 450px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">客户交接</div>
<div class="text-h6">企业微信客户交接</div>
<q-space />
<q-btn icon="close" flat round dense v-close-popup />
</q-card-section>
......@@ -210,7 +216,7 @@
</div>
<div style="font-size: 12px;color:red;margin-top: 10px;">注:必须选择一项转移目标</div>
<div style="display: flex;align-items: center;margin-top: 0px;">
<div style="width: 110px;">客户转移</div>
<div style="width: 110px;">企微客户转移</div>
<q-radio v-model="joinMsg.CustomerTransfer" val="1" label="是" />
<q-radio v-model="joinMsg.CustomerTransfer" val="2" label="否" />
</div>
......@@ -228,6 +234,41 @@
</q-card>
</q-dialog>
<!-- 订单交接 -->
<q-dialog v-model="orderIsDetails">
<q-card style="width: 450px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">订单交接</div>
<q-space />
<q-btn icon="close" flat round dense v-close-popup />
</q-card-section>
<q-separator />
<q-card-section>
<div>
<q-select style="width: 100%;" filled stack-label option-value="Id" option-label="EmployeeName" use-input
v-model="orderHandoverMsg.ReceiveId" @filter="filterFn" ref="Id" :options="Employeelist" label="交接人员"
:dense="false" emit-value map-options />
</div>
<div style="font-size: 12px;color:red;margin-top: 10px;">注:必须选择一项转移目标</div>
<div style="display: flex;align-items: center;margin-top: 0px;">
<div style="width: 110px;">订单转移</div>
<q-radio v-model="orderHandoverMsg.CustomerTransfer" val="1" label="是" />
<q-radio v-model="orderHandoverMsg.CustomerTransfer" val="2" label="否" />
</div>
<div style="display: flex;align-items: center;margin-top: 10px;">
<div style="width: 110px;">渠道码人员转移</div>
<q-radio v-model="orderHandoverMsg.ChannelTransfer" val="1" label="是" />
<q-radio v-model="orderHandoverMsg.ChannelTransfer" val="2" label="否" />
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn class="q-mr-md" label="取消" @click="orderIsDetails=false" />
<q-btn color="accent" class="q-mr-md" label="确定" @click="saveOrderHandoverInfo()" :loading="orderloading" />
</q-card-actions>
</q-card>
</q-dialog>
</div>
</div>
</template>
......@@ -243,7 +284,8 @@
import {
SetSynvEduEmployee,
setUserCoustomerTransfer,
getWeChatConfigInfo
getWeChatConfigInfo,
SetUserLeaveOrderCareOf
} from '../../api/system/wechat';
import {
BatchResetUserPassword
......@@ -428,6 +470,15 @@
Employeelist: [],
AllEmployeelist: [],
DeptEmpEnable: 0, //是否显示企业微信信息 1 显示
orderIsDetails:false,//离职人员订单交接
orderHandoverMsg:{
UserId:"",//原跟进成员的userid
ReceiveId:"",//接替成员的userid
TypeIds:0,//类型 1 订单转交 2学员转交
CustomerTransfer:"1",//是否订单转移
ChannelTransfer:"1",//是否渠道码人员转移
},//离职人员订单交接数据
orderloading:false,
}
},
mounted() {
......@@ -440,6 +491,66 @@
this.getmicrodeploy() //获取企业微信的配置
},
methods: {
// 订单交接
orderHandover(row){
this.orderHandoverMsg.UserId = row.EmAccountId
this.orderIsDetails = true
},
saveOrderHandoverInfo() { //保存
if (this.orderHandoverMsg.ReceiveId == '') {
this.$q.notify({
type: 'negative',
message: `请选择接替人员`,
position: 'top'
})
return
}
if (this.orderHandoverMsg.ReceiveId == this.orderHandoverMsg.UserId) {
this.$q.notify({
type: 'negative',
message: `接替人员不能是本人`,
position: 'top'
})
return
}
if (this.orderHandoverMsg.CustomerTransfer == 2 && this.orderHandoverMsg.ChannelTransfer == 2) {
this.$q.notify({
type: 'negative',
message: `转移目标必须选择一项`,
position: 'top'
})
return
}
if(this.orderHandoverMsg.CustomerTransfer==1&&this.orderHandoverMsg.ChannelTransfer!=1){
this.orderHandoverMsg.TypeIds="1"
}else if(this.orderHandoverMsg.CustomerTransfer!=1&&this.orderHandoverMsg.ChannelTransfer==1){
this.orderHandoverMsg.TypeIds="2"
}else if(this.orderHandoverMsg.CustomerTransfer==1&&this.orderHandoverMsg.ChannelTransfer==1){
this.orderHandoverMsg.TypeIds="1,2"
}
this.orderloading = true
let msg = {
UserId:this.orderHandoverMsg.UserId,
ReceiveId:this.orderHandoverMsg.ReceiveId,
TypeIds:this.orderHandoverMsg.TypeIds
}
SetUserLeaveOrderCareOf(msg).then(res => {
if (res.Code == 1)
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: res.Message,
position: 'top'
})
this.orderIsDetails = false
this.orderloading = false
this.getManager()
})
.catch(err => {
this.orderloading = false
})
},
resetSearch() {
this.msg.pageIndex = 1;
this.getManager()
......
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