|
@@ -89,6 +89,56 @@
|
|
|
>
|
|
>
|
|
|
</span>
|
|
</span>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ :visible.sync="calendarDialogVisible"
|
|
|
|
|
+ width="30%"
|
|
|
|
|
+ center>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <div class="d_title">
|
|
|
|
|
+ <div>当前共有 {{peopleNum}} 人需要面试</div>
|
|
|
|
|
+ <div class="d_title_r">查看全部</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="week_box">
|
|
|
|
|
+ <i class="el-icon-arrow-left" style="cursor: pointer;margin-top: 5px" @click="changeWeek(-1)"></i>
|
|
|
|
|
+ <div v-for="(item, index) in weekDay" :key="index" class="card_date">
|
|
|
|
|
+ <div>{{ item }}</div>
|
|
|
|
|
+ <div v-if="weekDayList.length>0" :class="dayValue.getDate()==weekDayList[index].num?'selCircle':'selNone'" @click="selDay(weekDayList[index],index)">{{ weekDayList[index].num }}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <i class="el-icon-arrow-right" style="cursor: pointer;margin-top: 5px" @click="changeWeek(1)"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-for="(item, index) in recruitList" style="display: flex;padding: 20px">
|
|
|
|
|
+ <div>{{item.timeStr}}</div>
|
|
|
|
|
+ <div style="display: flex;margin-left: 30px">
|
|
|
|
|
+ <div v-for="(item_c, index_c) in item.list">
|
|
|
|
|
+ {{item_c.job}}-{{item_c.realName}}<span v-if="index_c<item.list.length-1">,</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-form ref="form" :model="form" label-width="80px">
|
|
|
|
|
+ <el-form-item label="公司">
|
|
|
|
|
+ <el-input v-model="form.company_name"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="时间">
|
|
|
|
|
+ <el-date-picker type="datetime" placeholder="选择时间" v-model="form.date" value-format="timestamp"></el-date-picker>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="地点">
|
|
|
|
|
+ <el-input v-model="form.company_name"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="电话">
|
|
|
|
|
+ <el-input v-model="form.company_name"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="联系人">
|
|
|
|
|
+ <el-input v-model="form.company_name"></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
|
+ <el-button @click="calendarDialogVisible = false">取 消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="calendarDialogVisible = false">发送邀请</el-button>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -100,6 +150,19 @@ export default {
|
|
|
components: { searchBox, tableList, pagination },
|
|
components: { searchBox, tableList, pagination },
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
|
|
+ dayValue: new Date(),
|
|
|
|
|
+ calendarDialogVisible: false,
|
|
|
|
|
+ weekDay:['一','二','三','四','五','六','日'],
|
|
|
|
|
+ weekDayList:[],
|
|
|
|
|
+ weekDay1:new Date(),
|
|
|
|
|
+ weekDay2:new Date(),
|
|
|
|
|
+ recruitList:[],
|
|
|
|
|
+ dayInterviewVos:[],
|
|
|
|
|
+ form:{
|
|
|
|
|
+ company_name:'',
|
|
|
|
|
+ date:''
|
|
|
|
|
+ },
|
|
|
|
|
+ peopleNum:0,
|
|
|
loading: false, //当前表单加载是否加载动画
|
|
loading: false, //当前表单加载是否加载动画
|
|
|
navText: {
|
|
navText: {
|
|
|
title: "简历中心",
|
|
title: "简历中心",
|
|
@@ -293,8 +356,73 @@ export default {
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
|
this.search();
|
|
this.search();
|
|
|
|
|
+ this.searchCalendar()
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ makeRecruitList(quantumList){
|
|
|
|
|
+ this.recruitList = []
|
|
|
|
|
+ this.peopleNum = 0
|
|
|
|
|
+ for(let i =0;i<quantumList.length;i++){
|
|
|
|
|
+ let item = quantumList[i]
|
|
|
|
|
+ if(item.recruitInterviewList.length>0){
|
|
|
|
|
+ this.peopleNum+=item.recruitInterviewList.length
|
|
|
|
|
+ let timeStr = item.timingStart+"点 ~ "+item.timingEnd+"点"
|
|
|
|
|
+ let newItem = {timeStr:timeStr,list:item.recruitInterviewList}
|
|
|
|
|
+ this.recruitList.push(newItem)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ changeWeek(index){
|
|
|
|
|
+ if(index==-1){
|
|
|
|
|
+ this.dayValue.setTime(this.dayValue.getTime()-7*24*60*60*1000)
|
|
|
|
|
+ }
|
|
|
|
|
+ if(index==1){
|
|
|
|
|
+ this.dayValue.setTime(this.dayValue.getTime()+7*24*60*60*1000)
|
|
|
|
|
+ }
|
|
|
|
|
+ this.searchCalendar()
|
|
|
|
|
+ },
|
|
|
|
|
+ selDay(day,index){
|
|
|
|
|
+ this.dayValue = day.day
|
|
|
|
|
+ this.makeRecruitList(this.dayInterviewVos[index].quantumList)
|
|
|
|
|
+ },
|
|
|
|
|
+ searchCalendar() {
|
|
|
|
|
+ let that = this
|
|
|
|
|
+ this.loading = true;
|
|
|
|
|
+ var data = {
|
|
|
|
|
+ year: this.dayValue.getFullYear(),
|
|
|
|
|
+ month: this.dayValue.getMonth()+1,
|
|
|
|
|
+ day: this.dayValue.getDate()
|
|
|
|
|
+ };
|
|
|
|
|
+ this.$api.recruitinterviewlist(data).then((res) => {
|
|
|
|
|
+ if(res.code==200){
|
|
|
|
|
+ that.dayInterviewVos = res.data.dayInterviewVos
|
|
|
|
|
+ that.weekDayList = []
|
|
|
|
|
+ for(let i = 0; i < that.dayInterviewVos.length; i++) {
|
|
|
|
|
+ if(res.data.dayInterviewVos[i].date==that.dayValue.getDate()){
|
|
|
|
|
+ that.currIndex = i
|
|
|
|
|
+ that.makeRecruitList(res.data.dayInterviewVos[i].quantumList)
|
|
|
|
|
+ }
|
|
|
|
|
+ let weekDay = {
|
|
|
|
|
+ num:that.dayInterviewVos[i].date
|
|
|
|
|
+ }
|
|
|
|
|
+ that.weekDayList.push(weekDay)
|
|
|
|
|
+ }
|
|
|
|
|
+ for(let i = 0; i < that.weekDayList.length; i++) {
|
|
|
|
|
+ var d=new Date();
|
|
|
|
|
+ d.setTime(that.dayValue.getTime()+(i-that.currIndex)*24*60*60*1000)
|
|
|
|
|
+ that.weekDayList[i].day = d
|
|
|
|
|
+ if(i==0){
|
|
|
|
|
+ that.weekDay1 = d
|
|
|
|
|
+ }
|
|
|
|
|
+ if(i==6){
|
|
|
|
|
+ that.weekDay2 = d
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ this.loading = false;
|
|
|
|
|
+ },
|
|
|
companyGM(){
|
|
companyGM(){
|
|
|
var arays = []
|
|
var arays = []
|
|
|
var newArrays = []
|
|
var newArrays = []
|
|
@@ -390,6 +518,8 @@ export default {
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
addClick(v, int) {
|
|
addClick(v, int) {
|
|
|
|
|
+ this.calendarDialogVisible = true
|
|
|
|
|
+ return
|
|
|
if (v === undefined) {
|
|
if (v === undefined) {
|
|
|
this.statusPop = 1;
|
|
this.statusPop = 1;
|
|
|
this.listData = {};
|
|
this.listData = {};
|
|
@@ -462,6 +592,47 @@ export default {
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
<style lang="less" scoped>
|
|
|
|
|
+.selNone {
|
|
|
|
|
+ margin: 13px auto;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ border:1px solid #000000;
|
|
|
|
|
+ width: 30px;
|
|
|
|
|
+ height: 30px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ line-height: 30px;
|
|
|
|
|
+}
|
|
|
|
|
+.selCircle {
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ width: 30px;
|
|
|
|
|
+ height: 30px;
|
|
|
|
|
+ color: #ffffff !important;
|
|
|
|
|
+ background-color: #3494F7;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ line-height: 30px;
|
|
|
|
|
+ margin: 13px auto;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+}
|
|
|
|
|
+.card_date {
|
|
|
|
|
+ width: 14%;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ color: #000;
|
|
|
|
|
+}
|
|
|
|
|
+.week_box{
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content:center;
|
|
|
|
|
+ margin-top: 20px;
|
|
|
|
|
+}
|
|
|
|
|
+.d_title_r{
|
|
|
|
|
+ color: #3494F7;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+}
|
|
|
|
|
+.d_title{
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ margin-top: 30px;
|
|
|
|
|
+}
|
|
|
/deep/.el-button {
|
|
/deep/.el-button {
|
|
|
border-radius: 8px;
|
|
border-radius: 8px;
|
|
|
}
|
|
}
|