Files
foton-laws-system-front/src/pages/localTool/standCalendar/index.vue
T
2022-01-04 10:32:43 +08:00

935 lines
30 KiB
Vue

<!--标准化活动日历-->
<template>
<div class="standCalendar">
<el-row :gutter="24">
<el-col :span="12">
<el-card>
<div class="header">
<div class="date-picker" style="display: inline">
<span class="item">
<el-select v-model="formData.year" @change="handleDate">
<el-option v-for="(item, index) in year" :value="item" :key="index">{{ item }}</el-option>
</el-select>
</span>
<span class="item">
<el-select v-model="formData.month" @change="handleDate">
<el-option v-for="(item, index) in month" :value="item" :key="index">{{ item }}</el-option>
</el-select>
</span>
</div>
<div style="float: right;display: inline;height: 30px;padding-right: 5px">
<el-button size="mini" type="primary" plain @click="today">今天</el-button>
</div>
</div>
<el-calendar v-model="value">
<template slot="dateCell" slot-scope="{date, data}">
<div @click="calendarOnClick(data)">
<div class="calendar-day" style="text-align: center;">
<span class="everyDay" style="line-height: 40px">
{{ data.day.split('-').slice(2).join('-') }}
<br/>
<span v-if="!dealMyDate(data.day)">
<el-tag style="background-color: unset;border-color: unset;border-width: 0"/>
</span>
<!-- 获取当前登录人的会议并表示出来-->
<span v-for="(item,index) in dealMyDate(data.day)" :value="index">
<el-tag v-if="userId === item.fillPeopleId" class="tagTwo"/>
</span>
<span v-if="dealMyDate(data.day).length > 0">
<el-tag class="tagOne"/>
</span>
</span>
</div>
</div>
</template>
</el-calendar>
<!-- <div class="footer">
<el-tag style="background-color: #e6a23c;color: white">当天会议</el-tag>
<el-tag style="margin-left: 20px;background-color: #67c23a;color: white">我的会议</el-tag>
</div>-->
</el-card>
</el-col>
<el-col :span="12">
<el-card style="height: 655px;overflow: auto">
<div class="title_time">{{ timeDay.day || nowDate }}</div>
<span class="card_info_empty " v-if="todayData.length === 0">
<div style="text-align: center">
<img :src="require('@/assets/images/meeting.png')">
</div>
<div style="text-align: center;font-weight: bold;color: #99999a">暂无会议</div>
</span>
<el-card class="card_info" v-else v-for="(item, index) in todayData" :value="item" :key="index">
<span v-for="res in item.attend" :key="res.fillPeopleId">
<el-tag v-if="userId === res.fillPeopleId" type="success" size="mini">会议</el-tag>
</span>
<span>
<el-tag type="warning" size="mini">会议</el-tag>
</span>
<span style="float: right;padding-right: 5px">
<el-button type="primary" size="mini" plain @click="edit_meeting(item)">编辑会议内容</el-button>
</span>
<i style="margin-left: 10px;font-weight: bold">{{ item.title }}</i>
<div class="content_style">
<div class="content_text">
<span>会议时间 : {{ $moment(item.date).format('YYYY-MM-DD HH:mm:ss') }} </span>
</div>
<div class="content_text2">
<span>参与人 : {{ item.partPeople.join('、') }} </span>
</div>
<div class="content_text2">
<span>会议内容 : {{ item.content }}</span>
</div>
<div class="content_text2">
<span>会议地点 : {{ item.place }}</span>
</div>
<div class="content_text">
<span>会议附件 :
<span v-if="item.files.length === 0">{{ '-' }}</span>
<div v-else v-for="res in item.files" :key="res.id" style="color: #409EFF;margin-left: 58px;margin-top: -32px;line-height: 50px" @click="previews(res.id)">
<a v-if="res.name.length > 30" style="cursor: pointer;margin-bottom: 5px">
{{ res.name.slice(0, 30) + '...' }} {{ ';' }}
</a>
<a v-else style="cursor: pointer">
{{ res.name }} {{ ';' }}
</a>
</div>
</span>
</div>
</div>
</el-card>
</el-card>
</el-col>
</el-row>
<!-- 会议编辑抽屉 -->
<el-drawer
title="编辑会议信息"
:visible.sync="meetFlag"
:before-close="falseDrawer"
size="800px"
>
<div class="content_form" style="height: calc(100% - 20px);overflow-y: auto">
<el-form class="label-input-form" ref="editMeetForm" :model="editMeetForm" label-width="80px">
<el-form-item class="add-form-item" label="会议标题:">
<el-input v-model="editMeetForm.title" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="参与人员:">
<div class="myPart_btn">
<el-button
type="primary"
size="small"
@click="add_partForm">
新增
</el-button>
<el-button
type="danger"
size="small"
@click="del_partForm">
批量删除
</el-button>
</div>
<el-table
:data="editMeetForm.attend"
border
ref="entryTable"
@selection-change="selectedDelete"
style="width: 100%"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55"/>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="fillPeople" align="center" label="人员">
<template slot-scope="scope">
{{ scope.row.fillPeople || '' }}
</template>
</el-table-column>
<el-table-column prop="fillUnit" align="center" label="单位">
<template slot-scope="scope">
{{ scope.row.fillUnit || '' }}
</template>
</el-table-column>
<el-table-column prop="fillDept" align="center" label="部门">
<template slot-scope="scope">
{{ scope.row.fillDept || '' }}
</template>
</el-table-column>
<el-table-column prop="fillTel" align="center" label="电话">
<template slot-scope="scope">
{{ scope.row.fillTel || '' }}
</template>
</el-table-column>
<el-table-column prop="fillMail" align="center" label="邮箱">
<template slot-scope="scope">
{{ scope.row.fillMail || '' }}
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="100">
<template slot-scope="scope">
<el-button type="primary" plain size="mini" @click="edit_partForm(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="picker_style" label="会议时间:">
<el-date-picker
v-model="editMeetForm.date"
type="datetime"
:picker-options="datePicker"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间"
align="right">
</el-date-picker>
</el-form-item>
<el-form-item class="add-form-item" label="会议内容:">
<div class="table_btn">
<el-button type="primary" size="small" @click="meeting_add">添加</el-button>
<el-button type="danger" size="small" @click="meeting_delete">批量删除</el-button>
</div>
<el-table
class="meeting_table"
:data="editMeetForm.contents"
border
ref="entryTable"
style="width: 100%"
@selection-change="selectedTable"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column
label="议题"
align="center"
prop="meetingTheme">
<template slot-scope="scope">
<el-input v-model="scope.row.meetingTheme"/>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item class="add-form-item" label="会议地点:">
<el-input v-model="editMeetForm.place" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="会议附件:">
<el-upload
multiple
ref="uploadFile"
:action="actionPath"
name="file"
:file-list="reData"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:http-request="httpRequest"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button type="primary" size="small">
上传文件
</el-button>
</el-upload>
</el-form-item>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="falseDrawer">取消</el-button>
<el-button type="primary" :loading="loading" size="mini" @click="OkDrawer">确认</el-button>
</div>
</el-drawer>
<!-- 编辑框内的人员的table上的编辑 -->
<el-drawer
:title="dialogTitle"
:visible.sync="editFlag"
size="600px"
:before-close="falseDrawerTab"
custom-class="demo-drawer"
>
<div class="content_form" style="height: 100%">
<el-form class="label-input-form" ref="editForm" :model="editForm" label-width="80px">
<el-form-item class="add-form-item" label="参与人员:">
<el-input v-model="editForm.fillPeopleId" style="display: none;"></el-input>
<el-input
placeholder="请选择参与人员"
style="width: 50%"
@click.native="choiceRole('fillPeopleId','请选择入会成员',editForm.fillPeopleId,)"
v-model="editForm.fillPeople"
/>
</el-form-item>
<el-form-item class="add-form-item" label="单位:">
<el-input v-model="editForm.fillUnit" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="部门:">
<el-input v-model="editForm.fillDept" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="电话:">
<el-input v-model="editForm.fillTel" placeholder=""></el-input>
</el-form-item>
<el-form-item class="add-form-item" label="邮箱:">
<el-input v-model="editForm.fillMail" placeholder=""></el-input>
</el-form-item>
</el-form>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="falseDrawerTab">取消</el-button>
<el-button type="primary" size="mini" @click="OkDrawerTab">确认</el-button>
</div>
</el-drawer>
<Role-tree
check-box
is-title="选择入会人员"
:is-visible.sync="roleShowflag"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
</div>
</template>
<script>
import { meetingByMonth } from '@/api/unqualProcess.js'
import { updateMeet, upFile} from '@/api/process.js'
export default {
name: "calendar",
data() {
return {
userId: this.$store.getters.userInfo.userId,
year: [],
month: [],
formData: {
year: '',
month: '',
},
//点击日历获取当天会议数据
todayData: [],
// 全部会议数据
resDate: [],
// 点击日历获取暂时储存数组
timeDay: {},
// 上次点击的日期
lastYear: '',
lastMonth: '',
// 日历当前时间
value: new Date(),
// 当前时间
nowDate: '',
meetFlag: false,
editMeetForm: {},
reData: [],
actionPath: 'api/att/attFile/upload',
roleShowflag: false,
nodeList: [],
deleteDataList: [],
upDialog: false,
reDataTable: [],
editFlag: false,
content: [],
editForm: {
fillPeople: '',
fillUnit: '',
fillDept: '',
fillTel: '',
fillMail: '',
},
// 议题选中时储存数组
deleteTable: [],
loading: false,
dialogTitle: '',
// 当前日期之前不可选择
datePicker: {
disabledDate(date) {
return date.getTime() < Date.now() - 24 * 60 * 60 * 1000
}
}
}
},
mounted() {
/** 获取当前日期*/
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm < 10) {
mm = this.padding0(mm, 2)
}
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.nowDate = yy + '-' + mm + '-' + dd
this.formData.year = yy + '年'
this.formData.month = mm + '月'
this.lastYear = yy
this.lastMonth = mm
this.getMonthData()
this.init()
},
methods: {
init() {
this.getYear();
this.getMonth();
},
getYear() {//获取年
let date = new Date;
let current_year = date.getFullYear();
for (let i = -2; i < 3; i++) {
let y = current_year - i;
this.year.push(y + '年');
}
},
getMonth() {//获取月
for (let i = 1; i < 13; i++) {
this.month.push(i + '月');
}
},
/** 获取当前月日历数据*/
getMonthData() {
let data = {
date: this.nowDate,
type: 1
}
meetingByMonth(data).then(res => {
if (res.length !== 0) {
// 对传参的数据转义
res.forEach(item => {
item.attend = JSON.parse(item.attend)
item.files = JSON.parse(item.files)
this.$set(item, 'partPeople', [])
})
res.forEach(item => {
item.attend.forEach(msgAtt => {
item.partPeople.push(msgAtt.fillPeople)
})
})
this.resDate = res
this.dealMyDate()
this.todayData = []
this.resDate.forEach(item => {
if (item.date.slice(0, 10) === this.nowDate) {
this.todayData.push(item)
}
})
}
})
},
/** 获取当前点击日历表格数据*/
calendarOnClick(val) {
this.todayData = []
this.timeDay = val
if (this.resDate.length !== 0) {
this.resDate.forEach(item => {
if (item.date.slice(0, 10) === this.timeDay.day) {
this.todayData.push(item)
}
})
}
// 点击日历头部日期变化
this.formData.year = val.day.slice(0, 4) + '年'
if (val.day.slice(5, 6) === '0') {
this.formData.month = val.day.slice(6, 7) + '月'
} else {
this.formData.month = val.day.slice(5, 7) + '月'
}
},
/** 点击今天按钮 */
today() {
this.value = new Date()
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm < 10) {
mm = this.padding0(mm, 2)
}
this.formData.month = mm + '月'
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.formData.year = yy + '年'
this.nowDate = yy + '-' + mm + '-' + dd
this.getMonthData()
},
/** 获取所有会议的时间及内容
* 并在日历上显示出标记*/
dealMyDate(v) {
let len = this.resDate.length
let res = []
for (let i = 0; i < len; i++) {
if (this.resDate[i].date.slice(0, 10) === v) {
res = res.concat(this.resDate[i].attend)
}
}
// 去除当天重复的人员
let map = new Map();
let array = new Array(); // 数组用于返回结果
for (let i = 0; i < res.length; i++) {
if(map.has(res[i].fillPeopleId)) { // 如果有该key值
map.set(res[i].fillPeopleId, true);
} else {
map.set(res[i].fillPeopleId, false); // 如果没有该key值
array.push(res[i]);
}
}
return array
},
// 头部时间改变事件
handleDate() {
let selYear = this.formData.year.slice(0, 4)
let selMonth = ''
if (this.formData.month.slice(-3, -2) === '') {
selMonth = this.formData.month.slice(0, 1)
} else {
selMonth = this.formData.month.slice(0, 2)
}
let birthday = selYear + '-' + this.padding0(selMonth, 2) + '-' + '01'
this.nowDate = birthday
this.getMonthData()
// 根据头部日期调整,日历变化
let yearNum = ''
let monthNum = ''
if (this.lastYear !== selYear) {
yearNum = this.lastYear - selYear
} else {
yearNum = 0
}
if (this.lastMonth !== selMonth) {
monthNum = this.lastMonth - selMonth
} else {
monthNum = 0
}
this.lastYear = selYear
this.lastMonth = selMonth
// 获取日历变化的日期并显示
this.value = new Date(this.value.setDate(1))
this.value = new Date(this.value.setMonth(this.value.getMonth() - monthNum))
this.value = new Date(this.value.setFullYear(this.value.getFullYear() - yearNum))
},
//数字前填充0方法
padding0(num, length) {
for (let len = (num + '').length; len < length; len = num.length) {
num = '0' + num
}
return num
},
/** 点击对应附件进行下载*/
previews(val) {
let attId = val
if (attId != null && attId !== "") {
window.location.href = "/api/att/attFile/downloadFileForSar?fileId=" + attId;
}
},
/** 每个会议对应的编辑按钮 */
edit_meeting(item) {
localStorage.setItem('objs', JSON.stringify(item))
this.fileListData = item
this.reData = item.files
this.editMeetForm = item
this.editMeetForm.contents = []
if (this.editMeetForm.content !== '') {
this.editMeetForm.content.split(';').forEach(item => {
this.editMeetForm.contents.push({
meetingTheme: item
})
})
}
this.meetFlag = true
},
/** 覆盖默认的上传行为,实现多个文件一起上传 */
httpRequest(params) {
const file = params.file
// 根据后台需求数据格式
const form = new FormData()
// 文件对象
form.append("file", file)
upFile(form).then(res=>{
if (res.ok) {
this.handleOnsuccess(res)
} else {
this.$message.warning('上传失败')
}
})
},
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
if (this.reData !== undefined) {
this.newDataList = this.reData
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
} else {
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
}
this.fileListData.files = this.newDataList
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
this.newDataList = []
this.fileMadel = false
}
},
// 文件上传限制条件
handleBeforeUpload(file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 移除上传的文件
handleBeforeRemove(file, fileList) {
this.reData.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) {
this.reData.splice(index, 1)
}
})
this.fileListData.files = this.reData
},
add_partForm() {
var list = {
fillPeople: this.fillPeople,
fillUnit: this.fillUnit,
fillDept: this.fillDept,
fillPost: this.fillPost,
fillTel: this.fillTel,
fillMail: this.fillMail,
fillFile: this.fillFile = []
}
this.editMeetForm.attend.push(list)
this.dialogTitle = '新增人员信息'
this.add_partDialog(list)
},
add_partDialog(row) {
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.editForm = row
this.editFlag = true
},
// 编辑按钮
edit_partForm(row) {
this.dialogTitle = '编辑人员信息'
// 用来储存取消时原来的数据,防止取消时修改
localStorage.setItem('obj', JSON.stringify(row))
this.editForm = row
this.editFlag = true
},
selectedDelete(val) {
this.deleteDataList = val
},
/** 批量删除 */
del_partForm() {
if (this.deleteDataList.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteDataList.map(item => {
let index;
index = this.editMeetForm.attend.findIndex(items => {
return items === item;
});
if (index > -1) {
this.editMeetForm.attend.splice(index, 1);
}
exits.push(item);
});
this.deleteDataList = [];
}).catch(() => {
});
}
},
// 编辑框选人
choiceRole(type, title, id) {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.roleShowflag = true
},
drawerCheck(data) {
if (data.length > 0) {
this.editForm.fillPeopleId = data[0].id
this.editForm.fillPeople = data[0].name
}
this.roleShowflag = false
},
// 编辑框确认按钮
OkDrawerTab() {
this.editFlag = false
},
falseDrawerTab() {
if (this.dialogTitle = '新增人员信息') {
let Items = JSON.parse(localStorage.getItem('objs'))
this.editMeetForm.attend = Items.attend
this.editMeetForm.content = Items.content
this.editMeetForm.date = Items.date
this.editMeetForm.files = Items.files
this.editMeetForm.id = Items.id
this.editMeetForm.partPeople = Items.partPeople
this.editMeetForm.place = Items.place
this.editMeetForm.title = Items.title
this.editMeetForm.type = Items.type
} else {
let Item = JSON.parse(localStorage.getItem('obj'))
this.editForm.fillPeopleId = Item.fillPeopleId
this.editForm.fillPeople = Item.fillPeople
this.editForm.fillUnit = Item.fillUnit
this.editForm.fillDept = Item.fillDept
this.editForm.fillTel = Item.fillTel
this.editForm.fillMail = Item.fillMail
}
this.editFlag = false
},
selectedTable(val) {
this.deleteTable = val
},
// 编辑框内议题相关
meeting_add() {
var list = {
meetingTheme: this.meetingTheme,
}
this.editMeetForm.contents.push(list)
},
meeting_delete() {
if (this.deleteTable.length < 1) {
this.$message.warning("请选择一条数据进行删除");
} else {
this.$confirm("您确认删除这些数据?", "提示", {
confirmButtonText: "确认",
confirmButtonClass: "common-button-primary",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
let exits = [];
this.deleteTable.map(item => {
let index
index = this.content.findIndex(items => {
return items === item
})
if (index > -1) {
this.content.splice(index, 1)
}
exits.push(item)
})
this.deleteTable = []
}).catch(() => {
})
}
},
falseDrawer() {
let Items = JSON.parse(localStorage.getItem('objs'))
this.editMeetForm.attend = Items.attend
this.editMeetForm.content = Items.content
this.editMeetForm.date = Items.date
this.editMeetForm.files = Items.files
this.editMeetForm.id = Items.id
this.editMeetForm.partPeople = Items.partPeople
this.editMeetForm.place = Items.place
this.editMeetForm.title = Items.title
this.editMeetForm.type = Items.type
this.meetFlag = false
},
OkDrawer() {
let contentData = []
if (this.editMeetForm.contents.length > 0) {
this.editMeetForm.contents.forEach(item => {
if (item.meetingTheme.length > 0) {
contentData.push(item.meetingTheme)
}
})
}
let editForm = {
attend: JSON.stringify(this.editMeetForm.attend),
content: contentData.join(';'),
id: this.editMeetForm.id,
date: this.editMeetForm.date,
title: this.editMeetForm.title,
type: 1,
files: JSON.stringify(this.editMeetForm.files),
place: this.editMeetForm.place
}
this.loading = true
updateMeet(editForm).then(res => {
if (true) {
this.$message.success("编辑成功");
this.meetFlag = false
this.loading = false
/** 获取当前日期*/
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
if (mm < 10) {
mm = this.padding0(mm, 2)
}
if (dd < 10) {
dd = this.padding0(dd, 2)
}
this.nowDate = yy + '-' + mm + '-' + dd
this.formData.year = yy + '年'
this.formData.month = mm + '月'
this.lastYear = yy
this.lastMonth = mm
this.getMonthData()
this.init()
} else {
this.$message.warning("编辑失败");
this.loading = false
}
})
},
}
}
</script>
<style lang="less" scoped>
@import '~@/assets/styles/mixins';
@import '~@/assets/styles/style';
.standCalendar {
.content_form {
/deep/.el-input--suffix .el-input__inner {
border: 0;
color: #828387;
}
label-input-form {
.picker_style {
margin-bottom: 0;
min-height: 50px;
line-height: 50px;
border-bottom: 1px dashed #e5e5e5;
}
}
}
.date-picker {
.item {
/deep/ .el-input {
width: 88px;
}
/deep/ .el-input__icon {
line-height: 30px;
}
/deep/ .el-input--suffix .el-input__inner {
height: 30px;
padding-right: 0;
}
}
}
/deep/ .el-calendar-table td.is-selected {
background-color: #f9e3e3;
}
/deep/ .el-calendar__header {
display: none;
}
/deep/ .el-calendar-table thead th {
text-align: center;
}
.tagOne {
height: 15px;
width: 15px;
padding: 0;
background-color: #e6a23c
}
.tagTwo {
height: 15px;
width: 15px;
padding: 0;
background-color: #67c23a
}
.title_time {
font-weight: bold;
}
/deep/ .el-card__body {
padding: 5px 0px 10px 10px;
}
.card_info_empty {
margin-top: 50px;
}
.card_info {
height: 190px;
margin-top: 10px;
.content_style {
height: 150px;
overflow-y: auto;
width: 100%;
.content_text {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
line-height: normal;
margin-top: 10px;
font-size: 5px;
}
.content_text2 {
text-overflow: ellipsis;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
line-height: normal;
margin-top: 10px;
font-size: 5px;
}
}
}
}
</style>