Commit 9074ba7c authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/luochao/confucius into master

parents 88674c3e 70d6663f
...@@ -279,3 +279,15 @@ export function RemoveVisitorReserve(data) { ...@@ -279,3 +279,15 @@ export function RemoveVisitorReserve(data) {
data data
}) })
} }
/**
* 获取交接班次
* @param {JSON参数} data
*/
export function GetHandoverShiftList() {
return request({
url: '/DutyPlan/GetHandoverShiftList',
method: 'post',
data: ""
})
}
\ No newline at end of file
...@@ -184,7 +184,6 @@ ...@@ -184,7 +184,6 @@
width: 40px; width: 40px;
height: 40px; height: 40px;
right: 0px; right: 0px;
bottom: -10px;
} }
.SchImg_List { .SchImg_List {
...@@ -357,17 +356,22 @@ ...@@ -357,17 +356,22 @@
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="OtherListContent"> <div class="scheList_Bottom">
<div v-for="(item,index) in WorkRuleList"> <div class="sche_List_in" v-if="WorkRuleObj">
<div style="margin-bottom:10px;">{{index+1}}.{{item.ItemName}}</div> <div class="sche_Dian" style="margin-top:5px;"></div>
<div v-if="item.ItemImgList&&item.ItemImgList.length>0" <div class="sche_ListInner">{{WorkRuleObj.ItemName}} </div>
style="width:100%;display:flex;flex-wrap:wrap">
<div v-for="subItem in item.ItemImgList" style="width:40px;height:40px;margin:0 10px 10px 0;">
<el-image :src="subItem" style="width:100%;height:100%;" :preview-src-list="item.ItemImgList">
</el-image>
</div> </div>
</div> </div>
<div class="WorkObj_ImgList">
<el-scrollbar v-if="WorkRuleObj.ItemImgList&&WorkRuleObj.ItemImgList.length>0">
<template>
<div class="SchImg_List" style="width:50px;height:50px;border:0;"
v-for="(item,index) in WorkRuleObj.ItemImgList">
<el-image :src="item" style="width:100%;height:100%;" :preview-src-list="WorkRuleObj.ItemImgList">
</el-image>
</div> </div>
</template>
</el-scrollbar>
</div> </div>
</template> </template>
</div> </div>
...@@ -399,6 +403,20 @@ ...@@ -399,6 +403,20 @@
</div> </div>
</div> </div>
</div> </div>
<div class="tufa_btm" v-else style="flex-direction:row-reverse;">
<div class=" sche_Fenye" v-if="saveObj&&WorkRuleList&&WorkRuleList.length>0">
<div class="sche_left">
<i class="iconfont icon-arrow-left" :class="{'canClick_Color':workRuleIndex!=0}"
@click="WorkRuleMove(1)"></i>
</div>
<div class="sche_Page" v-if="saveObj&&WorkRuleList">{{workRuleIndex+1}}/{{this.WorkRuleList.length}}
</div>
<div class="sche_left" v-if="saveObj&&WorkRuleList">
<i class="iconfont icon-arrow-right1" :class="{'canClick_Color':workRuleIndex!=WorkRuleList.length-1}"
@click="WorkRuleMove(2)"></i>
</div>
</div>
</div>
</div> </div>
<div class="sche_midList"> <div class="sche_midList">
<div class="scheList_TOP"> <div class="scheList_TOP">
...@@ -450,16 +468,22 @@ ...@@ -450,16 +468,22 @@
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="OtherListContent"> <div class="scheList_Bottom">
<div v-for="(item,index) in EmergenciesRuleList"> <div class="sche_List_in" v-if="TufaRuleObj">
<div style="margin-bottom:10px;">{{index+1}}.{{item.ItemName}}</div> <div class="sche_Dian" style="margin-top:5px;"></div>
<div v-if="item.ItemImgList&&item.ItemImgList.length>0" style="width:100%;display:flex;flex-wrap:wrap"> <div class="sche_ListInner">{{TufaRuleObj.ItemName}} </div>
<div v-for="subItem in item.ItemImgList" style="width:40px;height:40px;margin:0 10px 10px 0;">
<el-image :src="subItem" style="width:100%;height:100%;" :preview-src-list="item.ItemImgList">
</el-image>
</div> </div>
</div> </div>
<div class="WorkObj_ImgList">
<el-scrollbar v-if="TufaRuleObj.ItemImgList&&TufaRuleObj.ItemImgList.length>0">
<template>
<div class="SchImg_List" style="width:50px;height:50px;border:0;"
v-for="(item,index) in TufaRuleObj.ItemImgList">
<el-image :src="item" style="width:100%;height:100%;" :preview-src-list="TufaRuleObj.ItemImgList">
</el-image>
</div> </div>
</template>
</el-scrollbar>
</div> </div>
</template> </template>
</div> </div>
...@@ -509,6 +533,21 @@ ...@@ -509,6 +533,21 @@
</div> </div>
</div> </div>
</div> </div>
<div class="tufa_btm" v-else style="flex-direction:row-reverse;">
<div class=" sche_Fenye" v-if="TufaRuleObj&&EmergenciesRuleList&&EmergenciesRuleList.length>0">
<div class="sche_left">
<i class="iconfont icon-arrow-left" :class="{'canClick_Color':TufaRuleIndex!=0}"
@click="TufaRuleMove(1)"></i>
</div>
<div class="sche_Page" v-if="TufaRuleObj&&EmergenciesRuleList">
{{TufaRuleIndex+1}}/{{this.EmergenciesRuleList.length}}
</div>
<div class="sche_left" v-if="TufaRuleObj&&EmergenciesRuleList">
<i class="iconfont icon-arrow-right1"
:class="{'canClick_Color':TufaRuleIndex!=EmergenciesRuleList.length-1}" @click="TufaRuleMove(2)"></i>
</div>
</div>
</div>
</div> </div>
<div class="sche_midList"> <div class="sche_midList">
<div class="scheList_TOP"> <div class="scheList_TOP">
...@@ -559,16 +598,22 @@ ...@@ -559,16 +598,22 @@
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="OtherListContent"> <div class="scheList_Bottom">
<div v-for="(item,index) in HandoverRuleList"> <div class="sche_List_in" v-if="HandRuleObj">
<div style="margin-bottom:10px;">{{index+1}}.{{item.ItemName}}</div> <div class="sche_Dian" style="margin-top:5px;"></div>
<div v-if="item.ItemImgList&&item.ItemImgList.length>0" style="width:100%;display:flex;flex-wrap:wrap"> <div class="sche_ListInner">{{HandRuleObj.ItemName}} </div>
<div v-for="subItem in item.ItemImgList" style="width:40px;height:40px;margin:0 10px 10px 0;">
<el-image :src="subItem" style="width:100%;height:100%;" :preview-src-list="item.ItemImgList">
</el-image>
</div> </div>
</div> </div>
<div class="WorkObj_ImgList">
<el-scrollbar v-if="HandRuleObj.ItemImgList&&HandRuleObj.ItemImgList.length>0">
<template>
<div class="SchImg_List" style="width:50px;height:50px;border:0;"
v-for="(item,index) in HandRuleObj.ItemImgList">
<el-image :src="item" style="width:100%;height:100%;" :preview-src-list="HandRuleObj.ItemImgList">
</el-image>
</div> </div>
</template>
</el-scrollbar>
</div> </div>
</template> </template>
</div> </div>
...@@ -618,6 +663,21 @@ ...@@ -618,6 +663,21 @@
</div> </div>
</div> </div>
</div> </div>
<div class="tufa_btm" v-else style="flex-direction:row-reverse;">
<div class=" sche_Fenye" v-if="HandRuleObj&&HandoverRuleList&&HandoverRuleList.length>0">
<div class="sche_left">
<i class="iconfont icon-arrow-left" :class="{'canClick_Color':HandRuleIndex!=0}"
@click="HandRuleMove(1)"></i>
</div>
<div class="sche_Page" v-if="HandRuleObj&&HandoverRuleList">
{{HandRuleIndex+1}}/{{this.HandoverRuleList.length}}
</div>
<div class="sche_left" v-if="HandRuleObj&&HandoverRuleList">
<i class="iconfont icon-arrow-right1"
:class="{'canClick_Color':HandRuleIndex!=HandoverRuleList.length-1}" @click="HandRuleMove(2)"></i>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -694,6 +754,13 @@ ...@@ -694,6 +754,13 @@
WorkRuleList: [], WorkRuleList: [],
EmergenciesRuleList: [], EmergenciesRuleList: [],
HandoverRuleList: [], HandoverRuleList: [],
workRuleIndex: 0, //工作清单规则索引
TufaRuleIndex: 0, //突发事件规则索引
HandRuleIndex: 0, //交接工作规则索引
WorkRuleObj: {}, //工作清单规则对象
TufaRuleObj: {}, //突发事件规则对象
HandRuleObj: {} //交接工作规则对象
} }
}, },
watch: { watch: {
...@@ -728,7 +795,12 @@ ...@@ -728,7 +795,12 @@
if (res.Code == 1) { if (res.Code == 1) {
this.HandoverList = res.Data.HandoverList; this.HandoverList = res.Data.HandoverList;
this.EmergenciesList = res.Data.EmergenciesList; this.EmergenciesList = res.Data.EmergenciesList;
this.WorkRuleList = res.Data.WorkRuleList;
this.WorkList = res.Data.WorkList; this.WorkList = res.Data.WorkList;
this.EmergenciesRuleList = res.Data.EmergenciesRuleList;
this.HandoverRuleList = res.Data.HandoverRuleList;
if (this.EmergenciesList && this.EmergenciesList.length > 0) { if (this.EmergenciesList && this.EmergenciesList.length > 0) {
this.EmergenciesObj = this.EmergenciesList[this.EmergenciesIndex]; this.EmergenciesObj = this.EmergenciesList[this.EmergenciesIndex];
} }
...@@ -738,6 +810,17 @@ ...@@ -738,6 +810,17 @@
if (this.WorkList && this.WorkList.length > 0) { if (this.WorkList && this.WorkList.length > 0) {
this.WorkObj = this.WorkList[this.WorkIndex]; this.WorkObj = this.WorkList[this.WorkIndex];
} }
if (this.WorkRuleList && this.WorkRuleList.length > 0) {
this.WorkRuleObj = this.WorkRuleList[this.workRuleIndex]
}
if (this.EmergenciesRuleList && this.EmergenciesRuleList.length > 0) {
this.TufaRuleObj = this.EmergenciesRuleList[this.TufaRuleIndex]
}
if (this.HandoverRuleList && this.HandoverRuleList.length > 0) {
this.HandRuleObj = this.HandoverRuleList[this.HandRuleIndex]
}
this.WorkRuleList = res.Data.WorkRuleList; this.WorkRuleList = res.Data.WorkRuleList;
this.EmergenciesRuleList = res.Data.EmergenciesRuleList; this.EmergenciesRuleList = res.Data.EmergenciesRuleList;
this.HandoverRuleList = res.Data.HandoverRuleList; this.HandoverRuleList = res.Data.HandoverRuleList;
...@@ -747,20 +830,20 @@ ...@@ -747,20 +830,20 @@
//获取突发和交接 //获取突发和交接
getTufaHand() { getTufaHand() {
var obj = { var obj = {
IsBurst:0, IsBurst: 0,
IsHandover:0 IsHandover: 0
} }
if (this.EmergenciesList.length > 0) { if (this.EmergenciesList.length > 0) {
obj.IsBurst=1 obj.IsBurst = 1
} }
let HandArr = []; let HandArr = [];
this.HandoverList.forEach(x=>{ this.HandoverList.forEach(x => {
if(x.IsOperate==1){ if (x.IsOperate == 1) {
HandArr.push(x); HandArr.push(x);
} }
}) })
if (HandArr.length > 0) { if (HandArr.length > 0) {
obj.IsHandover=1 obj.IsHandover = 1
} }
return obj; return obj;
}, },
...@@ -791,6 +874,22 @@ ...@@ -791,6 +874,22 @@
} }
} }
}, },
WorkRuleMove(type) {
//上一条
if (type == 1) {
if (this.workRuleIndex > 0 && this.WorkRuleList) {
this.workRuleIndex = this.workRuleIndex - 1;
this.WorkRuleObj = this.WorkRuleList[this.workRuleIndex];
}
}
//下一条
else {
if (this.WorkRuleList && this.workRuleIndex < this.WorkRuleList.length - 1) {
this.workRuleIndex = this.workRuleIndex + 1;
this.WorkRuleObj = this.WorkRuleList[this.workRuleIndex];
}
}
},
//紧急事项上一条(1),下一条(2) //紧急事项上一条(1),下一条(2)
EmergenciesMove(type) { EmergenciesMove(type) {
//上一条 //上一条
...@@ -808,6 +907,23 @@ ...@@ -808,6 +907,23 @@
} }
} }
}, },
//突发事件规则
TufaRuleMove(type) {
//上一条
if (type == 1) {
if (this.TufaRuleIndex > 0) {
this.TufaRuleIndex = this.TufaRuleIndex - 1;
this.TufaRuleObj = this.EmergenciesRuleList[this.TufaRuleIndex];
}
}
//下一条
else {
if (this.TufaRuleIndex < this.EmergenciesRuleList.length - 1) {
this.TufaRuleIndex = this.TufaRuleIndex + 1;
this.TufaRuleObj = this.EmergenciesRuleList[this.TufaRuleIndex];
}
}
},
//交接事项上一条(1),下一条(2) //交接事项上一条(1),下一条(2)
HandoverMove(type) { HandoverMove(type) {
//上一条 //上一条
...@@ -825,6 +941,22 @@ ...@@ -825,6 +941,22 @@
} }
} }
}, },
HandRuleMove(type){
//上一条
if (type == 1) {
if (this.HandRuleIndex > 0) {
this.HandRuleIndex = this.HandRuleIndex - 1;
this.HandRuleObj = this.HandoverRuleList[this.HandRuleIndex];
}
}
//下一条
else {
if (this.HandRuleIndex < this.HandoverRuleList.length - 1) {
this.HandRuleIndex = this.HandRuleIndex + 1;
this.HandRuleObj = this.HandoverRuleList[this.HandRuleIndex];
}
}
},
//工作清单上传图片 //工作清单上传图片
UploadWorkFile(files) { UploadWorkFile(files) {
UploadSelfFile('Attachment', files.file, res => { UploadSelfFile('Attachment', files.file, res => {
...@@ -876,7 +1008,7 @@ ...@@ -876,7 +1008,7 @@
WorkIsFinish: this.WorkObj.IsChecked, WorkIsFinish: this.WorkObj.IsChecked,
ItemId: this.WorkObj.ItemId, ItemId: this.WorkObj.ItemId,
FileList: this.WorkObj.FileList, FileList: this.WorkObj.FileList,
ItemType:this.WorkObj.ItemType, ItemType: this.WorkObj.ItemType,
}; };
if (type == 2) { if (type == 2) {
saveWorkMsg.WorkContent = this.WorkContent; saveWorkMsg.WorkContent = this.WorkContent;
......
...@@ -260,8 +260,22 @@ ...@@ -260,8 +260,22 @@
this.getList() this.getList()
}, },
txexport() { txexport() {
if(this.valuemonth ==null || this.valueyear==null){
this.$q.notify({
type: 'negative',
position: "top",
message: `请选择日期`
})
return
}
let text = '';
if (this.datetype == 2) {
text = this.valuemonth +'课耗统计.xls'
} else if (this.datetype == 1) {
text = this.valueyear+'年课耗统计.xls'
}
var msg = JSON.parse(JSON.stringify(this.msg)); var msg = JSON.parse(JSON.stringify(this.msg));
EduDownLoad("/finance/GetTeacherConsumptionHoursStatisticsToExcel", msg, "课耗统计.xls") EduDownLoad("/finance/GetTeacherConsumptionHoursStatisticsToExcel", msg, text)
} }
......
...@@ -278,8 +278,22 @@ ...@@ -278,8 +278,22 @@
this.getList() this.getList()
}, },
txexport(){ txexport(){
if(this.valuemonth ==null || this.valueyear==null){
this.$q.notify({
type: 'negative',
position: "top",
message: `请选择日期`
})
return
}
let text = '';
if (this.datetype == 2) {
text = this.valuemonth +'课耗学生明细.xls'
} else if (this.datetype == 1) {
text = this.valueyear+'年课耗学生明细.xls'
}
var msg = JSON.parse(JSON.stringify(this.msg)); var msg = JSON.parse(JSON.stringify(this.msg));
EduDownLoad("/finance/GetStudentConsumptionHoursDetialPageListToExcel", msg, "课耗学生明细.xls") EduDownLoad("/finance/GetStudentConsumptionHoursDetialPageListToExcel", msg, text)
}, },
gobaoming(Id){ gobaoming(Id){
this.OpenNewUrl('/sale/orderStatistics', { this.OpenNewUrl('/sale/orderStatistics', {
......
...@@ -248,8 +248,22 @@ ...@@ -248,8 +248,22 @@
this.getList() this.getList()
}, },
txexport(){ txexport(){
if(this.valuemonth ==null || this.valueyear==null){
this.$q.notify({
type: 'negative',
position: "top",
message: `请选择日期`
})
return
}
let text = '';
if (this.datetype == 2) {
text = this.valuemonth +'课耗老师明细.xls'
} else if (this.datetype == 1) {
text = this.valueyear+'年课耗老师明细.xls'
}
var msg = JSON.parse(JSON.stringify(this.msg)); var msg = JSON.parse(JSON.stringify(this.msg));
EduDownLoad("/finance/GetTeacherConsumptionHoursDetialPageListToExcel", msg, "课耗老师明细.xls") EduDownLoad("/finance/GetTeacherConsumptionHoursDetialPageListToExcel", msg, text)
} }
}, },
......
...@@ -280,16 +280,23 @@ ...@@ -280,16 +280,23 @@
<div class="text-h6">值班交接</div> <div class="text-h6">值班交接</div>
</q-card-section> </q-card-section>
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<div class="q-gutter-sm" style="width:300px;" v-if="isShowOne"> <div class="q-gutter-sm" style="width:400px;" v-if="isShowOne">
<span style="position:relative;top:6px;">突发事件:</span> <span style="position:relative;top:6px;">突发事件:</span>
<q-radio v-model="isHaveTufa" :val="2" label="有" /> <q-radio v-model="isHaveTufa" :val="2" label="有" />
<q-radio v-model="isHaveTufa" :val="1" label="无" /> <q-radio v-model="isHaveTufa" :val="1" label="无" />
</div> </div>
<div class="q-gutter-sm" style="width:280px;" v-if="isShowTwo"> <div class="q-gutter-sm" style="width:400px;" v-if="isShowTwo">
<span style="position:relative;top:6px;">交接工作:</span> <span style="position:relative;top:6px;">交接工作:</span>
<q-radio v-model="isHaveHand" :val="2" label="有" /> <q-radio v-model="isHaveHand" :val="2" label="有" />
<q-radio v-model="isHaveHand" :val="1" label="无" /> <q-radio v-model="isHaveHand" :val="1" label="无" />
</div> </div>
<div class="q-gutter-sm" style="width:400px;margin-top:10px;">
<span>交接班次:</span>
<q-select filled multiple option-value="Id" style="display:inline-block;width:300px;" option-label="Name"
v-model="classCked" :options="classData" emit-value map-options
label="交接班次">
</q-select>
</div>
</q-card-section> </q-card-section>
<q-card-actions align="right"> <q-card-actions align="right">
<q-btn flat label="关闭" color="primary" @click="isShowTuFA=false" /> <q-btn flat label="关闭" color="primary" @click="isShowTuFA=false" />
...@@ -305,6 +312,7 @@ ...@@ -305,6 +312,7 @@
OnDuty, OnDuty,
OnDuty_V2, OnDuty_V2,
saveDutyCheck, //值班打卡 saveDutyCheck, //值班打卡
GetHandoverShiftList
} from '../../api/scheduling/schedu' } from '../../api/scheduling/schedu'
import schedulOrder from '../../components/schedul/schedul-orderlist' import schedulOrder from '../../components/schedul/schedul-orderlist'
...@@ -332,7 +340,8 @@ ...@@ -332,7 +340,8 @@
Shift: 0, Shift: 0,
Status: 0, //Status(1-值班打卡,2-交接打卡) Status: 0, //Status(1-值班打卡,2-交接打卡)
IsBurst: 0, //突发 IsBurst: 0, //突发
IsHandover: 0 //交接 IsHandover: 0, //交接
HandoverDlandetails:'' //交接班次
}, },
dataList: {}, dataList: {},
//是否显示访客操作按钮 //是否显示访客操作按钮
...@@ -350,7 +359,9 @@ ...@@ -350,7 +359,9 @@
isHaveHand: 1, //是否有交接 isHaveHand: 1, //是否有交接
isShowOne: false, isShowOne: false,
isShowTwo: false, isShowTwo: false,
status: 0 status: 0,
classData:[], //交接班次选择\
classCked:[],
} }
}, },
created() { created() {
...@@ -363,6 +374,7 @@ ...@@ -363,6 +374,7 @@
this.checkMsg.Shift = this.$route.query.Shift; this.checkMsg.Shift = this.$route.query.Shift;
} }
this.getList(); this.getList();
this.GetHandoverList();
}, },
methods: { methods: {
//请求数据 //请求数据
...@@ -410,6 +422,7 @@ ...@@ -410,6 +422,7 @@
if (this.status == 2) { if (this.status == 2) {
diaMsg = '是否确定值班交接?' diaMsg = '是否确定值班交接?'
} }
this.checkMsg.HandoverDlandetails = this.classCked.toString();
this.$q.dialog({ this.$q.dialog({
title: '消息提示', title: '消息提示',
message: diaMsg, message: diaMsg,
...@@ -476,6 +489,14 @@ ...@@ -476,6 +489,14 @@
//刷新父页面 //刷新父页面
refreshPage() { refreshPage() {
this.getList(); this.getList();
},
//获取交接班次下拉
GetHandoverList(){
GetHandoverShiftList().then(res => {
if (res.Code == 1) {
this.classData = res.Data;
}
})
} }
}, },
} }
......
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