提交 a21a7b6f authored 作者: FC's avatar FC

合并分支 'fc' 到 'master'

Fc 查看合并请求 !12
......@@ -23,8 +23,8 @@ const env = {
// API_TEST_ORIGIN: 'http://172.18.27.190:8080/confhd',
// API_BASE_ORIGIN: 'http://192.168.102.146:6888', //越越
// API_TEST_ORIGIN: 'http://192.168.102.146:6888',
API_BASE_ORIGIN: 'http://192.168.102.19:6888', //赵璐
API_TEST_ORIGIN: 'http://192.168.102.19:6888',
API_BASE_ORIGIN: 'http://192.168.102.124:6888', //赵璐
API_TEST_ORIGIN: 'http://192.168.102.124:6888',
},
development_ssj: {
// API_BASE_ORIGIN: 'http://192.168.100.248:6888',
......
......@@ -91,14 +91,14 @@ const routes = [
title: '定制日程',
},
},
{
path:'reserveRecord',
name:'reserveRecord',
component:()=>import('../views/reserveRecord/index.vue'),
meta:{
title:'定制日程'
},
},
{
path: 'reserveRecord',
name: 'reserveRecord',
component: () => import('../views/reserveRecord/index.vue'),
meta: {
title: '定制日程'
},
},
{
path: 'operation',
name: 'operation',
......@@ -155,18 +155,18 @@ const routes = [
previous: true
},
},
{
path:'noticeMeeting',
name:'noticeMeeting',
component: () =>
import('../views/meeting/operation/noticeMeeting/index.vue'),
meta: {
{
path: 'noticeMeeting',
name: 'noticeMeeting',
component: () =>
import('../views/meeting/operation/noticeMeeting/index.vue'),
meta: {
title: 'prepare',
nav: true,
next: true,
previous: true
},
},
},
{
path: 'chooseModule',
name: 'chooseModule',
......@@ -225,6 +225,7 @@ const routes = [
redirect: '/system/power/jurisdiction',
beforeEnter: (to, from, next) => {
let sysRoles = sessionStorage.getItem('sysRoles')
console.log(sysRoles);
switch (sysRoles) {
case 'ROLE_SUPERADMIN':
next()
......@@ -235,6 +236,9 @@ const routes = [
case 'ROLE_HUIYIADMIN':
next()
break
case 'ROLE_HUIYISHIADMIN':
next()
break
default:
next({
path: '/login',
......@@ -250,44 +254,45 @@ const routes = [
meta: {
title: '权限管理',
},
children:[
{
path:"jurisdiction",
name:'jurisdiction',
component: () =>
import('../views/system/jurisdiction.vue'),
meta: {
title: '超管',
},
},
{
path:"unitEmpower",
// name:'unitEmpower',
component: () =>
import('../views/system/jurisdic/index.vue'),
meta: {
title: '参会单位授权',
},
children:[
{
path:'/',
name:'unitEmpower',
component:()=>
import('../views/system/unitEmpower.vue')
},
{
path: 'unitLibrary',
// name: 'unitLibrary',
component: () =>
import('../views/system/unitLibrary.vue'),
meta: {
title: '参会单位库管理',
},
}]
}
],
children: [
{
path: "jurisdiction",
name: 'jurisdiction',
component: () =>
import('../views/system/jurisdiction.vue'),
meta: {
title: '超管',
},
},
{
path: "unitEmpower",
// name:'unitEmpower',
component: () =>
import('../views/system/jurisdic/index.vue'),
meta: {
title: '参会单位授权',
},
children: [
{
path: '/',
name: 'unitEmpower',
component: () =>
import('../views/system/unitEmpower.vue')
},
{
path: 'unitLibrary',
// name: 'unitLibrary',
component: () =>
import('../views/system/unitLibrary.vue'),
meta: {
title: '参会单位库管理',
},
}]
}
],
beforeEnter: (to, from, next) => {
let sysRoles = sessionStorage.getItem('sysRoles')
console.log(sysRoles);
switch (sysRoles) {
case 'ROLE_SUPERADMIN':
next()
......@@ -300,7 +305,14 @@ const routes = [
path: '/system/bankMangager/confLibrary',
})
break
case 'ROLE_HUIYISHIADMIN':
next({
path: '/system/bankMangager/confLibrary',
})
break
default:
console.log(111111111);
next(false)
}
},
......@@ -394,22 +406,22 @@ const routes = [
title: '管理自定义人员库',
},
},
{
path:'abbreviaLibrary',
name:'abbreviaLibrary',
component:()=>import('../views/system/abbreviationLibrary.vue'),
meta:{
title:'单位简称管理'
}
},
{
path:'personlabel',
name:'personlabel',
component:()=>import('../views/system/personLabel.vue'),
meta:{
title:'人员标签库'
}
}
{
path: 'abbreviaLibrary',
name: 'abbreviaLibrary',
component: () => import('../views/system/abbreviationLibrary.vue'),
meta: {
title: '单位简称管理'
}
},
{
path: 'personlabel',
name: 'personlabel',
component: () => import('../views/system/personLabel.vue'),
meta: {
title: '人员标签库'
}
}
]
},
{
......@@ -452,7 +464,7 @@ const routes = [
title: '单位库管理',
},
},
],
},
{
......
......@@ -25,6 +25,7 @@
v-for="(i, index) in router_link"
:key="index"
:to="i.path"
>
<span>{{ i.value }}</span>
<div class="bottom_border"></div>
......@@ -137,8 +138,42 @@ export default {
if (sessionStorage.getItem('ty_token')) {
this.userName = sessionStorage.getItem('cnName') || 'user'
}
let sysRoles = sessionStorage.getItem('sysRoles')
switch (sysRoles) {
case 'ROLE_SUPERADMIN':
break
case 'ROLE_XITONGADMIN':
break
case 'ROLE_HUIYIADMIN':
break
case 'ROLE_HUIYISHIADMIN':
this.router_link = [
{
path: '/reserveRecord',
name: 'reserveRecord',
value: '会议室预定记录',
},
{
path: '/system/bankMangager/confLibrary',
name: 'confLibrary',
value: '系统管理',
},
]
break
default:
this.$router.push({ path: '/login' })
}
console.log('sysRoles',this.router_link);
},
methods: {
toClick(val) {
console.log(val,this.router_link);
},
hideGuide() {
this.$store.commit('changeShowImage', false)
let data = {
......@@ -156,7 +191,9 @@ export default {
.catch((err) => {})
},
toHome() {
this.$router.push({ path: '/' })
if (sessionStorage.getItem('sysRoles') != 'ROLE_HUIYISHIADMIN') {
this.$router.push({ path: '/' })
}
},
outLogin() {
sessionStorage.setItem('cnName', '')
......@@ -172,17 +209,17 @@ export default {
this.isupIcon = val
},
setRoute(val) {
console.log(val)
if (val.name === 'perPreparation') {
}
if (val.matched[1].name) {
if (val.matched[1].name == 'meeting') {
this.isMeeting = 'system'
}
if (val.matched[1].name == 'system') {
this.isMeeting = 'meeting'
}
}
// console.log('123',val)
// if (val.name === 'perPreparation') {
// }
// if (val.matched[1].name) {
// if (val.matched[1].name == 'meeting') {
// this.isMeeting = 'system'
// }
// if (val.matched[1].name == 'system') {
// this.isMeeting = 'meeting'
// }
// }
},
},
}
......
......@@ -11,28 +11,14 @@
<div class="henggang">
<div class="henggang_duan"></div>
</div>
<el-form
:inline="true"
:model="formInline"
class="form-body"
@submit.native.prevent
v-loading="loading"
>
<el-form :inline="true" :model="formInline" class="form-body" @submit.native.prevent v-loading="loading">
<el-form-item class="ty_from_item">
<img class="icon" src="../../../assets/img/user_icon.png" />
<el-input
v-model.trim="formInline.username"
placeholder="用户名"
></el-input>
<el-input v-model.trim="formInline.username" placeholder="用户名"></el-input>
</el-form-item>
<el-form-item class="ty_from_item">
<img class="icon" src="../../../assets/img/password_icon.png" />
<el-input
v-model="formInline.password"
placeholder="密码"
show-password
@keyup.enter.native="loginIn"
>
<el-input v-model="formInline.password" placeholder="密码" show-password @keyup.enter.native="loginIn">
</el-input>
</el-form-item>
<el-form-item class="ty_from_item">
......@@ -115,7 +101,11 @@ export default {
sessionStorage.setItem("sysRoles", res.data.data.sysRoles[0]);
sessionStorage.setItem("unitName", res.data.data.unitName);
sessionStorage.setItem("unitId", res.data.data.unitId);
this.$router.push("/");
if (res.data.data.sysRoles[0] == 'ROLE_HUIYISHIADMIN') {
this.$router.push('/reserveRecord')
} else {
this.$router.push("/");
}
} else {
this.$message({
message: res.data.data,
......@@ -139,10 +129,12 @@ export default {
border: none !important;
border-bottom: 1px solid #dcdfe6 !important;
}
.el-input__inner:focus {
background-color: #fff;
border: 1px solid rgba(84, 116, 232, 0.8) !important;
}
.el-button--primary {
border-radius: 33px !important;
}
......@@ -157,6 +149,7 @@ export default {
padding: 140px 128px 32px 128px;
box-shadow: 0px 2px 20px 10px rgb(6 25 72 / 30%);
position: relative;
.ies {
font-size: 18px;
margin-top: -80px;
......@@ -164,6 +157,7 @@ export default {
display: flex;
align-items: center;
}
.login_erweima {
width: 95px;
height: 149px;
......@@ -172,6 +166,7 @@ export default {
right: 0;
cursor: pointer;
}
.title {
width: 470px;
// height: 48px;
......@@ -183,6 +178,7 @@ export default {
height: 90px;
letter-spacing: 2px;
}
.henggang {
width: 400px;
margin-top: 10px;
......@@ -190,6 +186,7 @@ export default {
background: #e5e5e5;
border-radius: 1px;
margin-bottom: 90px;
.henggang_duan {
margin-top: -1px;
width: 105px;
......@@ -198,6 +195,7 @@ export default {
border-radius: 1px;
}
}
.line {
width: 105px;
height: 3px;
......@@ -206,9 +204,11 @@ export default {
top: 160px;
border-radius: 1px;
}
.form-body {
.el-form-item {
width: 100%;
.icon {
position: absolute;
top: 16px;
......@@ -217,6 +217,7 @@ export default {
width: 20px;
height: 20px;
}
.login-btn {
width: 100%;
height: 60px;
......@@ -226,21 +227,26 @@ export default {
border-radius: 6px;
box-shadow: 0px 5px 3px rgba(84, 116, 235, 0.3);
opacity: 0.8;
span {
font-size: 26px;
}
}
.login-btn:hover {
opacity: 1;
}
.el-form-item__content {
width: 100%;
margin-bottom: 10px;
.el-input__inner {
text-indent: 50px;
height: 54px;
background-color: #f4f4f4;
}
.el-input__inner:focus {
background-color: #fff;
border: 1px solid rgba(84, 116, 232, 0.8);
......
<template>
<el-dialog
width="1050px"
:before-close="addDialogClose"
:title="dialogTitle"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
>
<el-form
:model="formData"
:rules="rules"
ref="ruleForm"
label-width="130px"
class="demo-ruleForm"
>
<el-dialog width="1050px" :before-close="addDialogClose" :title="dialogTitle" :visible.sync="dialogVisible"
:close-on-click-modal="false">
<el-form :model="formData" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm">
<el-col :span="24">
<el-form-item label="会议主题:" class="textarea_wrap" prop="processName">
<el-input
v-model="formData.processName"
v-if="dialogVisible"
maxlength="50"
show-word-limit
></el-input>
<el-input v-model="formData.processName" v-if="dialogVisible" maxlength="50" show-word-limit></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-col :span="12">
<el-form-item label="单位:" prop="unitId" class="unit_select">
<el-select
v-model="formData.unitId"
filterable
:disabled="dialogTitle == '修改会议' || user == 'ROLE_HUIYIADMIN'"
placeholder=" "
>
<el-option
v-for="item in danweiList"
:key="item.id"
:label="item.unitName"
:value="item.id"
></el-option>
<el-select v-model="formData.unitId" filterable :disabled="dialogTitle == '修改会议' || user == 'ROLE_HUIYIADMIN'"
placeholder=" ">
<el-option v-for="item in danweiList" :key="item.unitId" :label="item.unitName"
:value="item.unitId"></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -78,22 +54,14 @@
</el-col>
<el-col :span="24">
<el-form-item label="会议介绍:" class="textarea_wrap" prop="name">
<el-input
v-model="formData.des"
v-if="dialogVisible"
id="textarea"
type="textarea"
maxlength="500"
show-word-limit
:rows="2"
></el-input>
<el-input v-model="formData.des" v-if="dialogVisible" id="textarea" type="textarea" maxlength="500"
show-word-limit :rows="2"></el-input>
</el-form-item>
</el-col>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button
@click="addDialogClose"
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;取 消&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</el-button>
<el-button @click="addDialogClose">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</el-button>
<el-button type="primary" :disabled="disableFlag" @click="confirm('ruleForm')">进入编辑会议</el-button>
</span>
</el-dialog>
......@@ -152,7 +120,7 @@ export default {
info: '',
}
setTimeout(() => {
this.$axios.findOrg(data).then((res) => {
this.$axios.getUnitAuth(data).then((res) => {
this.danweiList = res.data.data
})
}, 0)
......
......@@ -8,14 +8,14 @@
</div>
</div>
<div class="meeting_item item" :class="[
{ green_item: item.processStatus === 1 },
{ orange_item: item.processStatus === 2 },
{ blue_item: item.processStatus === 3 },
]" v-for="(item, index) of meetingLists" :key="index" @click="enterConf(item)">
{ green_item: item.processStatus === 1 },
{ orange_item: item.processStatus === 2 },
{ blue_item: item.processStatus === 3 },
]" v-for="(item, index) of meetingLists" :key="index" @click="enterConf(item)">
<div class="meeting_item_part1">
<div class="meeting_item_text" v-if="flash">
<el-tooltip :content="item.processName" effect="light" placement="bottom"
v-if="item.processName !== item.showName">
v-if="item.processName !== item.showName">
<span class="text_name">{{ item.showName }}</span>
</el-tooltip>
<span class="text_name" v-else>{{ item.showName }}</span>
......@@ -23,40 +23,42 @@
<time-record :startTime="item.processDate" :tagFlag="true"></time-record>
</div>
<div class="time_record" :class="
new Date(item.processDate).getTime() - new Date().getTime() < 0
? 'overdue'
: ''
" @click.stop v-else>
<time-count-down :endTime="item.processDate" @modifyDate="modifyDate" :item="item" :tagFlag="
new Date(item.processDate).getTime() - new Date().getTime() < 0
? 'overdue'
: ''
" @click.stop v-else>
<time-count-down :endTime="item.processDate" @modifyDate="modifyDate" :item="item"
:tagFlag="
new Date(item.processDate).getTime() - new Date().getTime() < 0
? false
: true
"></time-count-down>
? false
: true
"></time-count-down>
</div>
</div>
<div class="publish_tag">
<!--processStatus:1.准备中,2.已发布,3.进行中,4.结束-->
<span>
{{
item.processStatus === 1
? "准备中"
: item.processStatus === 2
? "已发布"
: item.processStatus === 3
? "进行中"
: ""
item.processStatus === 1
? "准备中"
: item.processStatus === 2
? "已发布"
: item.processStatus === 3
? "进行中"
: ""
}}
</span>
</div>
</div>
<div class="meeting_item_part2">
<div class="meeting_item_text" v-for="(msg, index) of item.data" :key="index">
<span class="text_key" v-if="msg.key !=='来源' & msg.key !=='联系人'">{{ msg.key }}</span>
<span class="text_value" v-if="msg.key !=='来源' & msg.key !=='联系人'">{{ msg.value }}</span>
<span class="address_des" v-if="
msg.key === '地址' && (msg.value === '' || msg.value === null)
">请在排座时选厅</span>
<div class="meeting_item_text" v-show="(msg.key !== '来源' && msg.key !== '联系人')" v-for="(msg, index) of item.data"
:key="index">
<span class="text_key">{{ msg.key }}</span>
<span class="text_value" v-if="msg.key !== '预定状态'">{{ msg.value }}</span>
<span class="text_value" v-else>{{ msg.value == 0 ? '待审核' : msg.value == 1 ? '审核成功' : msg.value == 2 ? '审核不通过' :
''
}}</span>
<span class="address_des" v-if="msg.key === '地址' && (msg.value === '' || msg.value === null)">请在排座时选厅</span>
</div>
</div>
<div class="foot_but">
......@@ -89,6 +91,7 @@ export default {
}
},
mounted() {
this.loadingOptions.text = '加载中...'
let loading = Loading.service(this.loadingOptions)
setTimeout(() => {
......@@ -241,16 +244,20 @@ export default {
flex-wrap: wrap;
align-content: flex-start;
position: relative;
&:after {
//实现flex布局space-between最后一行左对齐
content: " ";
flex: auto;
}
.before_none {
display: none;
}
.add_item {
padding: 20px;
.add_but {
height: 100%;
width: 100%;
......@@ -264,6 +271,7 @@ export default {
color: #778ca2;
}
}
.overdue {
width: auto;
height: 24px;
......@@ -272,73 +280,90 @@ export default {
color: #778ca2 !important;
border-radius: 12px;
}
.green_item {
.publish_tag {
background: #42be75;
}
.start_but div {
border-right: 1px rgba(66, 190, 117, 0.16) solid;
}
.start_but,
.enter_but {
background: rgba(66, 190, 117, 0.12);
color: #42be75;
}
&:hover {
border: 1px solid #42be75;
}
.time_record {
background: rgba(66, 190, 117, 0.1);
border: 1px solid #42be75;
color: #42be75;
}
}
.orange_item {
.publish_tag {
background: #ffae4e;
}
.start_but div {
border-right: 1px rgba(255, 174, 78, 0.16) solid;
}
.start_but,
.enter_but {
background: rgba(255, 174, 78, 0.12);
color: #ffae4e;
}
&:hover {
border: 1px solid #ffae4e;
}
.time_record {
background: rgba(255, 174, 78, 0.1);
border: 1px solid #ffae4e;
color: #ffae4e;
}
}
.blue_item {
.publish_tag {
background: #5474e8;
}
.enter_but {
background: rgba(84, 116, 232, 0.12);
color: #5474e8;
}
&:hover {
border: 1px solid #5474e8;
}
.time_record {
background: rgba(84, 116, 232, 0.1);
border: 1px solid #5474e8;
color: #5474e8;
}
}
.meeting_item {
border: 1px solid #fff;
border-bottom: 3px solid #98c0ed;
.foot_but {
width: 100%;
height: 38px;
opacity: 0;
display: flex;
.but {
width: 33%;
flex-grow: 1;
......@@ -346,10 +371,12 @@ export default {
text-align: center;
padding: 10px 0px;
}
.close_but {
background: rgba(226, 79, 81, 0.12);
color: #e24f51;
}
.start_but {
div {
width: 100%;
......@@ -357,12 +384,14 @@ export default {
}
}
}
.meeting_item:hover {
height: 248px;
transition-duration: 0.8s;
margin-bottom: 9px;
background: #f8f9ff;
box-shadow: 0px 4px 20px 0px rgba(51, 88, 195, 0.25);
.foot_but {
width: 100%;
height: 38px;
......@@ -370,6 +399,7 @@ export default {
transition-duration: 1.8s;
}
}
.item {
position: relative;
width: 446px;
......@@ -381,13 +411,16 @@ export default {
position: relative;
margin-bottom: 17px;
margin-right: calc((100% - 446px * 4) / 3);
&:nth-child(4n) {
margin-right: 0 !important; //每行的最后一个item的margin-right为0
}
.meeting_item_part1 {
height: 88px;
padding: 20px 24px 0px 24px;
position: relative;
.meeting_item_text {
width: calc(100% - 90px);
height: 47px;
......@@ -396,6 +429,7 @@ export default {
font-family: "Medium";
font-weight: 500;
line-height: 30px;
.time_record {
font-family: "Regular";
height: 24px;
......@@ -408,6 +442,7 @@ export default {
font-size: 14px;
}
}
.publish_tag {
width: 90px;
height: 34px;
......@@ -422,6 +457,7 @@ export default {
right: -1px;
}
}
.meeting_item_part2 {
color: #778ca2;
height: 120px;
......@@ -431,6 +467,7 @@ export default {
border-radius: 4px;
display: flex;
flex-direction: column;
.meeting_item_text {
width: 100%;
height: 30px;
......@@ -443,6 +480,7 @@ export default {
overflow: hidden;
/* 显示省略号 */
text-overflow: ellipsis;
.address_des {
margin-left: 10px;
padding: 0 6px;
......
......@@ -2,7 +2,7 @@
<div class="count_down_wrap">
<span>
<span v-if="tagFlag">倒计时</span>
{{countDown}}
{{ countDown }}
<span v-if="over" class="overdue">
<i class="overdue_icon" v-if="edit" @click="selectTime()"></i>
......@@ -18,49 +18,51 @@
</span>
</span>
<el-dialog
title="修改过期会议"
:visible.sync="dialogFormVisible"
:before-close="handleClose"
class="selectTimeDialog"
width="1500px"
v-if="item
"
>
<div class="conferenceName">会议名称:{{item.processName}}</div>
<el-dialog title="修改过期会议" :visible.sync="dialogFormVisible" :before-close="handleClose" class="selectTimeDialog"
width="1500px" v-if="item
">
<div class="conferenceName">会议名称:{{ item.processName }}</div>
<div class="dialog_top">
<div class="name">{{currentConfenrenceObj.conferenceName}}</div>
<div v-for="(i,index) in item.data" :key="index" class="content">
<div v-if="i.key!=='来源'" class="key">{{i.key }}:</div>
<div v-if="i.key!=='来源'" class="value">{{ i.value }}</div>
<div class="name">{{ currentConfenrenceObj.conferenceName }}</div>
<div v-for="(i, index) in item.data" :key="index" class="content">
<div v-if="i.key !== '来源'" class="key">{{ i.key }}:</div>
<div v-if="i.key !== '来源'" class="value">{{ i.value }}</div>
</div>
</div>
<div class="dayTime">
<div>预计使用时间:</div>
<el-date-picker
v-model="dayTime"
:picker-options="pickerOptions"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
@change="dayTimeChange()"
></el-date-picker>
<el-date-picker v-model="dayTime" :picker-options="pickerOptions" type="date" placeholder="选择日期"
value-format="yyyy-MM-dd" @change="dayTimeChange()"></el-date-picker>
</div>
<div class="timeList">
<timeList
:canClick="canClick"
:conferenceProcessReservationRecordList="conferenceProcessReservationRecordList"
<timeList :canClick="canClick" :conferenceProcessReservationRecordList="conferenceProcessReservationRecordList"
:isHover="false
"
@getTimeRange="getTimeRange"
></timeList>
" @getTimeRange="getTimeRange"></timeList>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="handleClose()">取 消</el-button>
<el-button type="primary" @click="submit()">确 定</el-button>
</div>
</el-dialog>
<el-dialog class="tipsDialog" title="提示" :visible.sync="tipsDialogVisible" width="30%"
:before-close="tipsHandleClose">
<span slot="title" class="dialog-title">
<span>提示</span>
<span>状态为:预定失败</span>
</span>
<div style="text-align: center;">
<div>会议主题:{{ item.processName }} 预定时间已过期</div>
<div>确认“重新预定”</div>
<div class="tips">注:更换会议室需清空已排座数据;更换时间不清空已排座数据。</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="tipsDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="tipsDialogSure()">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
......@@ -92,9 +94,11 @@ export default {
conferenceProcessReservationRecordList: [],
canClick: true,
currentConfenrenceObj: {},
tipsDialogVisible: false,
}
},
mounted() {
console.log('item', this.item)
this.countTime()
},
props: ['endTime', 'tagFlag', 'item'],
......@@ -104,6 +108,17 @@ export default {
// },
},
methods: {
tipsHandleClose() {
this.tipsDialogVisible = false
},
tipsDialogSure() {
this.$router.push({
path: '/operation/chooseModule',
query: { processId: this.item.id, isProcess: 1, processName: this.item.processName },
})
this.tipsDialogVisible = false
},
handleClose() {
this.dialogFormVisible = false
this.currentConfenrenceObj = {}
......@@ -149,12 +164,19 @@ export default {
return y + '-' + m + '-' + d
},
selectTime() {
console.log(this.item)
this.$axios.rescheduleMeeting(this.item.id).then((res) => {
console.log('res', res)
this.currentConfenrenceObj = res.data.data
})
this.dialogFormVisible = true
console.log(this.item.data[this.item.data.length - 1])
let index = this.item.data.length - 1
if (this.item.data[index].key == '预定状态' && this.item.data[index].value == 2) {
console.log(213113);
this.tipsDialogVisible = true
} else {
this.$axios.rescheduleMeeting(this.item.id).then((res) => {
console.log('res', res)
this.currentConfenrenceObj = res.data.data
})
this.dialogFormVisible = true
}
},
//子组件返回的值
getTimeRange(value) {
......@@ -234,36 +256,72 @@ export default {
<style scoped lang="less">
.count_down_wrap {
height: 100%;
/deep/.tipsDialog {
.el-dialog__header {
display: flex;
align-items: center;
font-size: 16px;
.el-dialog__headerbtn {
top: 20px !important;
}
.dialog-title {
display: flex;
width: 100%;
justify-content: space-between;
padding-right: 30px;
}
}
.el-dialog__body {
.tips {
font-size: 14px;
font-weight: 400;
color: #778CA2;
}
}
}
}
.overdue {
position: relative;
.el-date-editor--datetime {
position: absolute;
left: 0;
top: 0;
}
.el-date-editor.el-input,
/deep/ .el-input__inner {
width: 20px;
height: 20px;
opacity: 0;
}
/deep/ .el-input--prefix .el-input__inner {
padding-left: 0;
}
/deep/ .el-input--suffix .el-input__inner {
padding-right: 0;
}
}
/deep/.selectTimeDialog {
.el-dialog {
.el-dialog__body {
display: flex !important;
flex-direction: column;
.conferenceName {
width: 100%;
margin-bottom: 10px;
}
.dialog_top {
width: 100%;
display: flex;
......@@ -272,22 +330,34 @@ export default {
line-height: 32px;
padding-left: 15px;
background-color: rgba(118, 144, 237, 0.2);
.name {
color: #5474e8;
margin-right: 45px;
}
.content {
display: flex;
margin-right: 45px;
.key {
color: #778ca2;
width: 55px;
}
.value {
color: #3a3c4b;
max-width: 600px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
// word-break: break-word;
}
}
}
.dayTime {
width: 100%;
height: 48px;
......@@ -296,6 +366,7 @@ export default {
align-items: center;
margin-top: 20px;
margin-bottom: 15px;
.el-date-editor {
width: 150px;
height: 100%;
......
<template>
<div class="timeList">
<div class="time_num" v-for="(item,index) in hours" :key="index">
<div class="time">{{setListTime(item)}}</div>
<div
class="box"
:class="[selectFuc(item,index)?'selectTrue':'',selectClk(item,index)?'selClk':'',canClick?'boxHover':'']"
@click=" canClick?selectRange(item,index): ''"
>
<div
class="boxHover"
v-if="isHover && selectFuc(item,index)?'selectTrue':'' "
:id="index"
:class="rightOrLeft(item)"
>
<div class="once" v-for="(i,index) in setLenth(item,index) " :key="index">
<div>会议主题:{{setHover(item,index,'processName')[index]}}</div>
<div>预定时间:{{setHover(item,index,'time')[index]}}</div>
<div>会议状态:{{setHover(item,index,'processStatus')[index]}}</div>
<div>办会单位:{{setHover(item,index,'unitName')[index]}}</div>
<div>联系人:{{setHover(item,index,'processPerson')[index]}}</div>
<div>联系电话:{{setHover(item,index,'processPhone')[index]}}</div>
<div class="time_num" v-for="(item, index) in hours" :key="index">
<div class="time">{{ setListTime(item) }}</div>
<div class="box"
:class="[selectFuc(item, index) ? 'selectTrue' : '', selectClk(item, index) ? 'selClk' : '', canClick ? 'boxHover' : '']"
@click="canClick ? selectRange(item, index) : ''">
<div class="boxHover" v-if="isHover && selectFuc(item, index) ? 'selectTrue' : ''" :id="index"
:class="rightOrLeft(item)">
<div class="once" v-for="(i, index) in setLenth(item, index) " :key="index">
<div>会议主题:{{ setHover(item, index, 'processName')[index] }}</div>
<div>预定时间:{{ setHover(item, index, 'time')[index] }}</div>
<div>会议状态:{{ setHover(item, index, 'processStatus')[index] }}</div>
<div>预定会议室:{{ setHover(item, index, 'auditStatus')[index] }}</div>
<div>办会单位:{{ setHover(item, index, 'unitName')[index] }}</div>
<div>联系人:{{ setHover(item, index, 'processPerson')[index] }}</div>
<div>联系电话:{{ setHover(item, index, 'processPhone')[index] }}</div>
</div>
<!-- <div>会议主题:{{setHover(item,index,'processName')}}</div>
<div>预定时间:{{setHover(item,index,'time')}}</div>
......@@ -35,7 +30,7 @@
<script>
export default {
name:'timeList',
name: 'timeList',
props: ['conferenceProcessReservationRecordList', 'canClick', 'isHover'],
data() {
return {
......@@ -109,6 +104,9 @@ export default {
hoverArr: [1, 2, 3, 4],
}
},
created() {
console.log('conferenceProcessReservationRecordList', this.conferenceProcessReservationRecordList)
},
methods: {
rightOrLeft(item) {
if (
......@@ -157,27 +155,37 @@ export default {
}
},
//选中的时间区间
selectRange(item, index) {
console.log('item', item)
selectRange(item, val) {
console.log('item', item, val)
console.log('timeSelectObj', this.timeSelectObj);
if (this.timeSelectObj.reservationStartTime && this.timeSelectObj.reservationEndTime) {
console.log(123);
this.timeSelectObj.reservationStartTime = item
this.timeSelectObj.reservationEndTime = ''
} else {
if (!this.timeSelectObj.reservationStartTime) {
console.log(456);
this.timeSelectObj.reservationStartTime = item
} else {
// console.log('item', this.timeSelectObj.reservationStartTime)
if (this.timeStape(this.timeSelectObj.reservationStartTime) >= this.timeStape(item)) {
console.log(789);
this.timeSelectObj.reservationStartTime = item
} else {
this.timeSelectObj.reservationEndTime = item
}
}
}
this.$emit('getTimeRange', this.timeSelectObj)
if (val !== 'lastSet') {
this.$emit('getTimeRange', this.timeSelectObj)
}
},
//已经选中的样式
selectFuc(item, index) {
// console.log(item);
// console.log('选中',this.conferenceProcessReservationRecordList);
for (let i = 0; i < this.conferenceProcessReservationRecordList.length; i++) {
// console.log(
// item,
......@@ -215,6 +223,7 @@ export default {
let processPerson = []
let processPhone = []
let obj = []
let auditStatus = []
for (let i = 0; i < this.conferenceProcessReservationRecordList.length; i++) {
if (
this.timeStape(this.conferenceProcessReservationRecordList[i].reservationStartTime.split(' ')[1]) <= this.timeStape(item) &&
......@@ -228,13 +237,13 @@ export default {
} else if (str == 'time') {
time.push(
this.conferenceProcessReservationRecordList[i].reservationStartTime +
'至' +
this.conferenceProcessReservationRecordList[i].reservationEndTime
'至' +
this.conferenceProcessReservationRecordList[i].reservationEndTime
)
obj.push(
this.conferenceProcessReservationRecordList[i].reservationStartTime +
'至' +
this.conferenceProcessReservationRecordList[i].reservationEndTime
'至' +
this.conferenceProcessReservationRecordList[i].reservationEndTime
)
// return (
// this.conferenceProcessReservationRecordList[i].reservationStartTime +
......@@ -273,6 +282,21 @@ export default {
obj.push(this.conferenceProcessReservationRecordList[i].processPhone)
// return this.conferenceProcessReservationRecordList[i].processPhone
// this.hoverArr.push(1)
} else if (str == 'auditStatus') {
if (this.conferenceProcessReservationRecordList[i].auditStatus == 0) {
auditStatus.push('待审核')
obj.push('待审核')
} else if (this.conferenceProcessReservationRecordList[i].auditStatus == 1) {
auditStatus.push('审核通过')
obj.push('审核通过')
} else if (this.conferenceProcessReservationRecordList[i].auditStatus == 2) {
auditStatus.push('审核不通过')
obj.push('审核不通过')
} else if (this.conferenceProcessReservationRecordList[i].auditStatus == 3) {
auditStatus.push('无需审核')
obj.push('无需审核')
}
}
}
}
......@@ -291,6 +315,7 @@ export default {
return true
}
} else {
// console.log(this.timeSelectObj.reservationStartTime);
if (this.timeStape(this.timeSelectObj.reservationStartTime) == this.timeStape(item)) {
return true
}
......@@ -298,9 +323,7 @@ export default {
},
},
watch: {
conferenceProcessReservationRecordList() {
// console.log('conferenceProcessReservationRecordList', this.conferenceProcessReservationRecordList)
},
},
}
</script>
......@@ -313,11 +336,13 @@ export default {
flex-wrap: wrap;
justify-content: center;
overflow: visible;
.time_num {
width: 5%;
height: 112px;
text-align: center;
margin-bottom: 5px;
.time {
width: 100%;
height: 32px;
......@@ -328,18 +353,22 @@ export default {
border-top: 1px solid #ebecee;
border-bottom: 1px solid #ebecee;
}
.box {
width: 100%;
height: 80px;
background: #fff;
border-bottom: 1px solid #ebecee;
// cursor: pointer;
.boxHover {
display: none;
}
}
.box:hover {
position: relative;
// display: flex;
.boxHover {
display: inline-block;
......@@ -349,51 +378,62 @@ export default {
padding-left: 20px;
border-radius: 4px;
border: 1px solid gray;
.once {
margin-bottom: 20px;
// background-color: skyblue;
}
}
.left {
position: absolute;
top: 40px;
right: 0px;
}
.right {
position: absolute;
top: 40px;
left: 0px;
}
}
.boxHover {
cursor: pointer;
}
.boxHover:hover {
background: rgba(57, 135, 240, 0.2);
}
.box:hover {
}
.box:hover {}
.selectTrue {
background: rgba(119, 140, 162, 0.2);
}
.selClk {
background: rgba(57, 135, 240, 0.2);
}
}
.time_num:nth-child(1),
.time_num:nth-child(21),
.time_num:nth-child(41) {
.time,
.box {
border-left: 1px solid #ebecee;
}
}
.time_num:nth-child(20),
.time_num:nth-child(40),
.time_num:nth-child(60) {
.time {
border-right: 1px solid #ebecee;
}
.box {
border-right: 1px solid #ebecee;
}
......
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论