提交 04aeb359 authored 作者: FC's avatar FC

fc

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