提交 283f9c18 authored 作者: FC's avatar FC

fc

上级 b9eb5654
......@@ -19,7 +19,7 @@
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="sureSave(1)">确 定</el-button>
</span>
</el-dialog> -->
</el-dialog>-->
</div>
</template>
......@@ -126,14 +126,23 @@ body {
// ::-webkit-scrollbar-corner 边角
// ::-webkit-resizer 定义右下角拖动块的样式
/*滚动条样式*/
.el-tooltip__popper.is-light{
.el-tooltip__popper.is-light {
max-width: 1000px;
line-height: 26px !important;
}
.el-tooltip__popper.is-dark{
.el-tooltip__popper.is-dark {
background-color: rgba(51, 50, 50, 0.52) !important;
}
.el-tooltip__popper.is-dark .popper__arrow{ //tooltip箭头样式
.el-tooltip__popper.is-dark .popper__arrow {
//tooltip箭头样式
opacity: 0.52;
}
.el-scrollbar {
::-webkit-scrollbar-track {
// -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
border-radius: 2px;
background: #fff;
opacity: 0;
}
}
</style>
......@@ -91,6 +91,14 @@ const routes = [
title: '定制日程',
},
},
{
path:'reserveRecord',
name:'reserveRecord',
component:()=>import('../views/reserveRecord/index.vue'),
meta:{
title:'定制日程'
},
},
{
path: 'operation',
name: 'operation',
......@@ -147,6 +155,18 @@ const routes = [
previous: true
},
},
{
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',
......
<template>
<div class="home">
<div
class="home_btn"
@click="hideGuide"
v-show="$store.state.showImageFlag"
></div>
<div class="home_btn" @click="hideGuide" v-show="$store.state.showImageFlag"></div>
<div class="home_loadings" v-show="$store.state.showImageFlag"></div>
<div
class="app_header"
......@@ -18,7 +14,7 @@
"
>
<div class="app_header_left" @click="toHome">
<img src="../assets/img/logo.png" alt="" />
<img src="../assets/img/logo.png" alt />
<span>市委在线办会</span>
</div>
<div class="header_router">
......@@ -46,20 +42,16 @@
<!-- {{ i.value }}</span>-->
<!-- </router-link>-->
<div class="user_name">
<img src="../assets/ty_image/user.jpeg" alt="" />
<img src="../assets/ty_image/user.jpeg" alt />
</div>
<div class="user_out">
<el-dropdown @visible-change="visibleChange">
<span class="el-dropdown-link">
{{ userName }}
<i
:class="isupIcon ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"
></i>
<i :class="isupIcon ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-button type="text" class="out_button" @click="outLogin"
>退出登录</el-button
>
<el-button type="text" class="out_button" @click="outLogin">退出登录</el-button>
</el-dropdown-menu>
</el-dropdown>
</div>
......@@ -81,13 +73,13 @@
<script>
export default {
name: "home",
name: 'home',
data() {
return {
userName: "user",
userName: 'user',
isupIcon: false,
icon: "el-icon-arrow-up",
isMeeting: "meeting",
icon: 'el-icon-arrow-up',
isMeeting: 'meeting',
// router_link: [
// {
// path: "/",
......@@ -102,98 +94,98 @@ export default {
// ],
router_link: [
{
path: "/beforeMeeting",
name: "meeting",
value: "会议管理",
path: '/beforeMeeting',
name: 'meeting',
value: '会议管理',
},
{
path: "/afterMeeting",
name: "system",
value: "会议报表",
path: '/reserveRecord',
name: 'reserveRecord',
value: '会议室预定记录',
},
{
path: "/schedule",
name: "meeting",
value: "会议日程",
path: '/afterMeeting',
name: 'system',
value: '会议报表',
},
{
path: "/system",
name: "system",
value: "系统管理",
path: '/system',
name: 'system',
value: '系统管理',
},
],
calcHeight: 0,
calcWidth: 1,
disSP: null,
};
}
},
watch: {
$route(val) {
this.setRoute(val);
this.setRoute(val)
},
getSession() {
this.userName = sessionStorage.getItem("cnName") || "user";
this.userName = sessionStorage.getItem('cnName') || 'user'
},
},
computed: {
getSession() {
return this.$store.state.casFlag;
return this.$store.state.casFlag
},
},
created() {
this.setRoute(this.$route);
if (sessionStorage.getItem("ty_token")) {
this.userName = sessionStorage.getItem("cnName") || "user";
this.setRoute(this.$route)
if (sessionStorage.getItem('ty_token')) {
this.userName = sessionStorage.getItem('cnName') || 'user'
}
},
methods: {
hideGuide() {
this.$store.commit("changeShowImage", false);
this.$store.commit('changeShowImage', false)
let data = {
navigationStatus: 2,
navigationType: 2,
sysUserId: sessionStorage.getItem("userId"),
};
sysUserId: sessionStorage.getItem('userId'),
}
this.$axios
.postUpdateStatus(data)
.then((res) => {
if (res.data.code === 200) {
sessionStorage.setItem("userNDirection2", 2);
sessionStorage.setItem('userNDirection2', 2)
}
})
.catch((err) => {});
.catch((err) => {})
},
toHome() {
this.$router.push({ path: "/" });
this.$router.push({ path: '/' })
},
outLogin() {
sessionStorage.setItem("cnName", "");
sessionStorage.setItem("userName", "");
sessionStorage.setItem("ty_token", "");
sessionStorage.setItem("sysRoles", "");
sessionStorage.setItem("userId", "");
sessionStorage.setItem("userNDirection1", "");
sessionStorage.setItem("userNDirection2", "");
this.$router.push("/login");
sessionStorage.setItem('cnName', '')
sessionStorage.setItem('userName', '')
sessionStorage.setItem('ty_token', '')
sessionStorage.setItem('sysRoles', '')
sessionStorage.setItem('userId', '')
sessionStorage.setItem('userNDirection1', '')
sessionStorage.setItem('userNDirection2', '')
this.$router.push('/login')
},
visibleChange(val) {
this.isupIcon = val;
this.isupIcon = val
},
setRoute(val) {
console.log(val);
if (val.name === "perPreparation") {
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 == 'meeting') {
this.isMeeting = 'system'
}
if (val.matched[1].name == "system") {
this.isMeeting = "meeting";
if (val.matched[1].name == 'system') {
this.isMeeting = 'meeting'
}
}
},
},
};
}
</script>
<style lang="less">
.el-dropdown-link {
......@@ -215,7 +207,7 @@ export default {
.home_loadings {
width: 100%;
height: 100%;
background-image: url("../assets/meetingPalce/paiwei/seatLoading.png");
background-image: url('../assets/meetingPalce/paiwei/seatLoading.png');
background-repeat: no-repeat;
background-size: 100% 100%;
position: fixed;
......@@ -287,7 +279,8 @@ to {
display: flex;
left: 510px;
.router_div {
width: 152px;
// width: 152px;
padding: 0px 35px;
height: 74px;
cursor: pointer;
background: transparent;
......@@ -303,7 +296,7 @@ to {
.bottom_border {
position: absolute;
bottom: 2px;
left: 56px;
left: 50% - 10px;
width: 40px;
height: 3px;
background: #ffffff;
......@@ -314,7 +307,7 @@ to {
.app_header_left {
display: flex;
align-items: center;
font-family: "MStiffHei PRC";
font-family: 'MStiffHei PRC';
font-size: 28px;
font-weight: 800;
color: #ffffff;
......
......@@ -14,11 +14,7 @@
class="demo-ruleForm"
>
<el-col :span="24">
<el-form-item
label="会议主题:"
class="textarea_wrap"
prop="processName"
>
<el-form-item label="会议主题:" class="textarea_wrap" prop="processName">
<el-input
v-model="formData.processName"
v-if="dialogVisible"
......@@ -42,13 +38,12 @@
:key="item.id"
:label="item.unitName"
:value="item.id"
>
</el-option>
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item label="开始时间:" prop="startDate">
<el-date-picker
:picker-options="pickerOptions0"
......@@ -59,8 +54,8 @@
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
</el-col>-->
<!-- <el-col :span="12">
<el-form-item label="结束时间:">
<el-date-picker
:picker-options="pickerOptions1"
......@@ -71,7 +66,7 @@
>
</el-date-picker>
</el-form-item>
</el-col>
</el-col>-->
<el-col :span="12">
<el-form-item label="联系人:">
<el-input v-model="formData.processPerson"></el-input>
......@@ -89,22 +84,18 @@
v-if="dialogVisible"
id="textarea"
type="textarea"
maxlength="249"
maxlength="500"
show-word-limit
:rows="2"
>
</el-input>
></el-input>
</el-form-item>
</el-col>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogClose">取 消</el-button>
<el-button
type="primary"
:disabled="disableFlag"
@click="confirm('ruleForm')"
>确 定</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>
</template>
......@@ -112,36 +103,34 @@
export default {
data() {
return {
danweiList: "",
danweiList: '',
pickerOptions0: {
disabledDate: (time) => {
return time.getTime() < Date.now() - 8.64e7;
return time.getTime() < Date.now() - 8.64e7
},
},
pickerOptions1: {
disabledDate: (time) => {
return time.getTime() < Date.now() - 8.64e7;
return time.getTime() < Date.now() - 8.64e7
},
},
rules: {
unitId: [{ required: true, message: "请选择单位", trigger: "blur" }],
processName: [
{ required: true, message: "请输入会议主题", trigger: "blur" },
],
unitName: [{ required: true, message: "请输入单位", trigger: "blur" }],
unitId: [{ required: true, message: '请选择单位', trigger: 'blur' }],
processName: [{ required: true, message: '请输入会议主题', trigger: 'blur' }],
unitName: [{ required: true, message: '请输入单位', trigger: 'blur' }],
processPhone: [
{
required: false,
trigger: "blur",
message: "请输入数字",
trigger: 'blur',
message: '请输入数字',
pattern: /(^[1-9]\d*$)/,
},
],
startDate: [
{ required: true, message: "请选择会议开始时间", trigger: "blur" },
],
// startDate: [
// { required: true, message: "请选择会议开始时间", trigger: "blur" },
// ],
},
};
}
},
props: {
dialogVisible: {
......@@ -156,18 +145,18 @@ export default {
forbid: Boolean,
},
mounted() {
this.find_danwei();
this.find_danwei()
},
methods: {
find_danwei() {
let data = {
info: "",
};
info: '',
}
setTimeout(() => {
this.$axios.findOrg(data).then((res) => {
this.danweiList = res.data.data;
});
}, 0);
this.danweiList = res.data.data
})
}, 0)
},
// remoteMethodUnit(query) {
// console.log(123)
......@@ -181,22 +170,22 @@ export default {
// }, 0);
// },
selectChange(e) {
this.formData.unitId = e;
this.formData.unitId = e
},
addDialogClose() {
this.$refs["ruleForm"].resetFields();
this.$emit("addDialogClose");
this.$refs['ruleForm'].resetFields()
this.$emit('addDialogClose')
},
confirm(val) {
this.$refs[val].validate((valid) => {
if (valid) {
this.$emit("update:disableFlag", true);
this.$emit("confirm");
this.$emit('update:disableFlag', true)
this.$emit('confirm')
} else {
return false;
return false
}
});
})
},
},
};
}
</script>
\ No newline at end of file
<template>
<div class="timeList">
<div class="time_num" v-for="(item,index) in hours" :key="index">
<div class="time">{{item}}</div>
<div
class="box"
:class="[selectFuc(item,index)?'selectTrue':'',selectClk(item,index)?'selClk':'']"
@click="selectRange(item,index)"
></div>
</div>
</div>
</template>
<script>
export default {
props: ['conferenceProcessReservationRecordList'],
data() {
return {
hours: [
'07:00',
'07:15',
'07:30',
'07:45',
'08:00',
'08:15',
'08:30',
'08:45',
'09:00',
'09:15',
'09:30',
'09:45',
'10:00',
'10:15',
'10:30',
'10:45',
'11:00',
'11:15',
'11:30',
'11:45',
'12:00',
'12:15',
'12:30',
'12:45',
'13:00',
'13:15',
'13:30',
'13:45',
'14:00',
'14:15',
'14:30',
'14:45',
'15:00',
'15:15',
'15:30',
'15:45',
'16:00',
'16:15',
'16:30',
'16:45',
'17:00',
'17:15',
'17:30',
'17:45',
'18:00',
'18:15',
'18:30',
'18:45',
'19:00',
'19:15',
'19:30',
'19:45',
'20:00',
'20:15',
'20:30',
'20:45',
'21:00',
'21:15',
'21:30',
'21:45',
],
//确定创建会议室obj
timeSelectObj: {
createdTime: '',
endTime: '',
},
}
},
methods: {
//比较时间
timeStape(time) {
if (time !== null) {
let s = ''
let hour = time.split(':')[0]
let min = time.split(':')[1]
// let sec = time.split(':')[2]
// console.log(sec)
s = Number(hour * 3600) + Number(min * 60)
// console.log(s)
return s
}
},
//选中的时间区间
selectRange(item, index) {
if (this.timeSelectObj.createdTime && this.timeSelectObj.endTime) {
this.timeSelectObj.createdTime = item
this.timeSelectObj.endTime = ''
} else {
if (!this.timeSelectObj.createdTime) {
this.timeSelectObj.createdTime = item
} else {
if (this.timeStape(this.timeSelectObj.createdTime) >= this.timeStape(item)) {
this.timeSelectObj.createdTime = item
} else {
this.timeSelectObj.endTime = item
}
}
}
this.$emit('getTimeRange', this.timeSelectObj)
},
//已经选中的样式
selectFuc(item, index) {
for (let i = 0; i < this.conferenceProcessReservationRecordList.length; i++) {
if (
this.timeStape(this.conferenceProcessReservationRecordList[i].reservationStartTime) >= this.timeStape(item) &&
this.timeStape(this.conferenceProcessReservationRecordList[i].reservationEndTime) <= this.timeStape(item)
) {
return true
}
}
},
//单击选中后的样式
selectClk(item, index) {
if (this.timeSelectObj.createdTime && this.timeSelectObj.endTime) {
// console.log(1)
if (
this.timeStape(this.timeSelectObj.createdTime) <= this.timeStape(item) &&
this.timeStape(this.timeSelectObj.endTime) >= this.timeStape(item)
) {
return true
}
} else {
if (this.timeStape(this.timeSelectObj.createdTime) == this.timeStape(item)) {
return true
}
}
},
},
}
</script>
<style lang="less" scoped>
.timeList {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
.time_num {
width: 5%;
height: 112px;
text-align: center;
margin-bottom: 5px;
.time {
width: 100%;
height: 32px;
line-height: 32px;
color: #778ca2;
background: #f7f8fa;
border-top: 1px solid #ebecee;
border-bottom: 1px solid #ebecee;
}
.box {
width: 100%;
height: 80px;
background: #fff;
border-bottom: 1px solid #ebecee;
cursor: pointer;
}
.box:hover {
background: rgba(57, 135, 240, 0.2);
}
.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;
}
}
}
</style>
\ No newline at end of file
......@@ -373,6 +373,10 @@ export default {
data() {
return {
butList: [
{
name: '通知参会',
path: '/operation/noticeMeeting',
},
{
name: '人员管理',
path: '/operation/divideArea',
......
<template>
<div class="allConfence">
<div class="topData">
<div>src</div>
<div></div>
<div></div>
</div>
</div>
</template>
<script>
export default {}
</script>
<style lang="less" scoped>
.allConfence {
width: 100%;
height: 100%;
}
</style>
<template>
<div class="confenceTable">单个</div>
</template>
<script>
export default {}
</script>
<style lang="less" scoped>
.coonfencenTable {
width: 100%;
height: 100%;
}
</style>
\ No newline at end of file
<template>
<div class="reserveRecord">
<div class="row">
<div class="box"></div>
<div class="text">会议室预定记录</div>
</div>
<div class="content">
<div class="content_nav">
<div class="all">全部会议室</div>
<div class="nav_list">
<div class="confence" v-for="(item,index) in confenceList" :key="index">
<div class="confence_name">{{item.name}}</div>
<div class="box"></div>
</div>
</div>
</div>
<div class="content_list">
<div class="list_data">
<div class="data_num_select">
<el-select class="year_select" v-model="yearValue" placeholder="请选择">
<el-option
v-for="item in yearList"
:key="item.value"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
<el-select class="month_select" v-model="monthValue" placeholder="请选择">
<el-option
v-for="item in monthList"
:key="item.value"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="data_num_tipes">
<img src="../../assets/img/explanation_i.png" alt />
<div>操作说明:初次点击“时间块”选择起点时间,再次点击选择结束时间;深灰色时间块:为已预定时间段。</div>
</div>
</div>
<div class="list_table">
<allConfence v-if="isOnce"></allConfence>
<confenceTable v-if="!isOnce"></confenceTable>
</div>
</div>
</div>
</div>
</template>
<script>
import allConfence from './allConfence.vue'
import confenceTable from './confenceTable.vue'
export default {
components: { allConfence, confenceTable },
watch: {
yearValue(newVal, oldVal) {
console.log(newVal, oldVal)
},
},
data() {
return {
confenceList: [
{ name: '1号会议室', id: '123' },
{
name: '2号会议室',
id: '321',
},
],
yearList: [
{ name: '2020年', value: 2020 },
{ name: '2021年', value: 2021 },
{ name: '2022年', value: 2022 },
],
monthList: [
{ name: '1月', value: 1 },
{ name: '2月', value: 2 },
{ name: '3月', value: 3 },
{ name: '4月', value: 4 },
{ name: '5月', value: 5 },
{ name: '6月', value: 6 },
{ name: '7月', value: 7 },
{ name: '8月', value: 8 },
{ name: '9月', value: 9 },
{ name: '10月', value: 10 },
{ name: '11月', value: 11 },
{ name: '12月', value: 12 },
],
yearValue: '',
monthValue: '',
isOnce: true,
}
},
}
</script>
<style lang="less" scoped>
// 去除滚动条
::-webkit-scrollbar {
display: none; /* Chrome Safari */
}
.reserveRecord {
width: 100%;
height: 100%;
padding-top: 22px;
.row {
width: 100%;
height: 40px;
line-height: 40px;
padding-left: 32px;
display: flex;
align-items: center;
margin-bottom: 25px;
.box {
width: 2px;
height: 18px;
background: #5474e8;
border-radius: 0px 0px 0px 0px;
opacity: 1;
margin-right: 6px;
}
.text {
font-size: 18px;
line-height: 40px;
}
}
.content {
width: 1872px;
height: calc(100% - 82px);
background-color: #ffffff;
margin: 0 auto;
display: flex;
padding: 20px;
.content_nav {
width: 210px;
height: 100%;
.all {
width: 100%;
height: 60px;
background: #5474e8;
border-radius: 2px 2px 2px 2px;
color: #ffffff;
font-size: 18px;
display: flex;
align-items: center;
justify-content: center;
}
.nav_list {
width: 100%;
height: calc(100% - 60px);
background-color: rgba(226, 226, 226, 0.24);
border-radius: 4px 0px 0px 4px;
// text-align: center;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 20px;
overflow: auto;
.confence {
width: 172px;
height: 80px;
background: #ffffff;
border-radius: 2px 2px 2px 2px;
text-align: center;
margin-bottom: 20px;
cursor: pointer;
.confence_name {
width: 100%;
height: 72px;
line-height: 72px;
font-size: 18px;
}
.box {
width: 100%;
height: 8px;
border-radius: 0px 0px 2px 2px;
background: #5474e8;
}
}
}
}
.content_list {
width: calc(100% - 210px);
height: 100%;
// background-color: #100;
.list_data {
width: 100%;
width: 1622px;
height: 32px;
background: #edeff2;
border-radius: 0px 0px 0px 0px;
display: flex;
align-items: center;
margin-bottom: 24px;
.data_num_select {
width: 52%;
height: 100%;
display: flex;
align-items: center;
padding-left: 58px;
.year_select,
.month_select {
// height: 100%;
width: 100px;
/deep/.el-input {
// height: 100%;
height: 22px;
width: 100%;
.el-input__inner {
height: 22px;
width: 100%;
background-color: transparent;
border: none;
}
.el-input__inner:focus {
box-shadow: none !important;
}
.el-input__suffix {
display: flex;
align-items: center;
}
}
}
}
.data_num_tipes {
display: flex;
align-items: center;
color: #778ca2;
font-size: 14px;
img {
width: 17px;
height: 15px;
margin-right: 8px;
}
}
}
.list_table {
width: 100%;
height: calc(100% - 56px);
padding: 0 30px 0 20px;
}
}
}
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论