Commit 12b54787 authored by zhengke's avatar zhengke
parents a3d65857 00c093eb
...@@ -12,6 +12,14 @@ export function qyeryDutyFrequencyPage(data) { ...@@ -12,6 +12,14 @@ export function qyeryDutyFrequencyPage(data) {
}) })
} }
export function queryDutyTrialLesson(data) {
return request({
url: '/DutyPlan/GetDutyTrialLesson',
method: 'post',
data
})
}
/** /**
* 获取班次列表 * 获取班次列表
* @param {JSON参数} data * @param {JSON参数} data
......
...@@ -78,14 +78,11 @@ ...@@ -78,14 +78,11 @@
<q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price" @input="calcPrice()" class="col-12" <q-input filled stack-label :dense="false" v-model="OrderMsg.Unit_Price" @input="calcPrice()" class="col-12"
label="成交单价" :rules="[val => !!val || '请填成交单价']" /> label="成交单价" :rules="[val => !!val || '请填成交单价']" />
</template> </template>
<!-- <q-input filled stack-label :disable="modityOrderType!=3" :dense="false" maxlength="10"
@keyup.native="checkPrice(OrderMsg,'PreferPrice')" v-model="OrderMsg.PreferPrice" class="col-12 q-pb-lg"
label="应收" /> -->
<q-input filled stack-label :disable="modityOrderType!=3" :dense="false" maxlength="10" <q-input filled stack-label :disable="modityOrderType!=3" :dense="false" maxlength="10"
@keyup.native="checkPrice(OrderMsg,'PreferPrice')" :value="OrderMsg.Class_Price*OrderMsg.GuestNum*(1-OrderMsg.B2CRatio)" class="col-12 q-pb-lg" @keyup.native="checkPrice(OrderMsg,'PreferPrice')" v-model="OrderMsg.PreferPrice" class="col-12 q-pb-lg"
label="应收" /> label="应收" />
<q-select :disable="modityOrderType==2" standout="bg-primary text-white" option-value="Id" option-label="Name" <q-select :disable="modityOrderType==2" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="OrderMsg.OrderSource" :options="SourceEnumList" emit-value map-options class="q-pb-lg" v-model="OrderMsg.OrderSource" :options="SourceEnumList" emit-value map-options class="q-pb-lg"
label="客人来源" /> label="客人来源" />
...@@ -100,6 +97,17 @@ ...@@ -100,6 +97,17 @@
</q-item> </q-item>
</template> </template>
</q-select> </q-select>
<q-select :disable="(modityOrderType==2)||(OrderMsg.JoinType==3)" v-model="OrderMsg.CourseConsultantId"
:options="EmployeeList" filled use-input label="课程顾问" option-label="EmployeeName" option-value="Id"
ref="EmployeeName" class="col-6 q-pb-lg" emit-value map-options @filter="filterFn">
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
<q-select :disable="(modityOrderType==2)||(OrderMsg.JoinType==3)" v-model="OrderMsg.CustomerId" <q-select :disable="(modityOrderType==2)||(OrderMsg.JoinType==3)" v-model="OrderMsg.CustomerId"
:options="myCustomerList" filled use-input label="同行" option-label="CustomerName" option-value="CustomerId" :options="myCustomerList" filled use-input label="同行" option-label="CustomerName" option-value="CustomerId"
ref="CustomerName" class="col-6 q-pb-lg" emit-value map-options @filter="cusfilterFn"> ref="CustomerName" class="col-6 q-pb-lg" emit-value map-options @filter="cusfilterFn">
...@@ -183,7 +191,7 @@ ...@@ -183,7 +191,7 @@
B2CReNewRatio:0, B2CReNewRatio:0,
CustomerId:0,//市场专员 CustomerId:0,//市场专员
Unit_Price: 0, Unit_Price: 0,
PreferPrice: 0, PreferPrice: 0,//应收
OrderSource: 0, OrderSource: 0,
SaleRemark: "", SaleRemark: "",
Class_Price: 0, //单价 Class_Price: 0, //单价
...@@ -206,6 +214,8 @@ ...@@ -206,6 +214,8 @@
JoinType: 1, //订单报入类型 JoinType: 1, //订单报入类型
DiscountMoney: 0, //优惠金额 DiscountMoney: 0, //优惠金额
PerDiscountMoney: 0, //每人优惠金额 PerDiscountMoney: 0, //每人优惠金额
CourseConsultantId:0,//课程顾问
CustomerId:0,//同行
}, },
Unit_PriceRemark: "", //单价规则 Unit_PriceRemark: "", //单价规则
IsShowUpPrice: false, //是否显示高于定价 IsShowUpPrice: false, //是否显示高于定价
...@@ -307,7 +317,8 @@ ...@@ -307,7 +317,8 @@
} }
var perDiscountMoney = Number(tempDiscountMoney).toFixed(2); var perDiscountMoney = Number(tempDiscountMoney).toFixed(2);
this.OrderMsg.PerDiscountMoney = perDiscountMoney; this.OrderMsg.PerDiscountMoney = perDiscountMoney;
this.OrderMsg.DiscountMoney = perDiscountMoney * guestNum; // this.OrderMsg.DiscountMoney = perDiscountMoney * guestNum;
this.OrderMsg.DiscountMoney=this.OrderMsg.Class_Price*this.OrderMsg.GuestNum*this.OrderMsg.B2CRatio
//计算每人优惠和总优惠 //计算每人优惠和总优惠
if (this.OrderMsg.IsChaBan == 1) { if (this.OrderMsg.IsChaBan == 1) {
this.OrderMsg.Unit_Price = chaBanPrice; this.OrderMsg.Unit_Price = chaBanPrice;
...@@ -394,6 +405,7 @@ ...@@ -394,6 +405,7 @@
this.OrderMsg.B2CRatio = tempData.B2CRatio>1?(tempData.B2CRatio/100):tempData.B2CRatio; this.OrderMsg.B2CRatio = tempData.B2CRatio>1?(tempData.B2CRatio/100):tempData.B2CRatio;
this.OrderMsg.B2CReNewRatio = tempData.B2CReNewRatio>1?(tempData.B2CReNewRatio/100):tempData.B2CReNewRatio; this.OrderMsg.B2CReNewRatio = tempData.B2CReNewRatio>1?(tempData.B2CReNewRatio/100):tempData.B2CReNewRatio;
this.OrderMsg.CustomerId=tempData.CustomerId this.OrderMsg.CustomerId=tempData.CustomerId
this.OrderMsg.CourseConsultantId=tempData.CourseConsultantId
this.UnitPrice = this.OrderMsg.Unit_Price; this.UnitPrice = this.OrderMsg.Unit_Price;
this.IsShowEditOrder = true; this.IsShowEditOrder = true;
} }
...@@ -420,6 +432,7 @@ ...@@ -420,6 +432,7 @@
this.OrderMsg.B2CRatio = 0; this.OrderMsg.B2CRatio = 0;
this.OrderMsg.B2CReNewRatio = 0; this.OrderMsg.B2CReNewRatio = 0;
this.OrderMsg.CustomerId=0; this.OrderMsg.CustomerId=0;
this.OrderMsg.CourseConsultantId=0;
if (this.OrderMsg.OrderType == 2) { if (this.OrderMsg.OrderType == 2) {
this.OrderMsg.OrderNature = 1; this.OrderMsg.OrderNature = 1;
} }
......
...@@ -422,7 +422,13 @@ ...@@ -422,7 +422,13 @@
> >
<template v-slot:body-cell-Option="props"> <template v-slot:body-cell-Option="props">
<q-td :props="props"> <q-td :props="props">
<q-btn dense flat color="primary" v-if="props.row.IsVisit != 1"> <q-btn
dense
flat
color="primary"
v-if="props.row.IsVisit != 1"
@click="setCustomerVisitHandler(props.row.Id)"
>
<q-icon <q-icon
name="edit" name="edit"
color="primary" color="primary"
...@@ -441,6 +447,53 @@ ...@@ -441,6 +447,53 @@
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
<q-table
v-if="tabCheck == 'third'"
hide-bottom
:columns="dutyColumns"
:data="shwoTrialList"
:loading="loadingObj.trialLoading"
no-data-label="暂无相关数据"
flat
class="sticky-column-table"
>
<template v-slot:body-cell-StuName="props">
<q-td :props="props" style="border-left:1px solid #E5e5e5;padding:0">
<template v-for="(x, i) in props.row.GuestList">
<div
:key="i"
class="q-pa-md"
:style="{
'border-bottom':
i == props.row.GuestList.length - 1
? 'none'
: '1px solid #e5e5e5'
}"
>
{{ x.GuestName }}
</div>
</template>
</q-td>
</template>
<template v-slot:body-cell-StuPhone="props">
<q-td :props="props" style="border-right:1px solid #E5e5e5;padding:0">
<template v-for="(x, i) in props.row.GuestList">
<div
:key="i + 'tel'"
class="q-pa-md"
:style="{
'border-bottom':
i == props.row.GuestList.length - 1
? 'none'
: '1px solid #e5e5e5'
}"
>
{{ x.StuTel }}
</div>
</template>
</q-td>
</template>
</q-table>
</div> </div>
<schedulFanke <schedulFanke
v-if="isShowDetail" v-if="isShowDetail"
...@@ -452,8 +505,10 @@ ...@@ -452,8 +505,10 @@
<script> <script>
import { getTodayVisitList } from "../../api/stuMan/index"; import { getTodayVisitList } from "../../api/stuMan/index";
import { getStudentPage, saveStudent, getStudentInfo } from "../../api/school"; import { getStudentPage, saveStudent, getStudentInfo } from "../../api/school";
import { saveStudentVisitFeedback } from "../../api/customerstudent/customerstudent";
import { getGuestBasicsEnumList } from "../../api/sale/sale"; import { getGuestBasicsEnumList } from "../../api/sale/sale";
import schedulFanke from "../schedul/schedul-fanke"; import schedulFanke from "../schedul/schedul-fanke";
import { queryDutyTrialLesson } from "../../api/duty/index";
export default { export default {
props: { props: {
...@@ -576,11 +631,49 @@ export default { ...@@ -576,11 +631,49 @@ export default {
field: "Option" field: "Option"
} }
], ],
dutyColumns: [
{
name: "TeacherName",
label: "试讲老师",
field: "TeacherName",
align: "left"
},
{
name: "StartTime",
label: "开始时间",
field: "StartTime",
align: "left"
},
{
name: "CourseName",
label: "试讲内容",
field: "CourseName",
align: "left"
},
{
name: "RoomName",
label: "教室",
field: "RoomName",
align: "left"
},
{
name: "StuName",
label: "客户姓名",
align: "left"
},
{
name: "StuPhone",
label: "客户电话",
align: "left"
}
],
searchObj: { searchObj: {
arriveVisitKey: "" arriveVisitKey: "",
dutyKey: ""
}, },
loadingObj: { loadingObj: {
visitLoading: true visitLoading: true,
trialLoading: true
}, },
data: [], data: [],
loading: true, loading: true,
...@@ -683,7 +776,9 @@ export default { ...@@ -683,7 +776,9 @@ export default {
sendObj: {}, sendObj: {},
isShowDetail: false, isShowDetail: false,
todayVistList: [], todayVistList: [],
showTodayVist: [] showTodayVist: [],
trialList: [],
shwoTrialList: []
}; };
}, },
watch: { watch: {
...@@ -693,6 +788,18 @@ export default { ...@@ -693,6 +788,18 @@ export default {
this.initAuth(); this.initAuth();
}, },
immediate: true immediate: true
},
tabCheck: {
handler(newValue) {
if (newValue == "first") {
this.initTodayVistList();
} else if (newValue == "second") {
this.getVisitoryPage();
} else {
this.initDutyTrialLessonList();
}
},
immediate: true
} }
}, },
created() {}, created() {},
...@@ -702,6 +809,7 @@ export default { ...@@ -702,6 +809,7 @@ export default {
this.initAuth(); this.initAuth();
this.getVisitoryPage(); this.getVisitoryPage();
this.initTodayVistList(); this.initTodayVistList();
this.initDutyTrialLessonList();
}, },
methods: { methods: {
submitForm(addMsg1) { submitForm(addMsg1) {
...@@ -825,19 +933,70 @@ export default { ...@@ -825,19 +933,70 @@ export default {
this.loadingObj.visitLoading = false; this.loadingObj.visitLoading = false;
}); });
}, },
setCustomerVisitHandler(id) {
this.$q
.dialog({
title: "确认到访",
message: "请再次确认改客户是否到达",
cancel: true,
persistent: true
})
.onOk(() => {
let msg = {
Id: id,
IsVisit: 1,
Feedback: ""
};
saveStudentVisitFeedback(msg).then(r => {
this.initTodayVistList();
});
});
},
initTodayVistList() { initTodayVistList() {
this.loadingObj.visitLoading = true; this.loadingObj.visitLoading = true;
if (this.$route.query.Id) { if (this.$route.query.Id) {
let msg = { Id: this.$route.query.Id }; let msg = { Id: this.$route.query.Id };
getTodayVisitList(msg).then(r => { getTodayVisitList(msg).then(r => {
console.log(r);
this.todayVistList = r.Data; this.todayVistList = r.Data;
this.showTodayVist = this.todayVistList; this.changeVisitList();
this.loadingObj.visitLoading = false; this.loadingObj.visitLoading = false;
}); });
} else { } else {
this.loadingObj.visitLoading = false; this.loadingObj.visitLoading = false;
} }
},
changeDutyTrialHander() {
this.shwoTrialList = this.trialList;
return;
this.loadingObj.trialLoading = true;
this.shwoTrialList = [];
this.$nextTick(() => {
this.shwoTrialList = this.trialList.filter(x => {
return (
x.StuName.indexOf(this.searchObj.dutyKey) != -1 ||
x.StuTel.indexOf(this.searchObj.dutyKey) != -1
);
});
this.loadingObj.trialLoading = false;
});
},
initDutyTrialLessonList() {
this.loadingObj.trialLoading = true;
if (this.$route.query.Id) {
let msg = { Id: this.$route.query.Id };
queryDutyTrialLesson(msg).then(r => {
if (r.Data) {
r.Data.forEach(x => {
x.CourseName = x.CourseName.split(":")[0];
});
}
this.trialList = r.Data;
this.changeDutyTrialHander();
this.loadingObj.trialLoading = false;
});
} else {
this.loadingObj.trialLoading = false;
}
} }
} }
}; };
......
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
<div class="visit_Cont"> <div class="visit_Cont">
<div class="Log_Content"> <div class="Log_Content">
<div>到访校区:{{tItem.SchoolName}}</div> <div>到访校区:{{tItem.SchoolName}}</div>
<div>到访时间:{{tItem.Date}} {{tItem.VisitTime}}</div>
<div class="StuCom_Remark"> <div class="StuCom_Remark">
<span class="StuCom_Left">接待人</span> <span class="StuCom_Left">接待人</span>
{{tItem.ReceptionPersionName}} {{tItem.ReceptionPersionName}}
......
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