Commit 735922c4 authored by Mac's avatar Mac
parents e4310807 eb90671a
......@@ -247,6 +247,9 @@ export function UploadFileToSystem(uploadConfig, fileFullPath, fileObj, uploadLo
if (configObj.isCreateCover && configObj.isCreateCover == 1) {
url += "&isCreateCover=1"
}
if (configObj.isOcr && configObj.isOcr == 1) {
url += "&ocr=1"
}
}
let formData = new FormData()
formData.append('myfile', fileObj)
......
......@@ -108,7 +108,7 @@
</tr>
<tr>
<td style="width:70px;">
一般同行
同行返佣
</td>
<td>
<q-input filled stack-label dense v-model="priceObj.courseObj.B2BRebateRatio" ref="B2BRebateRatio"
......@@ -143,7 +143,7 @@
</tr>
<tr>
<td>
校代
校代返佣
</td>
<td>
<q-input filled stack-label dense v-model="priceObj.courseObj.SchoolRebateRatio" ref="SchoolRebateRatio"
......@@ -178,7 +178,7 @@
</tr>
<tr>
<td>
转介
学员转介返佣
</td>
<td>
<q-input filled stack-label dense v-model="priceObj.courseObj.TransIntroductceRatio"
......@@ -215,7 +215,7 @@
</tr>
<tr>
<td>
内推
内推返佣
</td>
<td>
<q-input filled stack-label dense v-model="priceObj.courseObj.InnerRecommendRatio"
......@@ -250,6 +250,43 @@
</div>
</td>
</tr>
<tr>
<td>
直客返佣
</td>
<td>
<q-input filled stack-label dense v-model="priceObj.courseObj.B2CRbRatio"
ref="B2CRbRatio"
@keyup.native="checkPrice(priceObj.courseObj, 'B2CRbRatio'),getShouBAO(11)" suffix="%" />
</td>
<td style="text-align:center">
{{getShouBAO(11)}}
</td>
<td style="width:200px;">
<div class="row wrap">
<q-select class="col-7" filled dense v-model="priceObj.courseObj.B2CRbRatioType" :options="CourseRebateList"
emit-value map-options option-value="Id" option-label="Name" label="返佣设置" />
<q-input class="col-6" v-if="priceObj.courseObj.B2CRbRatioType==3" filled stack-label dense
v-model="priceObj.courseObj.B2CRbRatioValue" @keyup.native="checkPrice(priceObj.courseObj, 'B2CRbRatioValue')" style="width:75px;margin-left:5px;" />
</div>
</td>
<td>
<q-input filled stack-label dense v-model="priceObj.courseObj.B2CRNRatio"
ref="B2CRNRatio"
@keyup.native="checkPrice(priceObj.courseObj, 'B2CRNRatio'),getShouBAO(12)" suffix="%" />
</td>
<td style="text-align:center">
{{getShouBAO(12)}}
</td>
<td style="width:200px;">
<div class="row wrap">
<q-select class="col-7" filled dense v-model="priceObj.courseObj.B2CRNRatioType" :options="CourseRebateList"
emit-value map-options option-value="Id" option-label="Name" label="返佣设置" />
<q-input class="col-5" v-if="priceObj.courseObj.B2CRNRatioType==3" filled stack-label dense
v-model="priceObj.courseObj.B2CRNRatioValue" @keyup.native="checkPrice(priceObj.courseObj, 'B2CRNRatioValue')" style="width:75px;margin-left:5px;" />
</div>
</td>
</tr>
</table>
</q-card-section>
......@@ -316,7 +353,13 @@
InnerRecommendRatioValue: '',
InnerRecommendReNewRatio: 0, //內推续费返佣比例
InnerRecommendReNewRatioType: 1,
InnerRecommendReNewRatioValue: ''
InnerRecommendReNewRatioValue: '',
B2CRbRatio:0,//直客首次报名返佣比例
B2CRbRatioType:1,//直客首次报名返佣类型
B2CRbRatioValue:"",// 直客首次报名返佣类型值
B2CRNRatio:0,//直客续费返佣比例
B2CRNRatioType:1,//直客续费返佣类型
B2CRNRatioValue:"",//直客续费返佣类型值
},
priceList: [] //价格列表
},
......@@ -410,7 +453,12 @@
this.priceObj.courseObj.InnerRecommendReNewRatio = res.Data.InnerRecommendReNewRatio;
this.priceObj.courseObj.InnerRecommendReNewRatioType = res.Data.InnerRecommendReNewRatioType;
this.priceObj.courseObj.InnerRecommendReNewRatioValue = res.Data.InnerRecommendReNewRatioValue;
this.priceObj.courseObj.B2CRbRatio = res.Data.B2CRbRatio;
this.priceObj.courseObj.B2CRbRatioType = res.Data.B2CRbRatioType;
this.priceObj.courseObj.B2CRbRatioValue = res.Data.B2CRbRatioValue;
this.priceObj.courseObj.B2CRNRatio = res.Data.B2CRNRatio;
this.priceObj.courseObj.B2CRNRatioType = res.Data.B2CRNRatioType;
this.priceObj.courseObj.B2CRNRatioValue = res.Data.B2CRNRatioValue;
});
queryCoursePreferentialList({
CourseId: this.saveObj.CourseId
......@@ -558,6 +606,20 @@
return Count;
}
}
if (type == 11) {
if (this.priceObj.courseObj.B2CRbRatio) {
let num = currentPrice * Number(this.priceObj.courseObj.B2CRbRatio) / 100;
Count = num.toFixed(2);
return Count;
}
}
if (type == 12) {
if (this.priceObj.courseObj.B2CRNRatio) {
let num = currentPrice * Number(this.priceObj.courseObj.B2CRNRatio) / 100;
Count = num.toFixed(2);
return Count;
}
}
}
}
};
......
......@@ -170,9 +170,9 @@
item.TargetOrderId
}}
</div>
<div>创建人:{{ item.CreateByName }}</div>
<div>课程顾问:{{ item.ConsultantName||'无' }}</div>
<div>市场专员:{{ item.EnterName ||'无' }}</div>
<div>{{ item.CreateByName }}</div>
<div>课程顾问{{ item.ConsultantName||'无' }}</div>
<div>市场专员{{ item.EnterName ||'无' }}</div>
<div style="margin-top: 10px">{{ item.CreateTime }}</div>
<template v-if="AuthorityObj.isShowName">
......@@ -348,7 +348,7 @@
<span style="color: #02C499">{{ item.OrderStateName }}</span>
</div>
</td>
<td style="border:none" v-if="viewType == 0">
<td v-if="viewType == 0">
<template
v-if="(isEditOrder || AuthorityObj.isShowEdit) && comefrom == 0"
>
......@@ -2822,7 +2822,7 @@ li {
}
.table-body {
height: 590px;
/* height: 590px; */
overflow-x: hidden;
overflow-y: auto;
}
......
......@@ -417,7 +417,6 @@
}
},
watch:{
stuData(){
this.init();
......
......@@ -76,6 +76,11 @@
SetEducationContractSign,
SetBackClassProtocolSign
} from '../api/sale/contract'
import {
UploadSelfFile
} from '../api/common/common'
export default {
data() {
return {
......@@ -95,7 +100,7 @@
Type: 1, //1为电子合同签字 2为退课协议签字
BackMsg: {
Id: 0,
sign:''
sign: ''
}
};
},
......@@ -223,13 +228,75 @@
// _this.basedata = dataurl;
_this.msg.Sign = canvas1.toDataURL(type);
_this.BackMsg.sign = canvas1.toDataURL(type);
let newArr = [];
var fileName = `${_this.uuid(10,10)}.png`;
var path = `/assets/sign/`;
let configObj= {
isOcr:1
}
newArr.push(_this.dataURLtoFile(_this.msg.Sign, fileName));
console.log(newArr[0],'newArr[0]');
UploadSelfFile(path, newArr[0], x => {
console.log(x, 'xxxxxxx');
}, configObj);
_this.SaveMsg();
};
};
},
dataURLtoFile(dataurl, filename) { //将base64转换为文件
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {
type: mime
});
},
uuid(len, radix) {
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
var uuid = [],
i;
radix = radix || chars.length;
if (len) {
// Compact form
for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
} else {
var r;
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
uuid[14] = '4';
for (i = 0; i < 36; i++) {
if (!uuid[i]) {
r = 0 | Math.random() * 16;
uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
}
}
}
return uuid.join('');
},
//上传图片验证有无签字
uploadFile(files) {
UploadSelfFile("course", files[0], (res) => {
if (res.Code == 1) {
}
});
},
//提交数据
SaveMsg() {
if (this.Type == 1) {
console.log(this.msg, 'msg');
console.log(this.base64ToBlob(this.msg.Sign), 'Sign');
return
SetEducationContractSign(this.msg).then(res => {
if (res.Code == 1) {
this.$q.notify({
......@@ -249,7 +316,7 @@
}
})
}
if(this.Type == 2){
if (this.Type == 2) {
SetBackClassProtocolSign(this.BackMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
......@@ -294,14 +361,14 @@
},
//返回上一级
goback() {
if(this.Type==1){
if (this.Type == 1) {
this.$router.push({
path: '/contractConfirm',
query: {
ContractId: this.msg.ContractId
}
});
}else{
} else {
this.$router.push({
path: '/courseRefundH5',
query: {
......
......@@ -9,43 +9,43 @@
<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.OrderId" label="订单号"
<q-input @change="resetSearch" clearable dense standout="bg-primary text-white" v-model="msg.OrderId" label="订单号"
@clear="resetSearch" maxlength="10" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.CourseSubject"
<q-select @input="resetSearch" dense standout="bg-primary text-white" v-model="msg.CourseSubject"
:options="CourseSubjectList" option-label="SubjectName" option-value="Id" emit-value map-options
label="所属科目" clearable />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.GuestName" label="客户名称"
<q-input @change="resetSearch" dense clearable standout="bg-primary text-white" v-model="msg.GuestName" label="客户名称"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ClassName" label="班级名称"
<q-input @change="resetSearch" dense clearable standout="bg-primary text-white" v-model="msg.ClassName" label="班级名称"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="CourseId"
<q-select @input="resetSearch" dense standout="bg-primary text-white" option-value="CourseId"
option-label="CourseName" v-model="msg.CouseId" :options="CourseList" emit-value map-options label="学习课程" />
</div>
<div class="col-3">
<q-select @input="msg.OrderState==0?(msg.Q_OrderState = 1):msg.Q_OrderState=0,resetSearch()"
<q-select dense @input="msg.OrderState==0?(msg.Q_OrderState = 1):msg.Q_OrderState=0,resetSearch()"
standout="bg-primary text-white" option-value="Id" option-label="Name" v-model="msg.OrderState"
:options="OrderStateList" emit-value map-options label="订单状态" />
</div>
<div class="col-3">
<q-field filled>
<q-field filled dense>
 <template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
<el-date-picker v-model="dateList" @change="resetSearch()" size="mini" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间" />   
</template>
</q-field>
</div>
<div class="col-3">
<q-field filled>
<q-field filled dense>
 <template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
<el-date-picker v-model="dateList2" @change="resetSearch()" size="mini" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="开班开始时间"  end-placeholder="开班结束时间" />  
</template>
</q-field>
......
......@@ -15,37 +15,37 @@
<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.OrderId" label="订单号"
<q-input @change="resetSearch" clearable dense standout="bg-primary text-white" v-model="msg.OrderId" label="订单号"
@clear="resetSearch" maxlength="10" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.CourseSubject"
<q-select @input="resetSearch" dense standout="bg-primary text-white" v-model="msg.CourseSubject"
:options="CourseSubjectList" option-label="SubjectName" option-value="Id" emit-value map-options label="所属科目"
clearable />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.GuestName" label="学生名称"
<q-input @change="resetSearch" dense clearable standout="bg-primary text-white" v-model="msg.GuestName" label="学生名称"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ClassName" label="班级名称"
<q-input @change="resetSearch" dense clearable standout="bg-primary text-white" v-model="msg.ClassName" label="班级名称"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ClassNo" label="班号"
<q-input @change="resetSearch" dense clearable standout="bg-primary text-white" v-model="msg.ClassNo" label="班号"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="CourseId"
<q-select @input="resetSearch" dense standout="bg-primary text-white" option-value="CourseId"
option-label="CourseName" v-model="msg.CouseId" :options="CourseList" emit-value map-options label="学习课程" />
</div>
<div class="col-3">
<q-select @input="msg.OrderState==0?(msg.Q_OrderState = 1):msg.Q_OrderState=0,resetSearch()"
<q-select dense @input="msg.OrderState==0?(msg.Q_OrderState = 1):msg.Q_OrderState=0,resetSearch()"
standout="bg-primary text-white" option-value="Id" option-label="Name" v-model="msg.OrderState"
:options="OrderStateList" emit-value map-options label="订单状态" />
</div>
<div class="col-3">
<q-field filled>
<q-field filled dense>
 <template v-slot:control>
<el-date-picker v-model="msg.StartTime" type="date" placeholder="报名开始时间" size="small" style="width:47%;"
@change="resetSearch" clear-icon="iconfont icon-guanbi">
......@@ -60,21 +60,21 @@
</q-field>
</div>
<div class="col-3">
<q-field filled>
<q-field filled dense>
 <template v-slot:control>
<el-date-picker v-model="dateList2" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
<el-date-picker v-model="dateList2" @change="resetSearch()" size="mini" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="开班开始时间"  end-placeholder="开班结束时间">
 </el-date-picker>       
</template>
</q-field>
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
<q-select @input="resetSearch" dense standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
v-model="msg.EnterID" :options="EmployeeList" emit-value map-options label="业务员" use-input
@filter="filterFn2" />
</div>
<div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
<q-select @input="resetSearch" dense standout="bg-primary text-white" option-value="Id" option-label="EmployeeName"
v-model="msg.HelpEnterId" :options="TeacherList" emit-value map-options label="关联教师" use-input
@filter="filterFn3" />
</div>
......
......@@ -9,21 +9,21 @@
<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.OrderId" label="订单号"
<q-input @change="resetSearch" clearable dense standout="bg-primary text-white" v-model="msg.OrderId" label="订单号"
@clear="resetSearch" maxlength="10" />
</div>
<div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.GuestName" label="客户名称"
<q-input @change="resetSearch" clearable dense standout="bg-primary text-white" v-model="msg.GuestName" label="客户名称"
@clear="resetSearch" maxlength="20" />
</div>
<div class="col-3">
<q-select @input="msg.OrderState==0?(msg.Q_OrderState = 1):msg.Q_OrderState=0,resetSearch()" standout="bg-primary text-white" option-value="Id" option-label="Name"
<q-select dense @input="msg.OrderState==0?(msg.Q_OrderState = 1):msg.Q_OrderState=0,resetSearch()" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.OrderState" :options="OrderStateList" emit-value map-options label="订单状态" />
</div>
<div class="col-3">
<q-field filled>
<q-field filled dense>
 <template v-slot:control>
<el-date-picker v-model="dateList" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
<el-date-picker v-model="dateList" size="mini" @change="resetSearch()" value-format="yyyy-MM-dd" type="daterange" style="border:none;"
 range-separator="至"  start-placeholder="报名开始时间"  end-placeholder="报名结束时间">
 </el-date-picker>       
</template>
......
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