Commit f3f60cd6 authored by 吴春's avatar 吴春

新增页面

parent 026fea48
<template>
<q-card class="q-px-md" style="width:750px;max-width:800px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">{{model.Id==0?"创建报价单":"修改报价单"}}</div>
<q-space />
<q-btn icon="close" flat round dense v-close-popup />
</q-card-section>
<q-card-section style="max-height:75vh;" class="scroll">
<q-banner rounded class="bg-orange-2 text-black q-py-none q-px-md q-mb-md" style="min-height:30px;">
<div class="row items-center">
<span class="q-mr-md">
<inline-svg class="svg-icon svg-icon-orange" src="icons/svg/Code/Warning-2.svg"></inline-svg>
</span>
<span style="font-size:12px;">报价单价格系统将进行自动计算,如需额外的优惠请创建报价单后进行申请</span>
</div>
</q-banner>
<div class="row" style="margin-bottom:10px;">
<div class="col q-mr-md">
<q-input standout bottom-slots v-model="model.Name" filled ref="Name" label="报价单名称" dense />
</div>
<div class="col">
<q-select dense standout behavior="menu" filled v-model="model.CustomerSource" ref="CustomerSource"
:options="CustomerSources" option-label="name" option-value="id" label="客户来源" emit-value map-options
:rules="[val => !!val || '请选择客户来源']" />
</div>
</div>
<div class="row" style="margin-bottom:10px;">
<div class="col q-mr-md">
<q-select dense standout behavior="menu" filled v-model="model.CustomerType" ref="CustomerType"
:options="CustomerTypes" option-label="name" option-value="id" label="客户类型" emit-value map-options
@input="changeDiscountMoney" :rules="[val => !!val || '请选择客户类型']" />
</div>
<div class="col">
<q-input standout bottom-slots filled v-model="model.JoinNum" ref="JoinNum" label="报名人数" dense mask="#"
fill-mask="0" reverse-fill-mask :rules="[val => !!val || '请输入报名人数']" @input="changeDiscountMoney">
<template v-slot:append>
<span style="font-size:14px;"></span>
</template>
</q-input>
</div>
</div>
<div class="row" style="margin-bottom:10px;">
<div class="col q-mr-md">
<q-input standout bottom-slots filled v-model="model.CustomerName" ref="CustomerName" label="客户姓名" dense
:rules="[val => !!val || '请输入客户姓名']" />
</div>
<div class="col">
<q-input standout bottom-slots filled v-model="model.CustomerTel" label="客户电话" dense mask="#"
reverse-fill-mask />
</div>
</div>
<div class="text-subtitle2 text-weight-bold q-mb-md">
<span>选择产品</span>
</div>
<div class="row">
<div class="col">
<q-radio v-model="model.OfferType" :val="2" label="留学" />
<q-radio v-model="model.OfferType" :val="3" label="就业" />
</div>
<div class="q-ml-md">
</div>
</div>
<div class="row">
<div class="col">
<q-select dense standout behavior="menu" filled v-model="chosenCourse" :options="studyProductList"
@filter="filterCourseFn" input-debounce="0" use-input option-label="Name" option-value="Id" emit-value
map-options :placeholder="!chosenCourse ? '添加客户需要的产品' : ''" clearable />
</div>
<div class="q-ml-md">
<q-btn color="primary" label="添加" @click="addCourse"></q-btn>
</div>
</div>
<div class="q-mt-md">
<q-table :pagination="pageInfo" no-data-label="暂无相关数据" flat
class="sticky-column-table sticky-header-table sticky-right-column-table no-bottom-table" separator="none"
:data="chosenProductList" :columns="columns" row-key="name">
<template v-slot:body-cell-DiscountRemark="props">
<q-td :props="props" class="text-negative">
<div v-for="(x, i) in props.value.split('^')" style="border-bottom:1px dotted #f5f6f7;">
{{ x }}
</div>
</q-td>
</template>
<template v-slot:bottom>
<div>&nbsp;</div>
</template>
</q-table>
</div>
<div style="border-top:1px solid #f5f6f7;" class="row q-py-md">
<div class="col">
<span>累计优惠:</span>
<span class="q-ml-xs text-weight-bold">¥{{model.TotalPrice ? model.TotalDiscountPrice.toFixed(2) : "0.00"}}</span>
</div>
<div class="col text-right">
<span>产品总价:</span>
<span class="q-ml-xs text-weight-bold">¥{{model.TotalPrice ? model.TotalPrice.toFixed(2) : "0.00"}}</span>
</div>
</div>
<div class="row">
<div class="col q-mr-md"></div>
<div class="col">
<q-input standout bottom-slots filled v-model="model.EffectiveEnd" ref="EffectiveEnd" label="报价有效期" dense
mask="date" class="cursor-pointer" readonly :rules="[val => !!val || '请选择有效日期']">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy>
<q-date v-model="model.EffectiveEnd" title="" subtitle="报价有效日期">
<div class="row items-center justify-end">
<q-btn v-close-popup label="确认" color="primary" flat />
</div>
</q-date>
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</div>
</div>
</q-card-section>
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="primary" v-close-popup />
<q-btn :label="model.Id==0?'创建报价单':'保存报价单'" color="accent" class="q-px-md" style="font-weight:400 !important"
@click="saveOffice" />
</q-card-actions>
</q-card>
</template>
<script>
import {
saveCourseOffer,
queryCourseOfferInfo
} from "../../api/course/index";
import {
queryStudyAbroadList
} from '../../api/studyabroad/index'
import {
date
} from "quasar";
export default {
props: ["obj"],
data() {
return {
CustomerTypes: [{
id: 1,
name: "新客户"
},
{
id: 2,
name: "续班客户"
}
],
CustomerSources: [{
id: 1,
name: "学校介绍"
},
{
id: 2,
name: "朋友介绍"
},
{
id: 3,
name: "网络广告"
}
],
model: {},
columns: [{
name: "CourseName",
required: true,
label: "产品名称",
align: "left",
field: row => row.CourseName
},
{
name: "OriginalPrice",
required: true,
label: "现价",
align: "left",
field: row => row.OriginalPrice.toFixed(2)
},
{
name: "JoinNum",
required: true,
label: "报名人数",
align: "left",
field: row => row.JoinNum
},
{
name: "DiscountPrice",
required: true,
label: "优惠",
align: "left",
field: row => row.DiscountPrice.toFixed(2)
},
{
name: "DiscountRemark",
required: true,
label: "优惠说明",
align: "left",
field: row => row.Remark
},
{
name: "ActualPrice",
required: true,
label: "小计金额",
align: "left",
field: row => row.ActualPrice.toFixed(2)
}
],
pageInfo: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 12
},
studyEmploymentList: [], //留学就业产品列表
studyProductList: [],
chosenCourse: null, //选中的留学就业产品
chosenProductList: [],//添加的留学就业产品
};
},
computed: {
},
created() {
this.getStudyAbroadList();
},
mounted() {
this.initObj();
},
methods: {
//初始化对象
initObj() {
if (this.obj && this.obj.Id > 0) {
queryCourseOfferInfo({
Id: this.obj.Id
}).then(res => {
var tempObj = res.Data;
if (res.Code == 1) {
this.model = {
Id: tempObj.Id,
Name: tempObj.Name,
OfferType: tempObj.OfferType,
EffectiveStart: tempObj.EffectiveStart,
EffectiveEnd: tempObj.EffectiveEnd,
CustomerType: tempObj.CustomerType,
CustomerSource: tempObj.CustomerSource,
TotalOriginalPrice: tempObj.TotalOriginalPrice,
TotalPrice: tempObj.TotalPrice,
TotalDiscountPrice: tempObj.TotalDiscountPrice,
CustomerInfo: tempObj.CustomerInfo,
CustomerName: tempObj.CustomerName,
CustomerTel: tempObj.CustomerTel,
OfferDetails: [],
JoinNum: tempObj.JoinNum
};
if (tempObj.OfferDetails && tempObj.OfferDetails.length > 0) {
this.model.OfferDetails = tempObj.OfferDetails;
this.chosenProductList = tempObj.OfferDetails;
}
console.log("this.model",this.model);
console.log("this.tempObj",tempObj);
console.log("this.chosenProductList",this.chosenProductList );
}
})
} else {
this.model = {
Id: 0,
Name: "测试",
OfferType: 2, //默认留学(2-留学,3-就业)
EffectiveStart: "",
EffectiveEnd: "2021-04-04",
CustomerType: 1,
CustomerSource: 1,
TotalOriginalPrice: 0.0,
TotalPrice: 0.0,
TotalDiscountPrice: 0.0,
CustomerInfo: "客户信息",
CustomerName: "客户姓名",
CustomerTel: "电话",
OfferDetails: [],
JoinNum: 1
};
}
},
//保存报价单
saveOffice() {
this.$refs.EffectiveEnd.validate();
this.$refs.CustomerType.validate();
this.$refs.CustomerSource.validate();
this.$refs.CustomerName.validate();
this.$refs.JoinNum.validate();
if (
!this.$refs.EffectiveEnd.hasError &&
!this.$refs.CustomerType.hasError &&
!this.$refs.CustomerSource.hasError &&
!this.$refs.CustomerName.hasError &&
!this.$refs.JoinNum.hasError &&
this.chosenProductList.length > 0
) {
this.model.EffectiveStart = date.formatDate(Date.now(), "YYYY/MM/DD");
if (this.model.Name == "") {
this.model.Name = `${this.model.CustomerName}${date.formatDate(
Date.now(),
"YYYYMMDDHHmmss"
)}报价单`;
}
this.model.OfferDetails = this.chosenProductList;
saveCourseOffer(this.model).then(r => {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "positive",
timeout: 2000,
message: "报价单保存成功",
position: "top",
actions: [{
label: "点击查看",
color: "primary",
handler: () => {
this.$router.push({
path: "/sale/quotation",
query: {
Id: r.Data
}
});
}
}]
});
this.$emit("save");
});
}
},
//获取留学就业列表
getStudyAbroadList() {
this.studyEmploymentList = [];
var qMsg = {
SaleState: 3,
IsQPrice: 1,
};
queryStudyAbroadList(qMsg).then(res => {
this.studyEmploymentList = res.Data;
this.studyProductList = this.studyEmploymentList;
});
},
//留学就业产品筛选
filterCourseFn(val, update, abort) {
update(() => {
this.studyProductList = this.studyEmploymentList.filter(
v => v.Name.indexOf(val) > -1
);
});
},
//添加留学就业产品
addCourse() {
this.$refs.JoinNum.validate();
this.$refs.CustomerType.validate();
if (!this.$refs.JoinNum.hasError && !this.$refs.CustomerType.hasError) {
let val = this.studyEmploymentList.find(x => x.Id == this.chosenCourse);
if (val) {
let temp = this.chosenProductList.find(x => x.Id == val.Id);
if (!temp) {
let offer = this.genernalOffer(val);
if (this.chosenProductList.length > 0) {
offer.DiscountPrice += 500;
offer.ActualPrice -= 500;
offer.Remark += `^购买多项留学就业产品再减500`;
}
this.chosenProductList.push(offer);
this.SumMoney();
}
}
}
},
changeDiscountMoney() {
this.chosenProductList.forEach((x, i) => {
x.ActualPrice = x.SourceData.SellPrice * this.model.JoinNum;
x.JoinNum = this.model.JoinNum;
this.formatDiscount(x.SourceData, x);
if (i > 0) {
x.DiscountPrice += 500;
x.ActualPrice -= 500;
x.Remark += `^购买多项留学就业产品再减500`;
}
});
this.SumMoney();
},
SumMoney() {
let dis = 0.0,
total = 0.0;
this.chosenProductList.forEach(x => {
dis += parseFloat(x.DiscountPrice);
total += parseFloat(x.ActualPrice);
});
this.model.TotalDiscountPrice = dis;
this.model.TotalPrice = total;
this.model.TotalOriginalPrice = dis + total;
},
genernalOffer(val) {
let offer = {
DetailsId: 0,
OfferId: 0,
CourseId: val.Id,
CourseName: val.Name,
OriginalPrice: val.SellPrice,
DiscountPrice: 0,
ActualPrice: val.SellPrice * this.model.JoinNum,
ClassHours: 0,
Remark: "",
JoinNum: this.model.JoinNum
};
offer.SourceData = val;
this.formatDiscount(val, offer);
return offer;
},
formatDiscount(val, target) {
let result = {};
if (this.model.JoinNum < 1) {
target.DiscountPrice = 0;
target.Remark = "未填写报名人数";
return;
}
if (this.model.CustomerType == 1) {
//1、判断是否满足双人报名
result = this.calcDiscount(3, val);
if (result.money > 0) {
target.DiscountPrice = result.money;
target.ActualPrice = target.ActualPrice - result.money;
target.Remark = result.remark;
} else {
result = this.calcDiscount(2, val);
if (result.money > 0) {
target.DiscountPrice = result.money;
target.ActualPrice = target.ActualPrice - result.money;
target.Remark = result.remark;
} else {
result = this.calcDiscount(1, val);
if (result.money > 0) {
target.DiscountPrice = result.money;
target.ActualPrice = target.ActualPrice - result.money;
target.Remark = result.remark;
}
}
}
} else if (this.model.CustomerType == 2) {
result = this.calcDiscount(4, val);
if (result.money > 0) {
target.DiscountPrice = result.money;
target.ActualPrice = target.ActualPrice - result.money;
target.Remark = result.remark;
}
} else {
target.DiscountPrice = 0;
target.Remark = "未选择客户类型";
}
},
calcDiscount(type, val) {
let result = {
money: 0,
remark: ""
};
val.PreferentialList.forEach(x => {
if (
x.PriceDiscountType == type &&
this.model.JoinNum > 1 &&
type == 3
) {
result.money =
parseFloat(val.SellPrice) *
(parseFloat(x.PriceMoney) / 100.0) *
this.model.JoinNum;
result.remark = `双人报名优惠${x.PriceMoney}%`;
} else if (
x.PriceDiscountType == type &&
type == 2 &&
this.model.JoinNum > 0
) {
result.money =
parseFloat(val.SellPrice) *
(parseFloat(x.PriceMoney) / 100.0) *
this.model.JoinNum;
result.remark = `单人报名优惠${x.PriceMoney}%`;
} else if (
x.PriceDiscountType == type &&
type == 1 &&
this.model.JoinNum > 0
) {
let joinNum =
Math.floor(this.model.JoinNum / (x.BuyNum + x.SendNum)) * x.BuyNum +
(this.model.JoinNum % (x.BuyNum + x.SendNum));
result.money =
val.SellPrice * this.model.JoinNum -
parseFloat(val.SellPrice) * joinNum;
result.remark = `买${x.BuyNum}${x.SendNum}`;
} else if (
x.PriceDiscountType == type &&
type == 4 &&
this.model.JoinNum > 0
) {
result.money =
parseFloat(val.SellPrice) *
(parseFloat(x.PriceMoney) / 100.0) *
this.model.JoinNum;
result.remark = `续费优惠${x.PriceMoney}%`;
}
});
return result;
},
},
watch: {
}
};
</script>
<style></style>
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
JobId: jobId JobId: jobId
} }
}); });
window.open(tempRouter.href,'_blank') window.open(tempRouter.href, '_blank')
}, },
} }
} }
......
...@@ -186,6 +186,10 @@ ...@@ -186,6 +186,10 @@
<q-dialog v-model="showForm" persistent> <q-dialog v-model="showForm" persistent>
<quotation-form :obj="offerObj" @save="refreshPage()"></quotation-form> <quotation-form :obj="offerObj" @save="refreshPage()"></quotation-form>
</q-dialog> </q-dialog>
<!-- 新增修改留学就业报价单 -->
<q-dialog v-model="showStudyForm" persistent>
<quotationstudy-form :obj="offerObj" @save="refreshPage()"></quotationstudy-form>
</q-dialog>
<!-- 报价单转订单 --> <!-- 报价单转订单 -->
<q-dialog v-model="showOrderForm" persistent> <q-dialog v-model="showOrderForm" persistent>
<offertransorder-form :obj="offerObj" @save="refreshPage()"></offertransorder-form> <offertransorder-form :obj="offerObj" @save="refreshPage()"></offertransorder-form>
...@@ -218,7 +222,8 @@ ...@@ -218,7 +222,8 @@
<script> <script>
import quotationForm from '../../components/sale/quotation-form' import quotationForm from '../../components/sale/quotation-form'
import offertransorderForm from '../../components/sale/offertransorder-form' import offertransorderForm from '../../components/sale/offertransorder-form'
//留学报价单
import quotationstudyForm from '../../components/sale/quotationstudy-form'
import viewquotationForm from '../../components/sale/viewquotation-form' import viewquotationForm from '../../components/sale/viewquotation-form'
import { import {
queryCourseOfferPage, queryCourseOfferPage,
...@@ -234,6 +239,7 @@ ...@@ -234,6 +239,7 @@
}, },
components: { components: {
quotationForm, quotationForm,
quotationstudyForm,
offertransorderForm, offertransorderForm,
viewquotationForm viewquotationForm
}, },
...@@ -267,6 +273,12 @@ ...@@ -267,6 +273,12 @@
field: "Name", field: "Name",
align: "left" align: "left"
}, },
{
name: "OfferTypeName",
label: "类型",
field: "OfferTypeName",
align: "left"
},
{ {
name: "CustomerName", name: "CustomerName",
required: true, required: true,
...@@ -339,6 +351,7 @@ ...@@ -339,6 +351,7 @@
isShowviewQuo: false, isShowviewQuo: false,
rId: 0, rId: 0,
isShowUpPrice: false, isShowUpPrice: false,
showStudyForm: false, //是否显示留学就业报价单
uppriceMsg: { uppriceMsg: {
Id: 0, Id: 0,
ApplyReason: '' ApplyReason: ''
...@@ -399,11 +412,11 @@ ...@@ -399,11 +412,11 @@
this.offerObj = item; this.offerObj = item;
this.showOrderForm = true; this.showOrderForm = true;
}, },
//刷新页面 //刷新页面
refreshPage() { refreshPage() {
this.showForm = false; this.showForm = false;
this.showOrderForm = false; this.showOrderForm = false;
this.showStudyForm = false;
this.getcourseofferpage(); this.getcourseofferpage();
}, },
gotoDetails(item) { gotoDetails(item) {
...@@ -412,7 +425,11 @@ ...@@ -412,7 +425,11 @@
}, },
//显示报价单 //显示报价单
editQuotation(item) { editQuotation(item) {
this.showForm = true; if (item.OfferType == 1) {
this.showForm = true;
} else {
this.showStudyForm = true;
}
this.offerObj = item; this.offerObj = item;
}, },
//重新查询 //重新查询
......
<template>
<div class="page-body">
<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 standout="bg-primary text-white" 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"
v-model="msg.Type" ref="Type" :options="studyAbroadList" label="类型" :dense="false" emit-value map-options
@input="resetSearch">
</q-select>
</div>
</div>
</div>
<div class="page-content">
<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" :visible-columns="visibleColumns">
<template v-slot:top="props">
<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="createQuotation" />
</div>
</template>
<template v-slot:body-cell-Type="props">
<q-td>
{{props.row.Type==1?"留学":"就业"}}
</q-td>
</template>
<template v-slot:body-cell-PreferentialList="props">
<q-td :props="props" style="padding-right:0px">
<div v-for="x in props.value">
<div class="border-bottom" v-if="x.PriceDiscountType == 1">
{{ x.BuyNum }}{{ x.SendNum }}
</div>
<div class="border-bottom" v-if="x.PriceDiscountType == 2">
单人报名享
<template v-if="x.PriceType==0">
{{ 100 - x.PriceMoney }}
</template>
<template>
{{x.PriceMoney}}
</template>
优惠
</div>
<div class="border-bottom" v-if="x.PriceDiscountType == 3">
双人报名享<template v-if="x.PriceType==0">
{{ 100 - x.PriceMoney }}
</template>
<template>
{{x.PriceMoney}}
</template>
优惠
</div>
<div class="border-bottom" v-if="x.PriceDiscountType == 4">
续费享<template v-if="x.PriceType==0">
{{ 100 - x.PriceMoney }}
</template>
<template>
{{x.PriceMoney}}
</template>
优惠
</div>
<div class="remark-font" v-if="x.PriceDiscountType == 0">
暂无优惠政策
</div>
</div>
<div v-if="!props.value || props.value.length == 0">
<div class="remark-font">暂无优惠政策</div>
</div>
</q-td>
</template>
<template v-slot:body-cell-PreferentialListSellCommission="props">
<q-td :props="props" style="padding-right:0px;padding-left:0px">
<div v-for="x in props.value">
<div class="border-bottom" style="padding-left: 16px;padding-right: 16px"
:class="{ 'text-red': x.SaleCommissionType == 1 }" v-if="x.PriceDiscountType != 0">
{{ x.SaleCommissionType == 1 ? "¥" : ""
}}{{ x.SaleCommissionMoney
}}{{ x.SaleCommissionType == 0 ? "%" : "" }}
</div>
<div v-if="x.PriceDiscountType == 0">
<div class="remark-font">暂无佣金信息</div>
</div>
</div>
<div v-if="!props.value || props.value.length == 0">
<div class="remark-font">暂无佣金信息</div>
</div>
</q-td>
</template>
<template v-slot:body-cell-PreferentialListB2BCommission="props">
<q-td :props="props" style="padding-left:0px">
<div v-for="x in props.value">
<div class="border-bottom" style="padding-left: 16px" :class="{ 'text-red': x.B2BCommissionType == 1 }"
v-if="x.PriceDiscountType != 0">
{{ x.B2BCommissionType == 1 ? "¥" : ""
}}{{ x.B2BCommissionMoney
}}{{ x.B2BCommissionType == 0 ? "%" : "" }}
</div>
<div v-if="x.PriceDiscountType == 0">
<div class="remark-font">暂无佣金信息</div>
</div>
</div>
<div v-if="!props.value || props.value.length == 0">
<div class="remark-font">暂无佣金信息</div>
</div>
</q-td>
</template>
<template v-slot:body-cell-Id="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="立即下单"
@click="getviewInfo(props.row)" />
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount"
:input="true" @input="changePage" />
</template>
</q-table>
<q-dialog v-model="showForm" persistent>
<quotationstudy-form :obj="null" @save="showForm=false"></quotationstudy-form>
</q-dialog>
</div>
</div>
</template>
<script>
import {
queryStudyAbroadPage
} from '../../api/studyabroad/index'
import quotationstudyForm from '../../components/sale/quotationstudy-form'
import {
mapState
} from "vuex";
export default {
meta: {
title: "留学产品审核"
},
components: {
quotationstudyForm
},
data() {
return {
msg: {
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
Name: "",
IsQPrice: 1,
Type: "", //项目类型
SaleState: 3, //已上架
},
dataList: [],
loading: true,
columns: [{
name: 'Name',
label: '项目名称',
field: 'Name',
align: 'left'
},
{
name: 'Type',
label: '项目类型',
field: 'Type',
align: 'left'
},
{
name: 'SuggestPrice',
label: '建议卖价',
field: 'SuggestPrice',
align: 'left',
field: row => row.SuggestPrice.toFixed(2)
},
{
name: 'SellPrice',
label: '实际卖价',
field: 'SellPrice',
align: 'left',
field: row => row.SellPrice.toFixed(2)
},
{
name: "PreferentialList",
required: true,
label: "优惠政策",
align: "left",
field: row => row.PreferentialList
},
{
name: "PreferentialListSellCommission",
required: true,
label: "销售佣金",
align: "left",
field: row => row.PreferentialList
},
{
name: "PreferentialListB2BCommission",
required: true,
label: "同行佣金",
align: "left",
field: row => row.PreferentialList
},
{
name: 'Remark',
label: '备注',
field: 'Remark',
align: 'left'
},
{
name: 'SaleStateName',
label: '销售状态',
field: 'SaleStateName',
align: 'left'
},
{
name: 'Id',
label: '操作',
field: 'Id'
}
],
//审核类型
AuditStateList: [{
Id: 1,
Name: "待审核"
},
{
Id: 2,
Name: "已审核"
},
],
//项目类型列表
studyAbroadList: [{
Id: 1,
Name: "留学"
},
{
Id: 2,
Name: "就业"
},
],
//表格可见列
visibleColumns: [
'Name', 'Type', 'SuggestPrice', 'SellPrice', "PreferentialList", "PreferentialListSellCommission",
"PreferentialListB2BCommission",
"EducationCommission", 'SaleStateName', 'Id',
], //可见列
PageCount: 0,
showForm: false, //是否显示报价单弹窗
}
},
mounted() {
this.getList();
},
created() {
},
methods: {
//显示报价单弹窗
createQuotation() {
this.showForm = true;
},
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
//获取留学分页列表
getList() {
this.loading = true;
queryStudyAbroadPage(this.msg).then(res => {
this.loading = false;
this.dataList = res.Data.PageData;
this.PageCount = res.Data.PageCount;
})
.catch(() => {
this.loading = false;
});
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
//关闭弹窗
closeStudyForm() {
this.isShowStudyAudit = false;
},
closeStudyInfo() {
this.isShowInfo = false;
},
//留学就业审核
AuditStudy(obj) {
this.studyObj = obj;
this.isShowStudyAudit = true;
},
refreshPage() {
this.getList();
},
//审核详情
getviewInfo(obj) {
this.studyObj = obj;
this.isShowInfo = true;
}
}
}
</script>
<style scoped>
.border-bottom {
border-bottom: 1px dashed #EEE;
padding-bottom: 5px;
margin-bottom: 5px;
}
</style>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
...@@ -436,6 +436,11 @@ const routes = [{ ...@@ -436,6 +436,11 @@ const routes = [{
component: () => component: () =>
import("pages/sale/courseList.vue") import("pages/sale/courseList.vue")
}, },
{
path: "/sale/studyjob", //留学就业产品
component: () =>
import("pages/sale/studyjob.vue")
},
{ {
path: "/sale/courseoffer", //销售 报价单管理 path: "/sale/courseoffer", //销售 报价单管理
component: () => component: () =>
......
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