Commit dc0b601c authored by 罗超's avatar 罗超

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

parents bda252c2 e10f598a
...@@ -46,4 +46,13 @@ export function queryMyDutyPlanPage(data) { ...@@ -46,4 +46,13 @@ export function queryMyDutyPlanPage(data) {
method: 'post', method: 'post',
data data
}) })
}
//获取我的值班看板
export function OnDuty(data) {
return request({
url: '/DutyPlan/OnDuty',
method: 'post',
data
})
} }
\ No newline at end of file
...@@ -333,7 +333,7 @@ ...@@ -333,7 +333,7 @@
Teacher_Id: 0, //讲师Id Teacher_Id: 0, //讲师Id
Assist_Id: 0, //助教Id Assist_Id: 0, //助教Id
Group_Id: 0, //集团编号 Group_Id: 0, //集团编号
School_Id: 0, //学校编号 School_Id: -1, //学校编号
CreateBy: 0, //创建人 CreateBy: 0, //创建人
CreateTime: '', //创建时间 CreateTime: '', //创建时间
UpdateBy: '', //修改人 UpdateBy: '', //修改人
...@@ -594,7 +594,7 @@ ...@@ -594,7 +594,7 @@
this.SchoolList = res.Data; this.SchoolList = res.Data;
var obj = { var obj = {
SName: '请选择', SName: '请选择',
SId: 0 SId: -1
} }
this.SchoolList.unshift(obj); this.SchoolList.unshift(obj);
} }
......
...@@ -33,8 +33,19 @@ ...@@ -33,8 +33,19 @@
<div style="margin:10px 0 15px 0;">邀请新学员</div> <div style="margin:10px 0 15px 0;">邀请新学员</div>
</div> </div>
<div class="drop_NameDown"> <div class="drop_NameDown">
<q-select standout="bg-primary text-white" v-model="checkedStudent" :options="InvitationList" <!-- <q-select dense standout="bg-primary text-white" v-model="checkedStudent" :options="InvitationList"
option-value="StuId" option-label="StuName" label="选择学员" /> @filter="filterCourseFn" use-input option-value="StuId" option-label="StuName" label="选择学员" /> -->
<q-select filled stack-label use-input input-debounce="0"
option-value="StuId" option-label="StuName" v-model="checkedStudent"
:options="InvitationList" label="选择学员" :dense="false" emit-value map-options @filter="filterFn">
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
</div> </div>
<q-card-actions align="right" class="bg-white" style="margin-top:20px;"> <q-card-actions align="right" class="bg-white" style="margin-top:20px;">
<q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="ishowInvit=false" /> <q-btn label="取消" flat color="grey-10" style="font-weight:400 !important" @click="ishowInvit=false" />
...@@ -44,7 +55,7 @@ ...@@ -44,7 +55,7 @@
</q-popup-proxy> </q-popup-proxy>
</q-btn> </q-btn>
</div> </div>
<q-table :loading="loading" no-data-label="暂无相关数据" flat selection="multiple" :selected.sync="selectedStudent" <q-table :loading="loading" no-data-label="暂无相关数据" style="margin-bottom:80px;" flat selection="multiple" :selected.sync="selectedStudent"
class="sticky-column-table" separator="none" title="学员信息" :data="studentList" :pagination="initialPagination" :columns="columns" class="sticky-column-table" separator="none" title="学员信息" :data="studentList" :pagination="initialPagination" :columns="columns"
row-key="Id" hide-bottom> row-key="Id" hide-bottom>
<template v-slot:body-cell-IsRenew="props"> <template v-slot:body-cell-IsRenew="props">
...@@ -147,6 +158,7 @@ ...@@ -147,6 +158,7 @@
StudentId: 0 StudentId: 0
}, },
InvitationList: [], //学员下拉数据 InvitationList: [], //学员下拉数据
AllInvitationList: [],
checkedStudent: '', //选择学员 checkedStudent: '', //选择学员
} }
}, },
...@@ -158,6 +170,19 @@ ...@@ -158,6 +170,19 @@
this.getStudentList(); this.getStudentList();
}, },
methods: { methods: {
//筛选员工
filterFn(val, update) {
update(() => {
if (val === '') {
this.InvitationList = JSON.parse(JSON.stringify(this.AllInvitationList))
} else {
const needle = val.toLowerCase()
this.InvitationList = this.AllInvitationList.filter(v => v.StuName.toLowerCase().indexOf(needle) > -1)
}
})
},
//获取学员信息 //获取学员信息
getStudentData() { getStudentData() {
this.studentList = []; this.studentList = [];
...@@ -214,11 +239,17 @@ ...@@ -214,11 +239,17 @@
}, },
//获取学员下拉信息 //获取学员下拉信息
getStudentList() { getStudentList() {
GetStudentList({ var qMsg={
SchoolId: this.setingObj.School_Id SchoolId: this.setingObj.School_Id
}).then(res => { };
GetStudentList({}).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.InvitationList = res.Data; var jsonData = res.Data;
if (jsonData && jsonData.length > 0) {
this.AllInvitationList = JSON.parse(JSON.stringify(jsonData));
this.InvitationList = JSON.parse(JSON.stringify(jsonData));
}
console.log("this.InvitationList",this.InvitationList);
} }
}) })
}, },
...@@ -232,12 +263,18 @@ ...@@ -232,12 +263,18 @@
}) })
return; return;
} else { } else {
let checkedStuObj = {};
this.InvitationList.forEach(x=>{
if(x.StuId==this.checkedStudent){
checkedStuObj=x;
}
})
this.invitationMsg.ClassId = this.setingObj.ClassId; this.invitationMsg.ClassId = this.setingObj.ClassId;
this.invitationMsg.GuestName = this.checkedStudent.StuName; this.invitationMsg.GuestName = checkedStuObj.StuName;
this.invitationMsg.Sex = this.checkedStudent.StuSex; this.invitationMsg.Sex = checkedStuObj.StuSex;
this.invitationMsg.Mobile = this.checkedStudent.StuTel; this.invitationMsg.Mobile = checkedStuObj.StuTel;
this.invitationMsg.BirthDay = this.checkedStudent.StuBirthStr; this.invitationMsg.BirthDay = checkedStuObj.StuBirthStr;
this.invitationMsg.StudentId = this.checkedStudent.StuId; this.invitationMsg.StudentId = checkedStuObj.StuId;
this.invitationMsg.School_Id = this.setingObj.School_Id; this.invitationMsg.School_Id = this.setingObj.School_Id;
AddClassStudent(this.invitationMsg).then(res => { AddClassStudent(this.invitationMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
......
...@@ -91,9 +91,8 @@ ...@@ -91,9 +91,8 @@
methods: { methods: {
//获取数据 //获取数据
getList() { getList() {
getDutyFrequencyList({}).then(res => { getDutyFrequencyList({}).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
console.log(res)
this.dataList = res.Data; this.dataList = res.Data;
} }
}) })
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<q-item-label class="text-weight-bold">{{x.Title}}</q-item-label> <q-item-label class="text-weight-bold">{{x.Title}}</q-item-label>
<q-item-label caption lines="3" class="remark-font">{{x.Content}}</q-item-label> <q-item-label caption lines="3" class="remark-font">{{x.Content}}</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side class="remark-font">{{x.SendTime}}</q-item-section> <q-item-section side class="remark-font">{{x.SendTime.replace('T',' ')}}</q-item-section>
</q-item> </q-item>
</q-list> </q-list>
<none-data v-else></none-data> <none-data v-else></none-data>
...@@ -272,7 +272,6 @@ ...@@ -272,7 +272,6 @@
this.init(); this.init();
this.getNotify(); this.getNotify();
this.socektArr = this.socektObj; this.socektArr = this.socektObj;
this.goMsgDetail('/course/prepareclassDetails?ClassId=5&ClassPlanId=2898');
}, },
methods: { methods: {
init() { init() {
...@@ -301,11 +300,6 @@ ...@@ -301,11 +300,6 @@
compType: "shenpi" compType: "shenpi"
} }
}) })
// this.$q.dialog({
// title: '功能提示',
// message: '灰度测试功能,即将在下版本中开启'
// }).onOk(() => {
// });
}, },
//请求公告数据 //请求公告数据
getNotify() { getNotify() {
...@@ -335,19 +329,23 @@ ...@@ -335,19 +329,23 @@
//跳转链接 新页面打开 //跳转链接 新页面打开
goMsgDetail(url) { goMsgDetail(url) {
let locationName = window.location.hostname; var hostName = window.location.hostname;
var host = window.location.host; var port = window.location.port;
var newurl = "" var newurl = ""
if (url != null && url.length > 0) { if (url != null && url.length > 0) {
if (url.indexOf('http://') == -1 || url.indexOf('https://') == -1) { if (url.indexOf('http://') == -1 || url.indexOf('https://') == -1) {
newurl = "http://" + locationName + (host != 80 ? ":" + host : "") + "/#" + url; if (url.indexOf("www") == -1) {
newurl = "http://" + hostName + (port != 80 ? ":" + port : "") + "/#" + url;
} else {
newurl = "http://" + url;
}
} else { } else {
newurl = url newurl = url
} }
} }
console.log("newurl", newurl); if (newurl) {
//window.open(url, "_blank"); window.open(newurl, "_blank");
}
}, },
//看过后删除 //看过后删除
readMsgLog(Id, index) { readMsgLog(Id, index) {
......
...@@ -32,7 +32,15 @@ ...@@ -32,7 +32,15 @@
</div> </div>
<div class="row wrap"> <div class="row wrap">
<q-input clearable filled class="col-6 q-pr-lg q-pb-lg" v-model="objOption.StudentName" label="学生姓名" /> <q-input clearable filled class="col-6 q-pr-lg q-pb-lg" v-model="objOption.StudentName" label="学生姓名" />
<q-input clearable filled class="col-6 q-pb-lg" v-model="objOption.StuBirth" label="学生生日" /> <q-input filled v-model="objOption.StuBirth" class="col-6 q-pb-lg" mask="date" label="学生生日">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale">
<q-date v-model="objOption.StuBirth" @input="() => $refs.qDateProxy1.hide()" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
<q-input clearable filled class="col-6 q-pr-lg q-pb-lg" v-model="objOption.StuEmail" label="学生邮箱" /> <q-input clearable filled class="col-6 q-pr-lg q-pb-lg" v-model="objOption.StuEmail" label="学生邮箱" />
<q-input clearable filled class="col-6 q-pb-lg" v-model="objOption.StuAddress" label="学生地址" /> <q-input clearable filled class="col-6 q-pb-lg" v-model="objOption.StuAddress" label="学生地址" />
<q-input clearable filled class="col-6 q-pr-lg q-pb-lg" v-model="objOption.StuTel" label="学生电话" /> <q-input clearable filled class="col-6 q-pr-lg q-pb-lg" v-model="objOption.StuTel" label="学生电话" />
...@@ -391,7 +399,7 @@ ...@@ -391,7 +399,7 @@
ThirdMoney: '', //第三期-费用总计 ThirdMoney: '', //第三期-费用总计
ThirdPayDate: '', //第三期-支付日期 ThirdPayDate: '', //第三期-支付日期
Exam: '', //乙方当前选择考试 Exam: '', //乙方当前选择考试
IsSupplement: 1, // 0无 1 有 是否有补充协议 IsSupplement: 0, // 0无 1 有 是否有补充协议
}, },
totalHours: 0, //培训课时数总计 totalHours: 0, //培训课时数总计
totalCourseFee: 0, //培训课程费总计 totalCourseFee: 0, //培训课程费总计
......
...@@ -149,23 +149,29 @@ ...@@ -149,23 +149,29 @@
<span @click="isShowPop=true">查看合同</span> <span @click="isShowPop=true">查看合同</span>
<q-popup-proxy v-if="isShowPop"> <q-popup-proxy v-if="isShowPop">
<q-banner> <q-banner>
<div style="width: 450px;max-height:220px;overflow:auto;"> <div style="width: 520px;max-height:220px;overflow:auto;">
<table class="Contract_Table"> <table class="Contract_Table">
<tr> <tr>
<th>姓名</th> <th>姓名</th>
<th style="width:180px;">合同编号</th> <th style="width:180px;">合同编号</th>
<th>状态</th> <th>状态</th>
<th width="110px;" v-if="isEdit">操作</th> <th width="170px;" v-if="isEdit">操作</th>
</tr> </tr>
<tr v-for="subItem in item.GuestList"> <tr v-for="subItem in item.GuestList">
<td>{{subItem.GuestName}}</td> <td>{{subItem.GuestName}}</td>
<td>{{subItem.ContractNo}}</td> <td>{{subItem.ContractNo}}</td>
<td>{{subItem.ContractStatusStr}}</td> <td>{{subItem.ContractStatusStr}}</td>
<td v-if="isEdit"> <td v-if="isEdit">
<q-btn color="accent" v-if="subItem.ContractId==0" size="sm" class="q-mr-md" <template v-if="subItem.ContractId==0">
@click="takeContractTwo(item,subItem)" label="领取合同" /> <q-btn color="accent" size="sm"
<q-btn color="accent" v-else size="sm" class="q-mr-md" @click="takeContractTwo(item,subItem)" label="领取合同" />
@click="takeContractTwo(item,subItem)" label="修改" /> </template>
<template v-else>
<!-- <q-btn color="accent" size="sm" style="margin-right:5px;"
@click="takeContractTwo(item,subItem)" label="修改" /> -->
<q-btn color="secondary" size="sm"
@click="goContractMannage()" label="查看合同" />
</template>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -1097,6 +1103,13 @@ ...@@ -1097,6 +1103,13 @@
this.isShowPop=false; this.isShowPop=false;
this.isShowEduForm=true; this.isShowEduForm=true;
}, },
//跳转至合同管理
goContractMannage(){
this.$router.push({
path: '/sale/contractManage',
query: {}
});
}
} }
} }
......
...@@ -180,7 +180,6 @@ ...@@ -180,7 +180,6 @@
if (res.Code == 1) { if (res.Code == 1) {
this.batchList = res.Data; this.batchList = res.Data;
} }
console.log("batchList", this.batchList);
}) })
}, },
//获取员工列表 //获取员工列表
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<div class="row wrap"> <div class="row wrap">
<div class="col-6"> <div class="col-6">
<q-select filled stack-label option-value="SId" option-label="SName" v-model="objOption.School_Id" <q-select filled stack-label option-value="SId" option-label="SName" v-model="objOption.School_Id"
ref="School_Id" :options="SchoolList" label="所属校区" :rules="[val => !!val || '请选择所属校区']" :dense="false" class="col-6 q-pr-lg q-pb-lg" emit-value ref="School_Id" :options="SchoolList" label="所属校区" :dense="false" class="col-6 q-pr-lg q-pb-lg" emit-value
map-options /> map-options />
<div class="col-6"> <div class="col-6">
<a v-if="objOption.SupplierContract&&isHaveViewContractAction" <a v-if="objOption.SupplierContract&&isHaveViewContractAction"
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
SupplierId: 0, //供应商编号 SupplierId: 0, //供应商编号
SupplierContract: '', //供应商合同 SupplierContract: '', //供应商合同
Remark: '', //备注 Remark: '', //备注
School_Id: 0, //所属校区 School_Id: -1, //所属校区
ImgCover:'', //封面图 ImgCover:'', //封面图
}, },
optionTitle: "", optionTitle: "",
...@@ -134,7 +134,7 @@ ...@@ -134,7 +134,7 @@
this.SchoolList = res.Data; this.SchoolList = res.Data;
var obj = { var obj = {
SName: '请选择', SName: '请选择',
SId: 0 SId: -1
} }
this.SchoolList.unshift(obj); this.SchoolList.unshift(obj);
} }
...@@ -167,7 +167,7 @@ ...@@ -167,7 +167,7 @@
this.objOption.SupplierId = 0; this.objOption.SupplierId = 0;
this.objOption.SupplierContract = ''; this.objOption.SupplierContract = '';
this.objOption.Remark = ''; this.objOption.Remark = '';
this.objOption.School_Id = 0; this.objOption.School_Id = -1;
} }
}, },
//关闭弹窗 //关闭弹窗
...@@ -187,8 +187,7 @@ ...@@ -187,8 +187,7 @@
// } // }
this.$refs.Name.validate(); this.$refs.Name.validate();
this.$refs.SupplierId.validate(); this.$refs.SupplierId.validate();
this.$refs.School_Id.validate(); if (!this.$refs.Name.hasError&&!this.$refs.SupplierId.hasError) {
if (!this.$refs.Name.hasError&&!this.$refs.SupplierId.hasError&&!this.$refs.School_Id.hasError) {
this.saveLoading = true; this.saveLoading = true;
saveStudyAbroad(this.objOption).then(res => { saveStudyAbroad(this.objOption).then(res => {
this.saveLoading = false this.saveLoading = false
......
...@@ -213,12 +213,10 @@ ...@@ -213,12 +213,10 @@
getLogList(){ getLogList(){
GetMsgLogList().then(res => { GetMsgLogList().then(res => {
if (res.Code == 1) { if (res.Code == 1) {
console.log(res,'mainLayout日志数据');
this.socektArr = res.Data; this.socektArr = res.Data;
} }
}) })
}, },
getMsg() { getMsg() {
let userinfo = this.getLocalStorage(); let userinfo = this.getLocalStorage();
var SendData = { var SendData = {
...@@ -231,10 +229,7 @@ ...@@ -231,10 +229,7 @@
console.log("socketData",e); console.log("socketData",e);
if (e.data) { if (e.data) {
var newData = JSON.parse(e.data) var newData = JSON.parse(e.data)
console.log(newData,'newData');
this.socektArr = this.socektArr.concat(newData) this.socektArr = this.socektArr.concat(newData)
console.log(this.socektArr,'this.socektArr');
this.showNotification(newData[0].Title, newData[0].Content, newData.CoverImg) this.showNotification(newData[0].Title, newData[0].Content, newData.CoverImg)
} }
}, },
...@@ -272,7 +267,7 @@ ...@@ -272,7 +267,7 @@
}; };
// 定义通知错误事件 // 定义通知错误事件
notify.onerror = function () { notify.onerror = function () {
// console.log("");
}; };
// 定义通知显示事件 可以设置多少秒之后关闭 也可以不设置关闭 // 定义通知显示事件 可以设置多少秒之后关闭 也可以不设置关闭
notify.onshow = function () { notify.onshow = function () {
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
</q-btn> </q-btn>
<q-btn @click="changeMenu(2)" v-if="AccountType==2 || ispower==true" flat :color="chosenMenu==2?'primary':'blue-grey-14'" :class="[chosenMenu==2?'text-weight-bold':'']" label="备课管理"> <q-btn @click="changeMenu(2)" v-if="AccountType==2 || ispower==true" flat :color="chosenMenu==2?'primary':'blue-grey-14'" :class="[chosenMenu==2?'text-weight-bold':'']" label="备课管理">
</q-btn> </q-btn>
<q-btn flat @click="changeMenu(3)" :color="chosenMenu==3?'primary':'blue-grey-14'" :class="[chosenMenu==3?'text-weight-bold':'']" label="我的排班计划"></q-btn> <q-btn style="display:none;" flat @click="changeMenu(3)" :color="chosenMenu==3?'primary':'blue-grey-14'" :class="[chosenMenu==3?'text-weight-bold':'']" label="我的排班计划"></q-btn>
</div> </div>
<div v-if="chosenMenu==1" class="flex col" style="flex: 1"> <div v-if="chosenMenu==1" class="flex col" style="flex: 1">
...@@ -194,8 +194,8 @@ ...@@ -194,8 +194,8 @@
.homebx { .homebx {
margin: 0; margin: 0;
} }
::-webkit-scrollbar { .myscroll::-webkit-scrollbar {
display: none; /* Chrome Safari */ display: none;
} }
.box .el-tabs__header{ .box .el-tabs__header{
......
...@@ -197,7 +197,6 @@ export default { ...@@ -197,7 +197,6 @@ export default {
this.OperationLoad = false; this.OperationLoad = false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.datainfo = res.data.data; this.datainfo = res.data.data;
console.log(this.datainfo)
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
......
...@@ -642,9 +642,9 @@ ...@@ -642,9 +642,9 @@
<div class="contractContent">8.2 出国留学的情况(需开具境外大学录取通知书及出行机票);</div> <div class="contractContent">8.2 出国留学的情况(需开具境外大学录取通知书及出行机票);</div>
<div class="contractContent">8.3 不在本地学习的情况(需开具相关证明);</div> <div class="contractContent">8.3 不在本地学习的情况(需开具相关证明);</div>
<div class="contractContent">8.4 长期外地工作实习的情况(需开具工作证明)。</div> <div class="contractContent">8.4 长期外地工作实习的情况(需开具工作证明)。</div>
<div class="contractContent">9、达到正常退费要求者,退费金额核算如下:</div> <div class="contractContent">9、退费金额核算如下:</div>
<div class="contractContent">9.1 <div class="contractContent">
未参加抽奖等优惠活动者:应退学费=乙方已缴总学费-已上课程学费-(乙方已缴总学费-已上课程学费)×10%。其中“(乙方已缴总学费-已上课程学费)×10%”为违约金;课程中附赠的口语课程、考前冲刺课程、真题讲解等课程不纳入退费课时,乙方无权针对该课程申请退费;班级课时剩余计算方法按照班级学费平均到每小时计算。 9.1 未参加抽奖等额外减免活动者:应退学费=实收学费-已上课时费-违约金(其中,已上课时费=原价学费÷总课时×已上课时;违约金=(实收学费-已上课时费)×10%。);课程中附赠的口语课程、考前冲刺课程、真题讲解等课程不纳入退费课时,乙方无权针对该课程申请退费;班级课时剩余计算方法按照班级学费平均到每课时(45分钟)计算。
</div> </div>
<div class="contractContent">9.2 参加各项抽奖等优惠活动者,一律不予退费。</div> <div class="contractContent">9.2 参加各项抽奖等优惠活动者,一律不予退费。</div>
<div class="contractContent">9.3 因乙方自身原因(如未达到留学或旅游所对应的语言水平,且非上述七.8条不可抗力因素)不能参加境外留学、游学或旅游项目的,不予退还境外服务费。</div> <div class="contractContent">9.3 因乙方自身原因(如未达到留学或旅游所对应的语言水平,且非上述七.8条不可抗力因素)不能参加境外留学、游学或旅游项目的,不予退还境外服务费。</div>
...@@ -695,7 +695,7 @@ ...@@ -695,7 +695,7 @@
<template v-if="dataList.IsSupplement==1"> <template v-if="dataList.IsSupplement==1">
<div class="comTitle" style="margin-top:40px;"> <div class="comTitle" style="margin-top:40px;">
<div class="comTiInner"> <div class="comTiInner">
<div class="comTLeft">甲鹤日语课程协议</div> <div class="comTLeft">甲鹤日语课程补充协议</div>
<div class="comTRight"></div> <div class="comTRight"></div>
</div> </div>
</div> </div>
......
...@@ -98,8 +98,8 @@ ...@@ -98,8 +98,8 @@
font-size: 12px; font-size: 12px;
color: #2961FE; color: #2961FE;
} }
::-webkit-scrollbar { .comment::-webkit-scrollbar {
display: none; /* Chrome Safari */ display: none;
} }
.prepareclassDetails .width70{ .prepareclassDetails .width70{
width: 70px; width: 70px;
......
...@@ -963,7 +963,6 @@ ...@@ -963,7 +963,6 @@
this.saveMsg.splice(i, 1); this.saveMsg.splice(i, 1);
}, },
uploadFileBtn(file) { //上传 uploadFileBtn(file) { //上传
console.log(file)
if (file.file.size > 1024 * 1024 * 10) { if (file.file.size > 1024 * 1024 * 10) {
this.$message.warning(this.$t('tips.wjdxbncgsz')) this.$message.warning(this.$t('tips.wjdxbncgsz'))
return return
......
...@@ -776,16 +776,13 @@ ...@@ -776,16 +776,13 @@
}, },
bodyCellSpan({ row, column, rowIndex }) { bodyCellSpan({ row, column, rowIndex }) {
if (rowIndex === 1) { if (rowIndex === 1) {
// console.log(column)
if (column.field === "date") { if (column.field === "date") {
return { return {
rowspan: 1, rowspan: 1,
colspan: 2, colspan: 2,
}; };
} }
// does not need to be rendered
else if (column.field === "hobby") { else if (column.field === "hobby") {
return { return {
rowspan: 0, rowspan: 0,
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
style="font-weight:400" @click="EditContract(props.row)" label="编辑" /> style="font-weight:400" @click="EditContract(props.row)" label="编辑" />
<el-tooltip content="复制链接发送给客人签字" placement="top" effect="light"> <el-tooltip content="复制链接发送给客人签字" placement="top" effect="light">
<q-btn flat size="xs" v-if="props.row.Status==2&&(props.row.Sign==''||props.row.Sign==null)" icon="iconfont icon-qianming" color="accent" <q-btn flat size="xs" v-if="props.row.Status==2&&(props.row.Sign==''||props.row.Sign==null)" icon="iconfont icon-qianming" color="accent"
style="font-weight:400" @click="CopyUrl(props.row)" label="客人签字" /> style="font-weight:400" @click="CopyUrl(props.row)" label="获取合同链接" />
</el-tooltip> </el-tooltip>
<q-btn flat size="xs" icon="iconfont icon-View" color="accent" @click="goContract(props.row)" <q-btn flat size="xs" icon="iconfont icon-View" color="accent" @click="goContract(props.row)"
style="font-weight:400" label="查看" /> style="font-weight:400" label="查看" />
......
...@@ -6,7 +6,13 @@ ...@@ -6,7 +6,13 @@
<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" title="我的排班计划" :data="dataList" :columns="columns" row-key="name"> separator="none" title="我的排班计划" :data="dataList" :columns="columns" row-key="name">
<template v-slot:body-cell-PlanList="props">
<q-td>
<div v-for="(item,index) in props.row.PlanList">
{{index+1}}{{item.ItemName}}
</div>
</q-td>
</template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount" <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" /> :input="true" @input="changePage" />
...@@ -108,7 +114,6 @@ ...@@ -108,7 +114,6 @@
this.pageCount = res.Data.Count; this.pageCount = res.Data.Count;
} }
this.loading = false; this.loading = false;
console.log("res", res);
}) })
}, },
//分页改变 //分页改变
...@@ -116,8 +121,14 @@ ...@@ -116,8 +121,14 @@
this.msg.pageIndex = val; this.msg.pageIndex = val;
}, },
//开始值班 //开始值班
StartSchedule() { StartSchedule(obj) {
this.$router.push({
path: "/scheduling/scheduleBoard",
query: {
Id:obj.Id,
Shift:obj.Shift
}
});
} }
}, },
} }
......
<style>
.scheduMain {
height: 100%;
width: 100%;
padding: 15px;
background-color: #f2f4f7;
overflow: hidden;
}
.scheduMain .schedu_left {
width: 248px;
flex: 0 0 auto;
position: relative;
background-image: url(../../assets/images/sched_bg.png);
background-repeat: no-repeat;
background-size: 100% auto;
height: 100%;
}
.scheduMain .okr-menu-active {
color: var(--q-color-primary);
font-weight: bold;
background: #ecf1ff;
}
.mySched {
border-radius: 8px;
overflow: hidden;
height: 100%;
background-color: #fff;
}
.schedu_ImgDiv {
width: 68px;
height: 68px;
border-radius: 20px;
overflow: hidden;
margin: 75px auto 0;
}
.schedu_ImgDiv img {
width: 100%;
height: 100%;
}
.schedu_Name {
color: #fff;
font-size: 16px;
margin-top: 26px;
text-align: center;
}
.schedu_Status {
font-size: 12px;
color: #fff;
text-align: center;
margin-top: 15px;
}
.schedu_st {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
margin-right: 5px;
position: relative;
top: 1px;
}
.zbz {
background-color: #00DB4E;
}
.xxz {
background-color: #DBDBDB;
}
.wdk {
background-color: #FE4475;
}
.clockon_Duty {
width: 120px;
height: 34px;
background: linear-gradient(90deg, #00BDD3, #00D761);
border-radius: 10px;
margin: 100px auto 24px;
text-align: center;
line-height: 31px;
color: #fff;
font-size: 14px;
cursor: pointer;
}
.sche_daka {
font-size: 18px;
position: relative;
left: 5px;
top: 2px;
}
.schedu_jiaojie {
width: 120px;
height: 34px;
line-height: 34px;
text-align: center;
border-radius: 10px;
border: 1px solid #91AEFF;
color: #C4D4FF;
font-size: 14px;
margin: auto;
cursor: pointer;
}
.sche_rightTop {
width: 100%;
height: 80px;
background-color: #fff;
}
.myscroll {
background-color: #F6F8FA;
}
.sche_Topflex {
display: flex;
width: 80%;
height: 80px;
justify-content: space-between;
align-items: center;
}
.Sctop_Color {
font-size: 18px;
color: #000000;
width: 246px;
text-align: center;
}
.Scotop_little {
color: #AAAAAA;
font-size: 14px;
margin-right: 15px;
}
.Scdu_benci::after {
content: "";
position: absolute;
height: 29px;
width: 2px;
background: #EBEBEB;
right: 0;
}
.sche_mid {
display: flex;
width: 100%;
justify-content: space-between;
}
.sche_midList {
width: 32%;
height: 300px;
background: #fff;
border-radius: 16px;
overflow: hidden;
}
.Sche_Bottom{
margin:26px 0 0 40px;
}
.scheList_TOP{
width:100%;
height:107px;
border-radius: 16px;
overflow: hidden;
}
</style>
<template>
<div class="scheduMain">
<div class="flex row mySched">
<div class="schedu_left">
<div class="schedu_ImgDiv">
<img :src="dataList.DutyManIcon" alt="" />
</div>
<div class="schedu_Name">
{{dataList.DutyManName}}
</div>
<div class="schedu_Status">
<span class="schedu_st zbz"></span>值班中
<!-- <span class="schedu_st xxz"></span>休息中
<span class="schedu_st wdk"></span>未打卡 -->
</div>
<div class="clockon_Duty">
值班打卡<i class="iconfont icon-jiejue1 sche_daka"></i>
</div>
<div class="schedu_jiaojie">值班交接</div>
</div>
<div class="col scroll myscroll">
<div class="sche_rightTop">
<div class="sche_Topflex">
<div class="Sctop_Color Scdu_benci" style="position:relative;">本次值班信息</div>
<div class="Sctop_Color">
<span class="Scotop_little">校区</span>城中一校区
</div>
<div class="Sctop_Color" style="width:300px;">
<span class="Scotop_little">时间</span>2021.04.27 周二 9:30
</div>
<div class="Sctop_Color">
<span class="Scotop_little">班次</span>早班
</div>
</div>
</div>
<div class="Sche_Bottom">
<div class="sche_mid">
<div class="sche_midList">
<div class="scheList_TOP">
<img src="../../assets/images/work_list.png" />
</div>
</div>
<div class="sche_midList">
</div>
<div class="sche_midList">
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import {
OnDuty
} from '../../api/scheduling/schedu'
export default {
props: {},
components: {},
data() {
return {
msg: {
Id: 0,
Shfit: 0
},
dataList: {}
}
},
created() {
console.log(this.$route.query.Shift);
if (this.$route.query.Shift && this.$route.query.Id) {
this.msg.Id = this.$route.query.Id
this.msg.Shfit = this.$route.query.Shift
this.getList();
}
},
methods: {
//请求数据
getList() {
OnDuty(this.msg).then(res => {
if (res.Code == 1) {
console.log(res, '数据来也');
this.dataList = res.Data;
}
})
},
},
}
</script>
...@@ -677,6 +677,11 @@ const routes = [{ ...@@ -677,6 +677,11 @@ const routes = [{
component: () => component: () =>
import("pages/scheduling/schedulDetail.vue") import("pages/scheduling/schedulDetail.vue")
}, },
{
path: "/scheduling/scheduleBoard", //值班看板
component: () =>
import("pages/scheduling/scheduleBoard.vue")
},
{ {
path: "/test", //API测试 path: "/test", //API测试
component: () => component: () =>
......
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