Commit 024b61da authored by 黄奎's avatar 黄奎
parents c07399bf a8b297e3
......@@ -20,7 +20,7 @@ export default {
</script>
<style>
@import url("//at.alicdn.com/t/font_2077629_dvjvubdhonm.css");
@import url("//at.alicdn.com/t/font_2077629_2mw9x18p9pv.css");
.q-scrollarea__thumb {
z-index: 999999 !important;
}
......
......@@ -342,12 +342,11 @@
insert(type) {
if(type==1){
this.addMsg.Content = this.addMsg.Content + '##客户名称##'
}else if(type==2){
this.addMsg.Content = this.addMsg.Content + '##员工名称##'
}else{
this.addMsg.Content = this.addMsg.Content + '##员工别名##'
}
// else if(type==2){
// this.addMsg.Content = this.addMsg.Content + '##员工名称##'
// }else{
// this.addMsg.Content = this.addMsg.Content + '##员工别名##'
// }
this.gettrigger()
},
selectimg() {//素材选择 图片模式
......
......@@ -37,7 +37,18 @@
.vClozeQuestionBold {
font-weight: bold;
}
.chooseOptionList:before{
content: "-";
display: block;
line-height: 1.5em;
color: transparent;
}
.chooseOptionList:after{
content: "-";
display: block;
line-height: 1em;
color: transparent;
}
</style>
<template>
<div class="vClozeQuestion">
......@@ -54,7 +65,7 @@
</thead>
<tbody class="chooseOptionList">
<tr v-for="(subItem,subIndex) in item.OptionList" :key="subIndex">
<td style="width:40px;text-align:center;">
<td style="width:40px;text-align:center;height:50px;">
<template v-if="isOperate">
<div class="Answer_List" @click="ChangeItem(item,subItem)" :class="{'Is_Answer':subItem.IsAnswer}">
{{subItem.Name}}
......
......@@ -23,11 +23,10 @@
.v_matchingQuestionBold {
font-weight: bold;
}
</style>
<template>
<div class="v_matchingQuestion">
<table v-if="data&&data.QuestionContentObj&&data.QuestionContentObj.length>0" class="common_TiTable">
<table v-if="data&&data.QuestionContentObj&&data.QuestionContentObj.length>0" class="common_TiTable" style="width:360px;">
<thead>
<tr>
<th colspan="2">第一组</th>
......@@ -58,12 +57,14 @@
<span class="line_center"></span>
</td>
<td>
<select v-model="data.QuestionContentObj[2][index].Content" class="selectBox2">
<template v-for="(cItem,cIndex) in data.QuestionContentObj[1]">
<option :key="cIndex" :label="cItem.Name" :value="cItem.Name">
</option>
</template>
</select>
<el-select v-model="data.QuestionContentObj[2][index].Content" style="width:100px" size="small" placeholder="请选择">
<el-option
v-for="(cItem,cIndex) in data.QuestionContentObj[1]"
:key="cIndex"
:label="cItem.Name"
:value="cItem.Name">
</el-option>
</el-select>
</td>
</tr>
</table>
......
......@@ -14,11 +14,16 @@
.v_sharingChooseQuestionBold {
font-weight: bold;
}
.shareChooseTable td{
vertical-align: middle!important;
}
.shareChooseTable td p{
margin:0!important;
}
</style>
<template>
<div class="v_sharingChooseQuestion">
<table v-if="data.QuestionContentObj&&data.QuestionContentObj.length>0" class="common_TiTable">
<table v-if="data.QuestionContentObj&&data.QuestionContentObj.length>0" class="common_TiTable shareChooseTable">
<thead>
<tr>
<th colspan="2" style="text-align:left;">
......@@ -29,7 +34,7 @@
</tr>
</thead>
<tr v-for="(item,index) in data.QuestionContentObj[0]" :key="index">
<td style="width:40px;text-align:center; ">
<td style="width:40px;text-align:center;height:40px; ">
{{item.Name}}
</td>
<td>
......@@ -37,10 +42,10 @@
</td>
</tr>
</table>
<table v-if="data.QuestionContentObj&&data.QuestionContentObj.length>0" class="common_TiTable">
<table v-if="data.QuestionContentObj&&data.QuestionContentObj.length>0" class="common_TiTable shareChooseTable">
<tbody v-for="(item,index) in data.QuestionContentObj[1]" :key="index">
<tr>
<td style="width:40px;text-align:center;">
<td style="width:40px;text-align:center;height:40px;">
({{index+1}})
</td>
<td>
......@@ -55,12 +60,14 @@
答案: {{data.QuestionContentObj[1][index].Name}}
</template>
<template v-if="isOperate">
<select v-model="item.Name" class="selectBox" style="margin:10px 0 0 0;outline:none;">
<template v-for="(cItem,cIndex) in data.QuestionContentObj[0]">
<option :key="cIndex" :label="cItem.Name" :value="cItem.Name">
</option>
</template>
</select>
<el-select v-model="item.Name" style="width:100px" size="small" placeholder="请选择">
<el-option
v-for="(cItem,cIndex) in data.QuestionContentObj[0]"
:key="cIndex"
:label="cItem.Name"
:value="cItem.Name">
</el-option>
</el-select>
</template>
</td>
</tr>
......
......@@ -56,12 +56,14 @@
<tr>
<td>
<template v-for="(item,index) in data.QuestionContentObj[1]">
<select v-model="item.Name" class="selectBox" :key="index">
<template v-for="(cItem,cIndex) in data.QuestionContentObj[0]">
<option :key="cIndex" :label="cItem.Name" :value="cItem.Name">
</option>
</template>
</select>
<el-select v-model="item.Name" :key="index" style="width:100px;margin-right:20px;" size="small" placeholder="请选择">
<el-option
v-for="(cItem,cIndex) in data.QuestionContentObj[0]"
:key="cIndex"
:label="cItem.Name"
:value="cItem.Name">
</el-option>
</el-select>
</template>
</td>
</tr>
......
......@@ -400,12 +400,11 @@
insert(type) {
if(type==1){
this.addMsg.Content = this.addMsg.Content + '##客户名称##'
}else if(type==2){
this.addMsg.Content = this.addMsg.Content + '##员工名称##'
}else{
this.addMsg.Content = this.addMsg.Content + '##员工别名##'
}
// else if(type==2){
// this.addMsg.Content = this.addMsg.Content + '##员工名称##'
// }else{
// this.addMsg.Content = this.addMsg.Content + '##员工别名##'
// }
},
selectimg() {//素材选择 图片模式
this.materialType = 2;
......
......@@ -54,11 +54,11 @@
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn v-if="props.row.ExamStatus==1||props.row.ExamStatus==2" flat color="primary" size="xs"
<q-btn flat color="primary" size="xs"
style="font-weight:400;" class="q-mr-md" label="学员考试" @click="gotoExamTest(props.row)" />
<q-btn v-if="props.row.ExamStatus==3" flat color="primary" size="xs" style="font-weight:400;"
<q-btn flat color="primary" size="xs" style="font-weight:400;"
class="q-mr-md" label="阅卷" @click="gotoExamTestReview(props.row)" />
<q-btn v-if="props.row.ExamStatus==5" flat color="primary" size="xs" style="font-weight:400;"
<q-btn flat color="primary" size="xs" style="font-weight:400;"
class="q-mr-md" label="详情" @click="gotoExamTestInfo(props.row)" />
</q-td>
</template>
......
......@@ -241,16 +241,19 @@
.examPaperInfo_Top .vClozeQuestion .clozeTest_question_tit {
margin: 15px 0;
}
.Exam_PaperName{
font-size:20px;
font-weight: bold;
margin-bottom:5px;
}
</style>
<template>
<div class="examPaper page-body">
<div class="examPaperInfo_Top">
<div>
<div>
{{DataObj.PaperName}} <br />
题量:{{examNum}} &nbsp;&nbsp;&nbsp; 满分:{{examScore}}
<div class="Exam_PaperName">{{DataObj.PaperName}}</div>
<div>题量:{{examNum}} &nbsp;&nbsp;&nbsp; 满分:{{examScore}}</div>
</div>
</div>
<div style="width:20%;text-align:right;">
......@@ -264,11 +267,13 @@
<div class="pGNameDiv"><span class="pGroupName">{{NoToChinese(gIndex+1)}}{{gItem.GroupName}}</span> (共
{{gItem.DetailsList.length}} 题,{{gItem.GScore}}分)</div>
<div v-for="(dItem,dIndex) in gItem.DetailsList" :key="dIndex">
<div style="display:flex;margin:10px 0;">
<span>{{dIndex+1}}</span>
<span class="paper_Title" v-html="dItem.Title"></span>
<span style="margin:10px 0;display:inline-block;">
<span style="margin-left:10px;display:inline-block;">
({{dItem.Score}}分)
</span>
</div>
<!--单选题-->
<v-single v-if="dItem.QuestionTypeKey=='single'||dItem.QuestionTypeKey=='single-number'"
:questionObj="dItem" :isShowAnswer="isShowAnswer" :isOperate="isOperate">
......
<style>
.baseSet_Title {
width: 120px !important;
padding: 18px 0 0 16px;
text-align: right;
}
.salesRules .border-bottom {
/* border-bottom: 1px dashed #EEE; */
padding-bottom: 5px;
margin-bottom: 5px;
}
.salesRules .text-bottom {
height: 32px;
line-height: 32px;
margin-bottom: 10px;
}
</style>
<template>
<div class="page-body studyAbroadRules">
<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 filled v-model="listData.FirstRate" :min='0' :max='100' @input="getFirsrate" label="首次发放比例"
type="number" />
</div>
</div>
</div>
<template>
<q-table :loading="loading" :pagination="tabeMsg" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="horizontal" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top="props">
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" v-if='isSalerule_preserve == true' @click="preservation()" ref="addBtn" label="保存规则" />
</div>
</template>
<template v-slot:body="props">
<q-tr :props="props">
<template v-for="col in props.cols">
<q-td v-if="col.name=='CTypeName'">
{{col.value}}
</q-td>
<q-td v-if="col.name == 'EnrollType'">
<div v-for="item in col.value">
<div class="text-bottom">
{{item.EnrollType==1?'初次':'续班'}}
</div>
</div>
</q-td>
<q-td v-if="col.name == 'SalesRate'">
<div v-for="(item,index) in col.value" :key='index'>
<div class="border-bottom">
<el-input v-model="item.SalesRate" style='width:180px' type="number" :min='1' :max='100'
placeholder="请输入内容" @blur='xiaoshou(props.pageIndex,index)' size="small">
<template slot="append">%</template>
</el-input>
</div>
</div>
</q-td>
<q-td v-if="col.name == 'assistant'" style="width: 100px;text-align: center;">
<div v-for="item in col.value">
<div class="text-bottom">
{{100-item.SalesRate}}%
</div>
</div>
</q-td>
<q-td v-if="col.name == 'TeacherRate'">
<div v-for="(item,index) in col.value" :key='index'>
<div class="border-bottom">
<span style="margin-right: 10px;">其中( 老师:</span>
<el-input v-model="item.TeacherRate" style='width:180px' type="number" :min='0' :max='100'
placeholder="请输入内容" @blur='teacherinput(props.pageIndex,index)' size="small">
<template slot="append">%</template>
</el-input>
</div>
</div>
</q-td>
<q-td v-if="col.name == 'AssistantRate'">
<div v-for="(item,index) in col.value" :key='index'>
<div class="border-bottom">
<span style="margin-right: 10px;">助教:</span>
<el-input v-model="item.AssistantRate" style='width:180px' type="number" :min='0' :max='100'
placeholder="请输入内容" @blur='assistantinput(props.pageIndex,index)' size="small">
<template slot="append">%</template>
</el-input>
<span style="margin-left: 10px;"></span>
</div>
</div>
</q-td>
</template>
</q-tr>
</template>
<template v-slot:bottom>
<!-- <q-pagination class="full-width justify-end" v-model="tabeMsg.pageIndex" color="primary" :max="1"
:input="true" @input="changePage" /> -->
</template>
</q-table>
</template>
</div>
</template>
<script>
import {
GetClassTypePageList,
} from '../../../api/system/index';
import {
getSellCommissionRuleList,
setSellCommissionRule
} from '../../../api/finance/index'
export default {
meta: {
title: "留学提成规则"
},
props: {},
components: {},
data() {
return {
columns: [{
name: 'CTypeName',
label: '类型',
field: 'CTypeName',
align: 'left'
},
{
name: 'EnrollType',
label: '报名类型',
align: 'left',
field: 'EnrollType',
field: row => row.List
},
{
name: 'SalesRate',
label: '销售提成比例',
align: 'left',
field: 'SalesRate',
field: row => row.List
},
{
name: 'assistant',
label: '(老师+助教总提成)',
align: 'left',
field: 'assistant',
field: row => row.List
},
{
name: 'TeacherRate',
label: '',
align: 'left',
field: 'TeacherRate',
field: row => row.List
},
{
name: 'AssistantRate',
label: '',
align: 'left',
field: 'AssistantRate',
field: row => row.List
},
],
loading: false,
dataList: [], //列表数据
//列表数据参数
tabeMsg: {
pageIndex: 1,
pageSize: 99
},
pageCount: 0,
persistent: false,
listData: {},
isSalerule_preserve:false,
}
},
created() {
let userinfo = this.getLocalStorage();
userinfo.ActionMenuList.map(x=>{//判断权限
if(x.FunctionCode == "Salerule_preserve"){//判断是否有保存的权限
this.isSalerule_preserve = true;
return
}
})
},
mounted() {
this.getRuleList(); //获取规则
},
methods: {
getRuleList() {
this.loading = true;
getSellCommissionRuleList({}).then(res => {
if (res.Code == 1) {
this.listData = res.Data
this.GetClassTypePageList(); //获取班级类型列表数据
}
})
},
//获取班级类型列表数据
GetClassTypePageList() {
GetClassTypePageList(this.tabeMsg).then(res => {
this.loading = false;
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.dataList.forEach((x, i) => {
x.List = []
this.listData.List.forEach(j => {
if (x.CTypeId == j.ClassType) {
x.List.push(j)
}
})
//如果没有相同的但是 班级类型又有 给予默认的值
//注 由于 JavaScript 的限制,Vue 不能检测以下变动的数组:这里使用this.$set方法
if (x.List && x.List.length == 0) {
let obj = {
CTypeName: x.CTypeName,
CTypeId: x.CTypeId,
List: [{
Id: 0,
ClassType: x.CTypeId,
EnrollType: 2,
SalesRate: 1,
TeacherRate: 0,
AssistantRate: 0
},
{
Id: 0,
ClassType: x.CTypeId,
EnrollType: 1,
SalesRate: 1,
TeacherRate: 0,
AssistantRate: 0
},
]
}
this.$set(this.dataList, i, obj)
}
})
}
})
},
xiaoshou(pageIndex, index) {
let that = this
if (that.dataList[pageIndex].List[index].SalesRate == '' || that.dataList[pageIndex].List[index].SalesRate <
0) {
that.dataList[pageIndex].List[index].SalesRate = 1
} else if (that.dataList[pageIndex].List[index].SalesRate > 100) {
that.dataList[pageIndex].List[index].SalesRate = 100
}
},
teacherinput(pageIndex, index) { //老师输入的时候input
if (this.dataList[pageIndex].List[index].TeacherRate == '') {
this.dataList[pageIndex].List[index].TeacherRate = 100 - this.dataList[pageIndex].List[index].AssistantRate
} else if (this.dataList[pageIndex].List[index].TeacherRate > 100 || this.dataList[pageIndex].List[index]
.TeacherRate < 0) {
this.dataList[pageIndex].List[index].TeacherRate = 0;
this.dataList[pageIndex].List[index].AssistantRate = 100;
} else {
this.dataList[pageIndex].List[index].AssistantRate = 100 - this.dataList[pageIndex].List[index].TeacherRate
}
},
assistantinput(pageIndex, index) { //助教输入的时候input
if (this.dataList[pageIndex].List[index].AssistantRate == '') {
this.dataList[pageIndex].List[index].AssistantRate = 100 - this.dataList[pageIndex].List[index].TeacherRate
} else if (this.dataList[pageIndex].List[index].AssistantRate > 100 || this.dataList[pageIndex].List[index]
.AssistantRate < 0) {
this.dataList[pageIndex].List[index].AssistantRate = 0;
this.dataList[pageIndex].List[index].TeacherRate = 100;
} else {
this.dataList[pageIndex].List[index].TeacherRate = 100 - this.dataList[pageIndex].List[index].AssistantRate
}
},
getFirsrate() {
if (this.listData.FirstRate > 100) {
this.listData.FirstRate = 100
} else if (this.listData.FirstRate < 0) {
this.listData.FirstRate = 0
}
},
preservation() { //保存规则
let addMsg = {
FirstRate: this.listData.FirstRate,
List: [],
}
this.dataList.forEach(x => {
x.List.forEach(j => {
addMsg.List.push(j)
})
})
setSellCommissionRule(addMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '数据保存成功!',
position: 'top'
})
}
})
},
changePage() {
}
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
\ No newline at end of file
......@@ -603,6 +603,11 @@ const routes = [{
component: () =>
import("pages/financial/reportform/activityStatistics.vue")
},
{
path: "/financial/studyabroad/studyAbroadRules", //财务流程 留学提成规则
component: () =>
import("pages/financial/studyabroad/studyAbroadRules.vue")
},
{
......
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