Commit 524c765d authored by zhengke's avatar zhengke

1

parents 68b16b8b 9a9fddd5
...@@ -56,4 +56,38 @@ export function delScrollShiftInfo(data) { ...@@ -56,4 +56,38 @@ export function delScrollShiftInfo(data) {
method: 'post', method: 'post',
data 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 @@ ...@@ -21,34 +21,34 @@
</div> </div>
<div class="row wrap"> <div class="row wrap">
<div class="col-12"> <div class="col-12">
<el-input v-model="objOption.GoalMoney" placeholder="金额" <q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.GoalMoney" ref="GoalMoney2"
@keyup.native="checkInteger(objOption,'GoalMoney')"></el-input> label="目标金额" :rules="[val => !!val || '请填写目标金额']" />
</div> </div>
</div> </div>
<div class="row wrap" style="margin-top:10px;"> <div class="row wrap" style="margin-top:10px;">
<div class="col-12"> <div class="col-12">
<selectTree :treeData='DeptList' :defaultArray="returnString" nodeKey="DeptId" :multiple="false" <q-select filled stack-label v-model="objOption.Dept_Id" :options="DeptList" emit-value map-options
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"></selectTree> label="所属部门" option-label="DeptName" option-value="DeptId" />
</div> </div>
</div> </div>
</template> </template>
<template v-if="isShow==2"> <template v-if="isShow==2">
<div class="row wrap"> <div class="row wrap">
<div class="col-12"> <div class="col-12">
<el-date-picker v-model="value2" style="width:100%" type="month" <el-date-picker v-model="value2" style="width:100%" type="month" value-format="yyyy-MM" placeholder="选择月">
value-format="yyyy-MM" placeholder="选择月">
</el-date-picker> </el-date-picker>
</div> </div>
</div> </div>
<div class="row wrap" style="margin-top:10px;"> <div class="row wrap" style="margin-top:10px;">
<div class="col-12"> <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> </div>
<div class="row wrap" style="margin-top:10px;"> <div class="row wrap" style="margin-top:10px;">
<div class="col-12"> <div class="col-12">
<selectTree :treeData='DeptList' :defaultArray="returnString2" nodeKey="DeptId" :multiple="false" <q-select filled stack-label v-model="updateMsg.Dept_Id" :options="DeptList" emit-value map-options
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"></selectTree> label="所属部门" option-label="DeptName" option-value="DeptId" />
</div> </div>
</div> </div>
</template> </template>
...@@ -56,10 +56,10 @@ ...@@ -56,10 +56,10 @@
<q-separator /> <q-separator />
<q-card-actions align="right" class="bg-white"> <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="取消" 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" <q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" v-if="isShow==1"
@click="saveNeed" /> :loading="saveLoading" @click="saveNeed" />
<q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" v-if="isShow==2" :loading="saveLoading" <q-btn label="立即提交" color="accent q-px-md" style="font-weight:400 !important" v-if="isShow==2"
@click="saveTarget" /> :loading="saveLoading" @click="saveTarget" />
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
...@@ -72,7 +72,6 @@ ...@@ -72,7 +72,6 @@
} from '../../api/system/index' } from '../../api/system/index'
//部门 //部门
import { import {
getDeptTree,
getDeptList getDeptList
} from '../../api/system/dept' } from '../../api/system/dept'
import selectTree from '../../components/common/select-tree' import selectTree from '../../components/common/select-tree'
...@@ -93,7 +92,7 @@ ...@@ -93,7 +92,7 @@
value: '', value: '',
objOption: { objOption: {
GoalMoney: "", GoalMoney: "",
Dept_Id: 0, Dept_Id: 13,
TimeList: [], TimeList: [],
}, },
updateMsg: { updateMsg: {
...@@ -105,39 +104,25 @@ ...@@ -105,39 +104,25 @@
}, },
optionTitle: "", optionTitle: "",
DeptList: [], // 部门下拉 DeptList: [], // 部门下拉
returnString: [], //默认岗位
isShow: 1, isShow: 1,
value2:'', value2: '',
returnString2:[]
} }
}, },
created() {
this.queryDeptList();
},
mounted() { mounted() {
this.initObj(); this.initObj();
this.queryDeptTree();
}, },
methods: { methods: {
//获取部门结构树 queryDeptList() {
queryDeptTree() { var qMsg = {};
getDeptTree({}).then(res => { getDeptList(qMsg).then(res => {
if (res.Code == 1) { this.DeptList = res.Data;
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) { dateChange(val) {
this.objOption.TimeList.push(val) // 这里记得格式化 this.objOption.TimeList.push(val) // 这里记得格式化
...@@ -156,9 +141,8 @@ ...@@ -156,9 +141,8 @@
this.updateMsg.MonthStr = res.Data.MonthStr; this.updateMsg.MonthStr = res.Data.MonthStr;
this.updateMsg.GoalMoney = res.Data.GoalMoney; this.updateMsg.GoalMoney = res.Data.GoalMoney;
this.updateMsg.Dept_Id = res.Data.Dept_Id; this.updateMsg.Dept_Id = res.Data.Dept_Id;
this.returnString2.push(res.Data.Dept_Id);
this.isShow = 2; this.isShow = 2;
this.value2 = this.updateMsg.YearStr+'-'+this.updateMsg.MonthStr; this.value2 = this.updateMsg.YearStr + '-' + this.updateMsg.MonthStr;
}) })
this.optionTitle = "修改目标" this.optionTitle = "修改目标"
} else { } else {
...@@ -192,12 +176,12 @@ ...@@ -192,12 +176,12 @@
}) })
}, },
//修改保存 //修改保存
saveTarget(){ saveTarget() {
if(this.value2){ if (this.value2) {
let myDate = this.value2.split('-'); let myDate = this.value2.split('-');
this.updateMsg.YearStr = myDate[0]; this.updateMsg.YearStr = myDate[0];
this.updateMsg.MonthStr = myDate[1]; this.updateMsg.MonthStr = myDate[1];
}else{ } else {
this.updateMsg.YearStr = ''; this.updateMsg.YearStr = '';
this.updateMsg.MonthStr = ''; this.updateMsg.MonthStr = '';
} }
...@@ -219,5 +203,4 @@ ...@@ -219,5 +203,4 @@
} }
} }
} }
</script>
</script> \ No newline at end of file
This diff is collapsed.
This diff is collapsed.
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
.singeRowTable tr th { .singeRowTable tr th {
border: 1px solid #d2d2d2; border: 1px solid #d2d2d2;
background: #FFF; background: #FFF;
background-clip: padding-box;
} }
.workutaTeaching td:first-child{position: sticky;left:0px;background-color: #FFF;} .workutaTeaching td:first-child{position: sticky;left:0px;background-color: #FFF;}
.workutaTeaching th:first-child{position: sticky;left:0px;} .workutaTeaching th:first-child{position: sticky;left:0px;}
...@@ -22,6 +23,16 @@ ...@@ -22,6 +23,16 @@
border-radius: 50%; border-radius: 50%;
margin-right: 10px; 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> </style>
<template> <template>
<div class="page-body workutaTeaching"> <div class="page-body workutaTeaching">
...@@ -55,7 +66,12 @@ ...@@ -55,7 +66,12 @@
</th> </th>
</tr> </tr>
<tr v-for="(item,index) in dataList.TeacherList" :key="index" v-if="dataList.TeacherList && dataList.TeacherList.length>0"> <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}"> <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):''}} {{x.ShiftName?x.ShiftName.substring(0,1):''}}
<q-popup-proxy> <q-popup-proxy>
...@@ -97,8 +113,12 @@ ...@@ -97,8 +113,12 @@
<tr v-for="(item,index) in dataList.ShiftList" :key="index" v-if="dataList.TeacherList && dataList.TeacherList.length>0"> <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;"> <td width="100" style="min-width: 100px;">
<span class="yuan" :style="{ background: getcolor(item).background }" ></span> <div style="display: flex;align-items: center;justify-content: center;padding: 0 5px;">
{{item.ShiftName}} <span class="yuan" :style="{ background: getcolor(item).background }" ></span>
<div class="onetext2">{{item.ShiftName}}</div>
</div>
</td> </td>
<td width="50" style="min-width: 50px;" v-for="(x,y) in item.RDateList" :key="y" class="finger" > <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> --> <!-- <span v-if="x.Number==0">{{x.Number}}</span> -->
...@@ -269,7 +289,7 @@ export default { ...@@ -269,7 +289,7 @@ export default {
index:index, index:index,
y:y, y:y,
row: JSON.parse(JSON.stringify(x)), row: JSON.parse(JSON.stringify(x)),
TeacherId:item.TeacherId AccountId:item.TeacherId
}; };
if(this.InfoMsg.row.ShiftId==-1){ if(this.InfoMsg.row.ShiftId==-1){
this.InfoMsg.row.ShiftId = ''; this.InfoMsg.row.ShiftId = '';
...@@ -295,7 +315,7 @@ export default { ...@@ -295,7 +315,7 @@ export default {
Date:this.InfoMsg.row.Date, Date:this.InfoMsg.row.Date,
ShiftId:this.InfoMsg.row.ShiftId, ShiftId:this.InfoMsg.row.ShiftId,
RoomId:this.InfoMsg.row.RoomId, RoomId:this.InfoMsg.row.RoomId,
TeacherId:this.InfoMsg.TeacherId, AccountId:this.InfoMsg.AccountId,
} }
if(addMsg.ShiftId===''){ if(addMsg.ShiftId===''){
this.$q.notify({ this.$q.notify({
......
...@@ -3,13 +3,14 @@ ...@@ -3,13 +3,14 @@
<div class="page-content"> <div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table" <q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" :data="dataList" :columns="columns" row-key="name"> 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> <div class="col-2 q-table__title">目标管理</div>
<q-space /> <q-space />
<div class="page-option"> <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> </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> </div>
</template> </template>
<template v-slot:body-cell-Id="props"> <template v-slot:body-cell-Id="props">
...@@ -49,25 +50,46 @@ ...@@ -49,25 +50,46 @@
data() { data() {
return { return {
columns: [{ columns: [{
name: 'YearStr', name: 'DeptName',
label: '年份', label: '部门',
field: 'YearStr', field: 'DeptName',
align: 'left' align: 'left'
}, { },
name: 'GoalMoney', {
label: '金额', name: 'YearStr',
field: 'GoalMoney', label: '年份',
align: 'left' field: 'YearStr',
}, { align: 'left'
name: 'CreateBy', },
label: '创建人', {
align: 'left', name: 'MonthStr',
field: 'CreateBy' label: '月份',
}, { field: 'MonthStr',
name: 'Id', align: 'left'
label: '操作', },
field: 'Id' {
}], 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: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 12, pageSize: 12,
...@@ -80,7 +102,7 @@ ...@@ -80,7 +102,7 @@
loading: true, loading: true,
isShowTargetForm: false, isShowTargetForm: false,
customObj: {}, customObj: {},
dateTime:'' dateTime: ''
} }
}, },
mounted() { mounted() {
...@@ -88,12 +110,12 @@ ...@@ -88,12 +110,12 @@
}, },
methods: { methods: {
//选择日期 //选择日期
dateChange(val){ dateChange(val) {
if(val){ if (val) {
let myDate = val.split('-'); let myDate = val.split('-');
this.msg.YearStr = myDate[0]; this.msg.YearStr = myDate[0];
this.msg.MonthStr = myDate[1]; this.msg.MonthStr = myDate[1];
}else{ } else {
this.msg.YearStr = ''; this.msg.YearStr = '';
this.msg.MonthStr = ''; this.msg.MonthStr = '';
} }
...@@ -159,10 +181,8 @@ ...@@ -159,10 +181,8 @@
} }
}, },
} }
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style>
</style> \ No newline at end of file
...@@ -1150,6 +1150,12 @@ const routes = [{ ...@@ -1150,6 +1150,12 @@ const routes = [{
component: () => component: () =>
import("pages/course/workutaTeaching.vue") import("pages/course/workutaTeaching.vue")
}, },
{
path: "/course/classHours", //教学中心 上课时段列表
component: () =>
import("pages/course/classHours.vue")
},
{ {
path: "/user/backbill", //退课单据 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