Commit 524c765d authored by zhengke's avatar zhengke

1

parents 68b16b8b 9a9fddd5
......@@ -56,4 +56,38 @@ export function delScrollShiftInfo(data) {
method: 'post',
data
})
}
/**
* 获取上课时段列表
* @param {JSON参数} data
*/
export function getScrollCourseTimeList(data) {
return request({
url: '/Scroll/GetScrollCourseTimeList',
method: 'post',
data
})
}
/**
* 新增修改上课时段
* @param {JSON参数} data
*/
export function setScrollCourseTimeInfo(data) {
return request({
url: '/Scroll/SetScrollCourseTimeInfo',
method: 'post',
data
})
}
/**
* 删除上课时段
* @param {JSON参数} data
*/
export function delScrollCourseTimeInfo(data) {
return request({
url: '/Scroll/DelScrollCourseTimeInfo',
method: 'post',
data
})
}
\ No newline at end of file
......@@ -21,34 +21,34 @@
</div>
<div class="row wrap">
<div class="col-12">
<el-input v-model="objOption.GoalMoney" placeholder="金额"
@keyup.native="checkInteger(objOption,'GoalMoney')"></el-input>
<q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.GoalMoney" ref="GoalMoney2"
label="目标金额" :rules="[val => !!val || '请填写目标金额']" />
</div>
</div>
<div class="row wrap" style="margin-top:10px;">
<div class="col-12">
<selectTree :treeData='DeptList' :defaultArray="returnString" nodeKey="DeptId" :multiple="false"
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"></selectTree>
<q-select filled stack-label v-model="objOption.Dept_Id" :options="DeptList" emit-value map-options
label="所属部门" option-label="DeptName" option-value="DeptId" />
</div>
</div>
</template>
<template v-if="isShow==2">
<div class="row wrap">
<div class="col-12">
<el-date-picker v-model="value2" style="width:100%" type="month"
value-format="yyyy-MM" placeholder="选择月">
<el-date-picker v-model="value2" style="width:100%" type="month" value-format="yyyy-MM" placeholder="选择月">
</el-date-picker>
</div>
</div>
<div class="row wrap" style="margin-top:10px;">
<div class="col-12">
<el-input v-model="updateMsg.GoalMoney" placeholder="金额" @keyup.native="checkInteger(updateMsg,'GoalMoney')"></el-input>
<q-input filled stack-label maxlength="20" :dense="false" v-model="updateMsg.GoalMoney" ref="GoalMoney2"
label="目标金额" :rules="[val => !!val || '请填写目标金额']" />
</div>
</div>
<div class="row wrap" style="margin-top:10px;">
<div class="col-12">
<selectTree :treeData='DeptList' :defaultArray="returnString2" nodeKey="DeptId" :multiple="false"
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"></selectTree>
<q-select filled stack-label v-model="updateMsg.Dept_Id" :options="DeptList" emit-value map-options
label="所属部门" option-label="DeptName" option-value="DeptId" />
</div>
</div>
</template>
......@@ -56,10 +56,10 @@
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="closeSaveForm" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" v-if="isShow==1" :loading="saveLoading"
@click="saveNeed" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" v-if="isShow==2" :loading="saveLoading"
@click="saveTarget" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" v-if="isShow==1"
:loading="saveLoading" @click="saveNeed" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" v-if="isShow==2"
:loading="saveLoading" @click="saveTarget" />
</q-card-actions>
</q-card>
</q-dialog>
......@@ -72,7 +72,6 @@
} from '../../api/system/index'
//部门
import {
getDeptTree,
getDeptList
} from '../../api/system/dept'
import selectTree from '../../components/common/select-tree'
......@@ -93,7 +92,7 @@
value: '',
objOption: {
GoalMoney: "",
Dept_Id: 0,
Dept_Id: 13,
TimeList: [],
},
updateMsg: {
......@@ -105,39 +104,25 @@
},
optionTitle: "",
DeptList: [], // 部门下拉
returnString: [], //默认岗位
isShow: 1,
value2:'',
returnString2:[]
value2: '',
}
},
created() {
this.queryDeptList();
},
mounted() {
this.initObj();
this.queryDeptTree();
},
methods: {
//获取部门结构树
queryDeptTree() {
getDeptTree({}).then(res => {
if (res.Code == 1) {
this.DeptList = res.Data;
}
})
queryDeptList() {
var qMsg = {};
getDeptList(qMsg).then(res => {
this.DeptList = res.Data;
});
},
getChild(deptArray) {
var tempStr = "";
if (deptArray && deptArray != '') {
tempStr = deptArray;
}
if (tempStr) {
this.objOption.Dept_Id = tempStr;
this.updateMsg.Dept_Id = tempStr;
} else {
this.objOption.Dept_Id = 0;
this.updateMsg.Dept_Id = 0;
}
},
//选择月份
dateChange(val) {
this.objOption.TimeList.push(val) // 这里记得格式化
......@@ -156,9 +141,8 @@
this.updateMsg.MonthStr = res.Data.MonthStr;
this.updateMsg.GoalMoney = res.Data.GoalMoney;
this.updateMsg.Dept_Id = res.Data.Dept_Id;
this.returnString2.push(res.Data.Dept_Id);
this.isShow = 2;
this.value2 = this.updateMsg.YearStr+'-'+this.updateMsg.MonthStr;
this.value2 = this.updateMsg.YearStr + '-' + this.updateMsg.MonthStr;
})
this.optionTitle = "修改目标"
} else {
......@@ -192,12 +176,12 @@
})
},
//修改保存
saveTarget(){
if(this.value2){
saveTarget() {
if (this.value2) {
let myDate = this.value2.split('-');
this.updateMsg.YearStr = myDate[0];
this.updateMsg.MonthStr = myDate[1];
}else{
} else {
this.updateMsg.YearStr = '';
this.updateMsg.MonthStr = '';
}
......@@ -219,5 +203,4 @@
}
}
}
</script>
</script>
\ No newline at end of file
......@@ -374,17 +374,23 @@
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule">
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.TrialLessonCount,ConsultObj.YestodayTrialLesson)>0}">
{{calcPercent(ConsultObj.TrialLessonCount,ConsultObj.YestodayTrialLesson)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule">
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekTrialLesson,ConsultObj.LastWeekTrialLesson)>0}">
{{calcPercent(ConsultObj.CurWeekTrialLesson,ConsultObj.LastWeekTrialLesson)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule">
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthTrialLesson,ConsultObj.LastMonthTrialLesson)>0}">
{{calcPercent(ConsultObj.CurMonthTrialLesson,ConsultObj.LastMonthTrialLesson)}}%
</span>
</div>
</div>
......@@ -394,7 +400,7 @@
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">到访累计</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.VisitCount}}</span>
......@@ -429,32 +435,29 @@
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">转化率</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Ci"></span>
<span class="Data_Ci">%</span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
<span class="label_Day">昨日</span>
<span class="label_Cule">
{{ConsultObj.YestodayRates}} %
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
<span class="label_Cule">
{{ConsultObj.CurWeekRates}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
<span class="label_Cule">
{{ConsultObj.CurMonthRates}}%
</span>
</div>
</div>
......@@ -464,32 +467,32 @@
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">有效回访总量</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Span">{{ConsultObj.FollowCount}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
:class="{'greenClass':calcPercent(ConsultObj.FollowCount,ConsultObj.YestodayFollow)>0}">
{{calcPercent(ConsultObj.FollowCount,ConsultObj.YestodayFollow)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
:class="{'greenClass':calcPercent(ConsultObj.CurWeekFollow,ConsultObj.LastWeekFollow)>0}">
{{calcPercent(ConsultObj.CurWeekFollow,ConsultObj.LastWeekFollow)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
:class="{'greenClass':calcPercent(ConsultObj.CurMonthFollow,ConsultObj.LastMonthFollow)>0}">
{{calcPercent(ConsultObj.CurMonthFollow,ConsultObj.LastMonthFollow)}}%
</span>
</div>
</div>
......@@ -499,32 +502,29 @@
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">单资源回访平均数</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Span">{{ConsultObj.AgFollow}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
<span class="label_Cule">
{{ConsultObj.YestodayAgFollow}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
<span class="label_Cule">
{{ConsultObj.CurWeekAgFollow}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
<span class="label_Cule">
{{ConsultObj.CurMonthAgFollow}}%
</span>
</div>
</div>
......@@ -533,33 +533,18 @@
</div>
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">当周新签数(以周为单位)</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Title">本周新签数</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Ci"></span>
<span class="Data_Span">{{ConsultObj.CurWeekOrderNum}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
<span class="label_Day">上周</span>
<span class="label_Cule">
{{ConsultObj.LastWeekOrderNum}}
</span>
</div>
</div>
......@@ -568,33 +553,18 @@
</div>
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">当周签约金额(以周为单位)</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Title">本周签约金额</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Ci"></span>
<span class="Data_Span">{{ConsultObj.CurWeekOrderSale}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
<span class="label_Cule">
{{ConsultObj.LastWeekOrderSale}}%
</span>
</div>
</div>
......@@ -604,32 +574,17 @@
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">新签数累计</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Ci"></span>
<span class="Data_Span">{{ConsultObj.CurMonthOrderNum}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
<span class="label_Cule">
{{ConsultObj.LastMonthOrderNum}}
</span>
</div>
</div>
......@@ -639,32 +594,17 @@
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">签约金额累计</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Ci"></span>
<span class="Data_Span">{{ConsultObj.CurMonthOrderSale}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
<span class="label_Cule">
{{ConsultObj.LastMonthOrderSale}}%
</span>
</div>
</div>
......@@ -674,69 +614,21 @@
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">当月效能目标</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
</span>
</div>
</div>
</div>
</div>
</div>
<div class="Data_List2">
<div class="Data_Inner">
<div class="Data_Title">当月效能目标进度</div>
<div class="Data_Time">{{ConsultObj.DayStr}} 周四</div>
<div class="Data_Time">{{ConsultObj.DayStr}} {{ConsultObj.WeekStr}}</div>
<div class="Data_wrapper">
<div class="Data_Left">
<span class="Data_Span">{{ConsultObj.Rates}}</span>
<span class="Data_Ci"></span>
<span class="Data_Span">{{ConsultObj.CurMonthOrderGoal}}</span>
<span class="Data_Ci"></span>
</div>
<div class="Data_Right">
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)>0}">
{{calcPercent(ConsultObj.Rates,ConsultObj.YestodayRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)>0}">
{{calcPercent(ConsultObj.CurWeekRates,ConsultObj.LastWeekRates)}}%
</span>
</div>
<div class="Data_One">
<span class="label_Day"></span>
<span class="label_Day">完成进度</span>
<span class="label_Cule"
:class="{'greenClass':calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)>0}">
{{calcPercent(ConsultObj.CurMonthRates,ConsultObj.LastMonthRates)}}%
:class="{'greenClass':calcPercent(ConsultObj.CurMonthOrderSale,ConsultObj.CurMonthOrderGoal)>0}">
{{calcPercent(ConsultObj.CurMonthOrderSale,ConsultObj.CurMonthOrderGoal)}}%
</span>
</div>
</div>
</div>
</div>
......@@ -762,7 +654,7 @@
data() {
return {
dateList: [],
comType: 1, //1-市场部;2-课程顾问部
comType: 2, //1-市场部;2-课程顾问部
msg: {
startTime: "",
endTime: "",
......
<style>
.classHours .border-bottom {
padding-bottom: 5px;
margin-bottom: 5px;
}
.classHours .text-bottom {
height: 32px;
line-height: 32px;
padding-left: 16px;padding-right: 16px;
border-bottom: 1px dashed #eee;
}
.classHours .singeRowTable tr th {
border: 1px solid #d2d2d2;
}
.border-bottom {
border-bottom: 1px dashed #eee;
padding-bottom: 5px;
margin-bottom: 5px;
}
.stulistNum {
display: inline-block;
width: 25px;
height: 25px;
text-align: center;
line-height: 23px;
border: 1px solid #2961fe;
border-radius: 50%;
cursor: pointer;
color: #2961fe;
}
.cycle_Title {
font-size: 20px;
font-weight: 500;
color: #1f2329;
}
.customMain {
width: 600px !important;
display: flex;
flex-direction: column;
height: 100 vh;
padding: 15px 17px 0 17px;
background-color: #fff;
}
.el-input-group__append{
padding: 0 10px;
}
</style>
<template>
<div class="page-body classHours">
<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"
>
<template v-slot:top>
<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="AddMsg(null)"
/>
</div>
</template>
<template v-slot:body="props">
<q-tr :props="props">
<template v-for="col in props.cols">
<q-td v-if="col.name == 'Name'">{{ col.value }}</q-td>
<q-td v-if="col.name == 'Sort'" style="padding: 10px 0">
<div v-for="item in col.value">
<div class="text-bottom" style="margin-left: 10px;">{{ item.Sort }}</div>
</div>
</q-td>
<q-td v-if="col.name == 'StartTime'" style="padding: 10px 0">
<div v-for="item in col.value">
<div class="text-bottom">{{ item.StartTime }}</div>
</div>
</q-td>
<q-td v-if="col.name == 'EndTime'" style="padding: 10px 0">
<div v-for="item in col.value">
<div class="text-bottom">{{ item.EndTime }}</div>
</div>
</q-td>
<q-td v-if="col.name == 'Minutes'" style="padding: 10px 0">
<div v-for="item in col.value">
<div class="text-bottom">{{ item.Minutes }}</div>
</div>
</q-td>
<q-td v-if="col.name == 'UpdateByName'">{{ col.value }}</q-td>
<q-td v-if="col.name == 'UpdateTime'">{{ col.value }}</q-td>
<q-td v-if="col.name == 'Id'">
<q-btn
flat
size="xs"
icon="edit"
color="accent"
style="font-weight:400"
label="编辑"
@click="AddMsg(props.row)"
/>
<q-btn
flat
size="xs"
icon="delete"
color="negative"
class="q-mr-xs"
label="删除"
@click="delConsult(props.row.Id)"
/>
</q-td>
</template>
</q-tr>
</template>
<template v-slot:body-cell-Id="props">
<q-td :props="props">
<div></div>
</q-td>
</template>
<template v-slot:bottom></template>
</q-table>
</div>
<q-dialog
v-model="persistent"
full-height
maximized
position="right"
persistent
@hide="persistent=false"
transition-show="slide-left"
>
<div class="customMain" v-if="addMsg">
<div class="cycle_Title">上课时间段</div>
<div style="margin-top: 10px;">
<q-input
filled
stack-label
:dense="false"
v-model="addMsg.Name"
style="width: 640px;"
ref="Name"
class="col-12 q-pb-lg"
label="时段名称"
:rules="[val => !!val || '请填写时段名称']"
/>
</div>
<div style="margin-bottom: 80px;">
<div style="margin-bottom: 10px;">时段列表</div>
<div
v-for="(x,y) in addMsg.TimeList"
:key="y"
style="display: flex;align-items: center;margin-bottom: 10px;"
>
<el-input v-model="x.Sort" placeholder="排序" type='number' min="0" style="width: 100px;margin-right: 5px;"></el-input>
<el-time-select
class="q-mr-lg"
style="width: 180px;margin-right: 5px;"
v-model="x.StartTime"
:picker-options="{
start: '00:00',
step: '00:05',
end: '23:59',
maxTime: x.EndTime
}"
placeholder="开始时间(格式00:00)"
></el-time-select>
<el-time-select
style="width: 180px;margin-right: 5px;"
v-model="x.EndTime"
:picker-options="{
start: '06:00',
step: '00:05',
end: '23:59',
minTime: x.StartTime
}"
placeholder="结束时间(格式00:00)"
></el-time-select>
<q-btn
round
size="xs"
color="deep-orange"
icon="delete"
v-if="addMsg.TimeList.length > 1"
@click="addMsg.TimeList.splice(y, 1)"
style="margin-left: 10px;"
/>
<q-btn
round
size="xs"
color="primary"
icon="add"
v-if="addMsg.TimeList.length == y + 1"
@click="addMsg.TimeList.push({ Sort: 1, StartTime: '', EndTime: '', Minutes: 0, })"
style="margin-left: 10px;"
/>
</div>
</div>
<div
style="width: 100%;height: 50px;position: absolute;left: 0;bottom: 0;background: #FFF;display: flex;align-items: center;padding: 0 20px;justify-content: flex-end;"
>
<q-btn color="accent" size="sm" class="q-mr-md" label="保存" @click="setAdd()" :loading="saveLoading"></q-btn>
</div>
<div class="dialog-out-close" @click="persistent = false">
<i class="iconfont icon-close" style="font-size:26px;" />
</div>
</div>
</q-dialog>
</div>
</template>
<script>
import {
getScrollCourseTimeList,
setScrollCourseTimeInfo,
delScrollCourseTimeInfo
} from '../../api/course/roll'
// import consultForm from '../../../components/finance/consult-form'
export default {
meta: {
title: "上课时间段"
},
props: {},
components: {
// consultForm
},
data() {
return {
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage: 99999,
},
columns: [{
name: "Name",
label: "时段名称",
field: "Name",
align: "left"
},
{
name: "Sort",
label: "排序",
align: "left",
field: row => row.TimeList
},
{
name: "StartTime",
label: "开始时间",
align: "left",
field: row => row.TimeList
},
{
name: "EndTime",
label: "结束时间",
align: "left",
field: row => row.TimeList
},
{
name: "Minutes",
required: true,
label: "分钟数",
align: "left",
field: 'Minutes',
field: row => row.TimeList
},
{
name: "UpdateByName",
label: "创建人",
field: "UpdateByName",
align: "left",
},
{
name: "UpdateTime",
label: "创建时间",
field: "UpdateTime",
align: "left"
},
{
name: 'Id',
label: '操作',
field: 'Id'
}
],
pageCount: 0,
loading: false,
persistent: false,
dataList: [], //列表数据
addMsg: null,
saveLoading:false
}
},
created() { },
mounted() {
this.getList(); //获取规则
},
methods: {
getList() {
this.loading = true;
getScrollCourseTimeList({}).then(res => {
if (res.Code == 1) {
this.dataList = res.Data;
}
this.loading = false
})
},
AddMsg(obj) {
if (obj) {
this.addMsg = JSON.parse(JSON.stringify(obj)) ;
} else {
this.addMsg = {
Id: 0,
Name: '',
TimeList: [{ Sort: 1, StartTime: '', EndTime: '', Minutes: 0, }]
}
}
this.persistent = true
},
setAdd(){
this.$refs.Name.validate()
if(!this.$refs.Name.hasError){
for(let i = 0;i<this.addMsg.TimeList.length;i++){
let x =this.addMsg.TimeList[i]
if(x.Sort=='' || x.Sort=='' || x.Sort<0){
x.Sort = 0
}
if(x.Minutes=='' || x.Minutes==''|| x.Minutes<0){
x.Minutes = 0
}
if(x.StartTime==''){
this.$q.notify({
type: 'negative',
message: `请输入开始时段`,
position: 'top'
})
return
}
if(x.EndTime==''){
this.$q.notify({
type: 'negative',
message: `请输入结束时段`,
position: 'top'
})
return
}
}
this.saveLoading = true;
setScrollCourseTimeInfo(this.addMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '操作成功',
position: 'top'
})
this.getList();
}
this.saveLoading = false;
this.persistent = false;
})
}
},
delConsult(Id) {
let delMsg = {
CourseTimeId: Id
};
this.$q.dialog({
title: '提示信息',
message: '是否确定删除?',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
delScrollCourseTimeInfo(delMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '删除成功!',
position: 'top'
})
this.getList();
}
})
}).onCancel(() => {
});
}
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -9,6 +9,7 @@
.singeRowTable tr th {
border: 1px solid #d2d2d2;
background: #FFF;
background-clip: padding-box;
}
.workutaTeaching td:first-child{position: sticky;left:0px;background-color: #FFF;}
.workutaTeaching th:first-child{position: sticky;left:0px;}
......@@ -22,6 +23,16 @@
border-radius: 50%;
margin-right: 10px;
}
.onetext{
width: 100px;
white-space: nowrap;
overflow: hidden;text-overflow:ellipsis;
}
.onetext2{
width: 64px;
white-space: nowrap;
overflow: hidden;text-overflow:ellipsis;
}
</style>
<template>
<div class="page-body workutaTeaching">
......@@ -55,7 +66,12 @@
</th>
</tr>
<tr v-for="(item,index) in dataList.TeacherList" :key="index" v-if="dataList.TeacherList && dataList.TeacherList.length>0">
<td>{{item.TeacherName}}</td>
<td >
<div class="onetext">
{{item.TeacherName}}
</div>
</td>
<td v-for="(x,y) in item.RDateList" :key="y" class="finger" @click="choicedate(item,x,index,y)" :style="{background:getcolor(x).background,color:getcolor(x).color}">
{{x.ShiftName?x.ShiftName.substring(0,1):''}}
<q-popup-proxy>
......@@ -97,8 +113,12 @@
<tr v-for="(item,index) in dataList.ShiftList" :key="index" v-if="dataList.TeacherList && dataList.TeacherList.length>0">
<td width="100" style="min-width: 100px;">
<span class="yuan" :style="{ background: getcolor(item).background }" ></span>
{{item.ShiftName}}
<div style="display: flex;align-items: center;justify-content: center;padding: 0 5px;">
<span class="yuan" :style="{ background: getcolor(item).background }" ></span>
<div class="onetext2">{{item.ShiftName}}</div>
</div>
</td>
<td width="50" style="min-width: 50px;" v-for="(x,y) in item.RDateList" :key="y" class="finger" >
<!-- <span v-if="x.Number==0">{{x.Number}}</span> -->
......@@ -269,7 +289,7 @@ export default {
index:index,
y:y,
row: JSON.parse(JSON.stringify(x)),
TeacherId:item.TeacherId
AccountId:item.TeacherId
};
if(this.InfoMsg.row.ShiftId==-1){
this.InfoMsg.row.ShiftId = '';
......@@ -295,7 +315,7 @@ export default {
Date:this.InfoMsg.row.Date,
ShiftId:this.InfoMsg.row.ShiftId,
RoomId:this.InfoMsg.row.RoomId,
TeacherId:this.InfoMsg.TeacherId,
AccountId:this.InfoMsg.AccountId,
}
if(addMsg.ShiftId===''){
this.$q.notify({
......
......@@ -3,13 +3,14 @@
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name">
<template v-slot:top="props">
<template v-slot:top>
<div class="col-2 q-table__title">目标管理</div>
<q-space />
<div class="page-option">
<el-date-picker v-model="dateTime" size="small" style="margin-right:10px;" type="month" value-format="yyyy-MM" @change="dateChange" placeholder="选择月">
<el-date-picker v-model="dateTime" size="small" style="margin-right:10px;" type="month"
value-format="yyyy-MM" @change="dateChange" placeholder="选择月">
</el-date-picker>
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增阶段" @click="addObj(null)" />
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增目标" @click="addObj(null)" />
</div>
</template>
<template v-slot:body-cell-Id="props">
......@@ -49,25 +50,46 @@
data() {
return {
columns: [{
name: 'YearStr',
label: '年份',
field: 'YearStr',
align: 'left'
}, {
name: 'GoalMoney',
label: '金额',
field: 'GoalMoney',
align: 'left'
}, {
name: 'CreateBy',
label: '创建人',
align: 'left',
field: 'CreateBy'
}, {
name: 'Id',
label: '操作',
field: 'Id'
}],
name: 'DeptName',
label: '部门',
field: 'DeptName',
align: 'left'
},
{
name: 'YearStr',
label: '年份',
field: 'YearStr',
align: 'left'
},
{
name: 'MonthStr',
label: '月份',
field: 'MonthStr',
align: 'left'
},
{
name: 'GoalMoney',
label: '金额',
field: 'GoalMoney',
align: 'left'
}, {
name: 'CreateByName',
label: '创建人',
align: 'left',
field: 'CreateByName'
},
{
name: 'CreateTimeStr',
label: '创建时间',
align: 'left',
field: 'CreateTimeStr'
},
{
name: 'Id',
label: '操作',
field: 'Id'
}
],
msg: {
pageIndex: 1,
pageSize: 12,
......@@ -80,7 +102,7 @@
loading: true,
isShowTargetForm: false,
customObj: {},
dateTime:''
dateTime: ''
}
},
mounted() {
......@@ -88,12 +110,12 @@
},
methods: {
//选择日期
dateChange(val){
if(val){
dateChange(val) {
if (val) {
let myDate = val.split('-');
this.msg.YearStr = myDate[0];
this.msg.MonthStr = myDate[1];
}else{
} else {
this.msg.YearStr = '';
this.msg.MonthStr = '';
}
......@@ -159,10 +181,8 @@
}
},
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
</style>
\ No newline at end of file
......@@ -1150,6 +1150,12 @@ const routes = [{
component: () =>
import("pages/course/workutaTeaching.vue")
},
{
path: "/course/classHours", //教学中心 上课时段列表
component: () =>
import("pages/course/classHours.vue")
},
{
path: "/user/backbill", //退课单据
......
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