rliZQ.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818
  1. <template>
  2. <div>
  3. <!-- <div class="calendar">
  4. <div class="arrow">
  5. <i class="el-icon-arrow-left" @click="arrow('left')"></i>
  6. <i class="el-icon-arrow-right" @click="arrow('right')"></i>
  7. </div>
  8. <el-calendar v-model="value" :range="dateRange"></el-calendar>
  9. </div> -->
  10. <!-- 下面的日历 -->
  11. <div class="date">
  12. <div class="arrow0">
  13. <i class="el-icon-arrow-left" style="font-weight: 900;" @click="weekPre"></i>
  14. <i class="el-icon-arrow-right" style="font-weight: 900;" @click="weekNext"></i>
  15. </div>
  16. <!-- 年份 月份 -->
  17. <div class="month">
  18. <span style="text-align: left;font-size: 16px;font-weight: 600;position: absolute;left: 20px;">我的日程</span>
  19. <p>{{ currentYear }}年{{ currentMonth }}月</p>
  20. </div>
  21. <!-- 星期 -->
  22. <ul class="weekdays">
  23. <li>一</li>
  24. <li>二</li>
  25. <li>三</li>
  26. <li>四</li>
  27. <li>五</li>
  28. <li>六</li>
  29. <li>日</li>
  30. </ul>
  31. <!-- 日期 -->
  32. <ul class="days">
  33. <li @click="pick(day, index)" v-for="(day, index) in days" :key="index">
  34. <!--本月-->
  35. <span v-if="day.getMonth() + 1 != currentMonth" class="other-month">{{ day.getDate() }}</span>
  36. <span v-else>
  37. <!--今天-->
  38. <span
  39. v-if="day.getFullYear() == new Date().getFullYear() && day.getMonth() == new Date().getMonth() && day.getDate() == new Date().getDate()"
  40. class="active">{{ day.getDate() }}</span>
  41. <span v-else>{{ day.getDate() }}</span>
  42. </span>
  43. </li>
  44. </ul>
  45. <div style="padding: 10px 0px;" @click="addnewr" v-loading="loading">
  46. <div class="rlitable" v-if="tableData.length > 0">
  47. <span v-for="(item, index) in tableData" :key="index" class="rlitit"
  48. @click.stop="handleEventClick(item)">
  49. <span class="rlitit2">{{ item.startTime }}~{{ item.endTime }}</span>
  50. <span class="rlitit3">
  51. <span class="rlitit4">{{ item.name }}</span>
  52. <span class="rlitit4">{{ item.remark }}</span>
  53. </span>
  54. </span>
  55. </div>
  56. <div v-else class="rlitable2">
  57. <div style="padding:10px;text-align: center;">
  58. 点击此处可添加日程
  59. </div>
  60. </div>
  61. </div>
  62. <!-- <el-table v-loading="loading" :data="tableData" style="width: 100%;" height="123">
  63. <el-table-column prop="date" label="日期" width="180" align="center">
  64. </el-table-column>
  65. <el-table-column prop="name" label="姓名" width="180" align="center">
  66. </el-table-column>
  67. <el-table-column prop="address" label="地址" align="center">
  68. </el-table-column>
  69. </el-table>
  70. <el-pagination @current-change="currchange" :current-page="page" :page-size="size"
  71. layout="total,prev, pager, next" :total="total">
  72. </el-pagination> -->
  73. <!--日程新增弹窗start-->
  74. <el-dialog :title="titleNew" :visible.sync="dialogVisible" :before-close="close" :modal="false" width="45%">
  75. <el-form :model="form" :rules="rules" ref="form" label-width="120px" size="small" class="demo-ruleForm"
  76. v-if="dialogVisible">
  77. <el-form-item label="日程名称" prop="name">
  78. <el-input v-model="form.name"></el-input>
  79. </el-form-item>
  80. <el-form-item label="日程开始时间" required>
  81. <el-col :span="11">
  82. <el-form-item prop="begindate" style="margin-bottom: 0">
  83. <el-date-picker type="date" disabled format="yyyy-MM-dd" value-format="yyyy-MM-dd"
  84. placeholder="选择日期" v-model="form.begindate" style="width: 100%">
  85. </el-date-picker>
  86. </el-form-item>
  87. </el-col>
  88. <el-col class="line" :span="2">-</el-col>
  89. <el-col :span="11">
  90. <el-form-item prop="startTime" style="margin-bottom: 0">
  91. <el-select v-model="form.startTime" placeholder="选择时间" clearable>
  92. <el-option v-for="item in timeOptions" :key="item.time" :disabled="item.disabled"
  93. :label="item.time" :value="item.time" />
  94. </el-select>
  95. </el-form-item>
  96. </el-col>
  97. </el-form-item>
  98. <el-form-item label="日程结束时间" required>
  99. <el-col :span="11">
  100. <el-form-item prop="enddate" style="margin-bottom: 0">
  101. <el-date-picker type="date" disabled format="yyyy-MM-dd" value-format="yyyy-MM-dd"
  102. placeholder="选择日期" v-model="form.enddate" style="width: 100%">
  103. </el-date-picker>
  104. </el-form-item>
  105. </el-col>
  106. <el-col class="line" :span="2">-</el-col>
  107. <el-col :span="11">
  108. <el-form-item prop="endTime" style="margin-bottom: 0">
  109. <el-select v-model="form.endTime" placeholder="选择时间" clearable>
  110. <el-option v-for="item in timeOptions" :key="item.time" :disabled="item.disabled"
  111. :label="item.time" :value="item.time" />
  112. </el-select>
  113. </el-form-item>
  114. </el-col>
  115. </el-form-item>
  116. <el-form-item label="日程备注" prop="remark">
  117. <el-input type="textarea" v-model="form.remark" maxlength="1000" show-word-limit></el-input>
  118. </el-form-item>
  119. <el-form-item>
  120. <el-button v-if="form.id" type="danger" @click="delForm()">删除</el-button>
  121. <el-button @click="resetForm('form')">取消</el-button>
  122. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  123. </el-form-item>
  124. </el-form>
  125. </el-dialog>
  126. <!--日程新增弹窗end-->
  127. </div>
  128. </div>
  129. </template>
  130. <script>
  131. import { getNowdata, } from "../../../http/api.js";//../../../http/api.js
  132. export default {
  133. data() {
  134. return {
  135. // 上
  136. value: "",
  137. endDate: "",
  138. dateRange: [],
  139. dateNum: 0,
  140. // 下
  141. currentYear: "", // 年份
  142. currentMonth: "", // 月份
  143. currentDay: "", // 日期
  144. currentWeek: "", // 星期
  145. days: [],
  146. tableData: [
  147. {
  148. date: '2016-05-02',
  149. name: '王小虎',
  150. address: '上海市普陀区金沙江路 1518 弄'
  151. }, {
  152. date: '2016-05-04',
  153. name: '王小虎',
  154. address: '上海市普陀区金沙江路 1517 弄'
  155. },
  156. {
  157. date: '2016-05-01',
  158. name: '王小虎',
  159. address: '上海市普陀区金沙江路 1519 弄'
  160. },
  161. ],
  162. loading: false,
  163. params: {},
  164. page: 1, //第几页
  165. size: 10, //一页多少条
  166. total: 50, //总条目数
  167. subList: [],
  168. array: [],
  169. roleNameList: [
  170. {
  171. userId: 1,
  172. name: "分管公司领导/部门负责人",
  173. },
  174. {
  175. userId: 2,
  176. name: "部门负责人",
  177. },
  178. {
  179. userId: 3,
  180. name: "部门分管线条领导/科室主任",
  181. },
  182. ],
  183. isParrty: [
  184. {
  185. is_party: "1",
  186. name: "是",
  187. },
  188. {
  189. is_party: "0",
  190. name: "否",
  191. },
  192. ],
  193. dialogVisible: false,
  194. titleNew: "",
  195. form: {
  196. name: "",
  197. userId: "",
  198. begindate: "",
  199. startTime: "",
  200. enddate: "",
  201. endTime: "",
  202. remark: "",
  203. leaderName: "",
  204. roleId: "",
  205. roleColor: "",
  206. id: "",
  207. isParty: "否",
  208. // roleName: '分管公司领导/部门负责人'
  209. // roleName: [],
  210. orgId: [2, 3],
  211. // orgIds: "[2,3]",
  212. },
  213. rules: {
  214. name: [{ required: true, message: "请输入日程主题", trigger: "blur" }],
  215. // userid: [
  216. // { required: true, message: "请选择日程室使用人", trigger: "change" },
  217. // ],
  218. begindate: [
  219. { required: true, message: "请选择开始日期", trigger: "change" },
  220. ],
  221. startTime: [
  222. { required: true, message: "请选择开始时间", trigger: "change" },
  223. ],
  224. enddate: [
  225. { required: true, message: "请选择结束日期", trigger: "change" },
  226. ],
  227. endTime: [
  228. { required: true, message: "请选择结束时间", trigger: "change" },
  229. ],
  230. remark: [
  231. { required: true, message: "请填写日程备注", trigger: "blur" },
  232. ],
  233. // leaderName: [{ required: true, message: "发起科室", trigger: "blur" }],
  234. // isParty: [{ required: true, message: "是否是党会", trigger: "change" }],
  235. // roleName:[{required: true, message: '参会角色', trigger: 'change'}],
  236. // orgId: [{ required: true, message: "参会角色", trigger: "change" }],
  237. // orgIds: [{required: true, message: '参会角色', trigger: 'change'}]
  238. },
  239. // 时间选项
  240. timeOptions: [
  241. { time: "08:00" },
  242. { time: "08:30" },
  243. { time: "09:00" },
  244. { time: "09:30" },
  245. { time: "10:00" },
  246. { time: "10:30" },
  247. { time: "11:00" },
  248. { time: "11:30" },
  249. { time: "12:00" },
  250. { time: "12:30" },
  251. { time: "13:00" },
  252. { time: "13:30" },
  253. { time: "14:00" },
  254. { time: "14:30" },
  255. { time: "15:00" },
  256. { time: "15:30" },
  257. { time: "16:00" },
  258. { time: "16:30" },
  259. { time: "17:00" },
  260. { time: "17:30" },
  261. { time: "18:00" },
  262. ],
  263. // 备份
  264. backupTimeOptions: [
  265. { time: "08:00" },
  266. { time: "08:30" },
  267. { time: "09:00" },
  268. { time: "09:30" },
  269. { time: "10:00" },
  270. { time: "10:30" },
  271. { time: "11:00" },
  272. { time: "11:30" },
  273. { time: "12:00" },
  274. { time: "12:30" },
  275. { time: "13:00" },
  276. { time: "13:30" },
  277. { time: "14:00" },
  278. { time: "14:30" },
  279. { time: "15:00" },
  280. { time: "15:30" },
  281. { time: "16:00" },
  282. { time: "16:30" },
  283. { time: "17:00" },
  284. { time: "17:30" },
  285. { time: "18:00" },
  286. ],
  287. nowdata: '',
  288. }
  289. },
  290. created() {
  291. this.getnowdata()
  292. // 上面的日历
  293. this.dateList(this.dateNum);
  294. // console.log(this.dateRange);
  295. // 下面的日历
  296. this.initData();
  297. this.getList();
  298. },
  299. methods: {
  300. getnowdata(val) {
  301. let yy = new Date().getFullYear()
  302. let mm = new Date().getMonth() + 1 < 10 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1
  303. let dd = new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()
  304. this.nowdata = yy + '-' + mm + '-' + dd
  305. },
  306. //重置数据
  307. resetForm(formName) {
  308. this.dialogVisible = false;
  309. this.$refs[formName].resetFields();
  310. },
  311. //删除数据
  312. delForm(e) {
  313. this.$http({
  314. url: "/market/HomePageSchedule/del",
  315. method: "post",
  316. headers: {
  317. "Content-Type": "application/json",
  318. },
  319. data: this.form,
  320. }).then((res) => {
  321. // console.log(res);
  322. this.dialogVisible = false;
  323. if (res.data.result === 1) {
  324. this.$message({
  325. message: res.data.desc,
  326. type: "error",
  327. });
  328. } else {
  329. this.$message({
  330. message: "成功",
  331. type: "success",
  332. });
  333. // location.reload();
  334. this.getList();
  335. }
  336. });
  337. },
  338. // 提交数据
  339. submitForm(formName) {
  340. this.$refs[formName].validate((valid) => {
  341. if (valid) {
  342. this.form.begindate = `${this.form.begindate} ${this.form.startTime}`;
  343. this.form.enddate = `${this.form.enddate} ${this.form.endTime}`;
  344. // console.log(this.form, "数据");
  345. this.dialogVisible = false;
  346. if (this.form.id === "") {
  347. this.form === "";
  348. }
  349. if (new Date(this.form.enddate) < new Date(this.form.begindate)) {
  350. this.$message({
  351. message: "日程时间填写错误",
  352. type: "error",
  353. });
  354. } else {
  355. this.$http({
  356. url: this.form.id ? "/market/HomePageSchedule/update" : "/market/HomePageSchedule/add",
  357. method: "post",
  358. headers: {
  359. "Content-Type": "application/json",
  360. },
  361. data: this.form,
  362. }).then((res) => {
  363. // console.log(res);
  364. this.loadinged = false;
  365. if (res.data.result === 1) {
  366. this.$message({
  367. message: res.data.desc,
  368. type: "error",
  369. });
  370. } else {
  371. this.$message({
  372. message: "成功",
  373. type: "success",
  374. });
  375. // location.reload();
  376. this.getList();
  377. }
  378. });
  379. }
  380. } else {
  381. // console.log("error submit!!");
  382. return false;
  383. }
  384. });
  385. },
  386. // 日历日程点击事件
  387. handleEventClick(e) {
  388. this.titleNew = "日程修改";
  389. this.dialogVisible = true;
  390. this.form = e
  391. this.form.begindate = this.nowdata
  392. this.form.enddate = this.nowdata
  393. },
  394. //新增日程
  395. addnewr() {
  396. console.log(11);
  397. this.form = {
  398. begindate: this.nowdata,//开始时间
  399. enddate: this.nowdata, //结束时间
  400. loginNo: JSON.parse(window.sessionStorage.userInfo).loginNo,
  401. day: this.nowdata
  402. }
  403. // this.form.orgId = [];
  404. // this.form.isParty = "";
  405. this.titleNew = "日程新增";
  406. // if (!this.auth) {
  407. // return;
  408. // }
  409. //开始时间
  410. // this.form.begindate = this.nowdata;
  411. // //结束时间
  412. // this.form.enddate = this.nowdata;
  413. this.dialogVisible = true;
  414. },
  415. //关闭弹窗,重置表单
  416. close() {
  417. this.dialogVisible = false;
  418. this.$refs["form"].resetFields();
  419. },
  420. // 获取日程信息
  421. getList() {
  422. this.loading = true
  423. this.$http({
  424. url: "/market/HomePageSchedule/queryList",//queryPage带分页
  425. method: "post",
  426. headers: {
  427. "Content-Type": "application/json",
  428. },
  429. data: {
  430. day: this.nowdata
  431. },
  432. }).then((res) => {
  433. console.log("res", res);
  434. this.tableData = res.data;
  435. this.loading = false
  436. // this.array = res.data;
  437. // // this.getReservationList(this.array.scheduleList0);
  438. // this.getReservationList(this.array);
  439. });
  440. },
  441. // 获取日程事件title
  442. getTitle(date1, date2, isParty) {
  443. let start =
  444. isParty == "1"
  445. ? "★" + date1.substring(11, 16)
  446. : date1.substring(11, 16);
  447. let end = date2.substring(11, 16);
  448. return `${start}~${end}`;
  449. },
  450. // 日期加1天
  451. addDate(date, days) {
  452. var d = new Date(date);
  453. d.setDate(d.getDate() + days);
  454. var mon =
  455. d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1;
  456. let endD = d.getDate() < 10 ? "0" + d.getDate() : d.getDate();
  457. return `${d.getFullYear()}-${mon}-${endD}`;
  458. },
  459. // 上面的日历
  460. // 获取当前时间的周一
  461. getMonday(date) {
  462. var day = date.getDay();
  463. var deltaDay;
  464. if (day == 0) {
  465. deltaDay = 6;
  466. } else {
  467. deltaDay = day - 1;
  468. }
  469. var monday = new Date(date.getTime() - deltaDay * 24 * 60 * 60 * 1000);
  470. monday.setHours(0);
  471. monday.setMinutes(0);
  472. monday.setSeconds(0);
  473. return monday; //返回选定时间的周一的0时0分0秒
  474. },
  475. getDateNew(time) {
  476. console.log(time);
  477. let times = new Date(time);
  478. let year = times.getFullYear();
  479. let month = times.getMonth() + 1 < 10 ? "0" + (times.getMonth() * 1 + 1) : times.getMonth() * 1 + 1;
  480. let day = times.getDate() < 10 ? "0" + times.getDate() * 1 : times.getDate() * 1;
  481. return year + "-" + month + "-" + day;
  482. },
  483. dateList(delta) {
  484. //将时间对象转换为时间戳并加几天后转换为时间对象
  485. var DateNews = this.getMonday(
  486. new Date((new Date().getTime() / 1000 + 86400 * 7 * delta) * 1000)
  487. );
  488. let startDate = this.getDateNew(DateNews, delta);
  489. this.endDate = this.getDateNew(
  490. new Date((DateNews.getTime() / 1000 + 6 * 86400) * 1000)
  491. );
  492. this.dateRange = [startDate, this.endDate];
  493. },
  494. arrow(arrow) {
  495. if (arrow == "left") {
  496. this.dateNum--;
  497. this.dateList(this.dateNum);
  498. } else if (arrow == "right") {
  499. this.dateNum++;
  500. this.dateList(this.dateNum);
  501. }
  502. },
  503. // 下面的日历
  504. formatDate(year, month, day) {
  505. const y = year
  506. let m = month
  507. if (m < 10) m = `0${m}`
  508. let d = day
  509. if (d < 10) d = `0${d}`
  510. return `${y}-${m}-${d}`
  511. },
  512. initData(cur) {
  513. let date = ''
  514. if (cur) {
  515. date = new Date(cur)
  516. } else {
  517. date = new Date()
  518. }
  519. this.currentDay = date.getDate() // 今日日期 几号
  520. this.currentYear = date.getFullYear() // 当前年份
  521. this.currentMonth = date.getMonth() + 1 // 当前月份
  522. this.currentWeek = date.getDay() // 1...6,0 // 星期几
  523. if (this.currentWeek === 0) {
  524. this.currentWeek = 7
  525. }
  526. const str = this.formatDate(this.currentYear, this.currentMonth, this.currentDay) // 今日日期 年-月-日
  527. this.days.length = 0
  528. // 今天是周日,放在第一行第7个位置,前面6个 这里默认显示一周,如果需要显示一个月,则第二个循环为 i<= 35- this.currentWeek
  529. /* eslint-disabled */
  530. for (let i = this.currentWeek - 1; i >= 0; i -= 1) {
  531. const d = new Date(str)
  532. d.setDate(d.getDate() - i)
  533. // console.log(y:" + d.getDate())
  534. this.days.push(d)
  535. }
  536. for (let i = 1; i <= 7 - this.currentWeek; i += 1) {
  537. const d = new Date(str)
  538. d.setDate(d.getDate() + i)
  539. this.days.push(d)
  540. }
  541. },
  542. // 上个星期
  543. weekPre() {
  544. const d = this.days[0] // 如果当期日期是7号或者小于7号
  545. d.setDate(d.getDate() - 7)
  546. this.initData(d)
  547. let days = document.querySelector(".days");
  548. for (var i = 0; i <= 6; i++) {
  549. days.childNodes[i].childNodes[0].childNodes[0].className = ''
  550. }
  551. },
  552. // 下个星期
  553. weekNext() {
  554. const d = this.days[6] // 如果当期日期是7号或者小于7号
  555. d.setDate(d.getDate() + 7)
  556. this.initData(d)
  557. let days = document.querySelector(".days");
  558. for (var i = 0; i <= 6; i++) {
  559. days.childNodes[i].childNodes[0].childNodes[0].className = ''
  560. }
  561. },
  562. // 上一個月 传入当前年份和月份
  563. pickPre(year, month) {
  564. const d = new Date(this.formatDate(year, month, 1))
  565. d.setDate(0)
  566. this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
  567. },
  568. // 下一個月 传入当前年份和月份
  569. pickNext(year, month) {
  570. const d = new Date(this.formatDate(year, month, 1))
  571. d.setDate(35)
  572. this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
  573. },
  574. // 当前选择日期
  575. pick(date, index) {
  576. // console.log(date);
  577. // console.log(index);
  578. let days = document.querySelector(".days");
  579. // console.log(days.childNodes[index].childNodes[0].childNodes);
  580. // console.log(days.childNodes);
  581. for (var i = 0; i <= 6; i++) {
  582. days.childNodes[i].childNodes[0].childNodes[0].className = ''
  583. }
  584. if (days.childNodes[index].childNodes[0].childNodes[0].className == '') {
  585. days.childNodes[index].childNodes[0].childNodes[0].className = 'active'
  586. } else {
  587. days.childNodes[index].childNodes[0].childNodes[0].className = ''
  588. }
  589. this.nowdata = this.formatDate(date.getFullYear(), date.getMonth() + 1, date.getDate())
  590. this.getList()
  591. },
  592. },
  593. };
  594. </script>
  595. <style lang="scss" scoped>
  596. ::v-deep .el-table .el-table__cell {
  597. padding: 8px 0;
  598. }
  599. ::v-deep .el-table__header-wrapper {
  600. display: none;
  601. }
  602. .rlitable {
  603. display: flex;
  604. flex-direction: column;
  605. max-height: 161px;
  606. overflow-y: auto;
  607. padding-top: 5px;
  608. padding-left: 5%;
  609. padding-right: 5%;
  610. height: 161px;
  611. background-color: #d8eaf6;
  612. border-radius: 10px;
  613. }
  614. .rlitit {
  615. padding: 12px;
  616. line-height: 0px;
  617. display: inline-block;
  618. text-overflow: ellipsis;
  619. overflow: hidden;
  620. white-space: nowrap;
  621. cursor: pointer;
  622. }
  623. .rlitit2 {
  624. padding: 5px;
  625. text-overflow: ellipsis;
  626. white-space: nowrap;
  627. width: 110px;
  628. }
  629. .rlitit3 {
  630. padding: 5px;
  631. }
  632. .rlitit4 {
  633. padding: 5px;
  634. }
  635. .rlitit:hover {
  636. background-color: #ffffff;
  637. }
  638. .rlitable2 {
  639. max-height: 161px;
  640. overflow-y: auto;
  641. height: 161px;
  642. background-color: #d8eaf6;
  643. border-radius: 10px;
  644. }
  645. ul {
  646. padding: 0;
  647. }
  648. li {
  649. list-style-type: none;
  650. }
  651. /* 上面的日历 */
  652. .calendar {
  653. position: relative;
  654. width: 100%;
  655. background: #fff;
  656. margin-top: 10px;
  657. border-radius: 10px;
  658. margin-left: 20px;
  659. }
  660. .el-calendar__header {
  661. display: block;
  662. }
  663. .el-calendar-table .el-calendar-day {
  664. height: auto;
  665. text-align: center;
  666. }
  667. .el-calendar-table td.is-selected {
  668. background-color: #24b18d;
  669. color: #fff;
  670. }
  671. .el-calendar-table .el-calendar-day:hover {
  672. background-color: #24b18d;
  673. color: #fff;
  674. }
  675. .el-calendar-table {
  676. border-bottom: 1px solid #e4e4e4;
  677. padding-bottom: 15px;
  678. }
  679. .el-calendar-table .next {
  680. color: rgb(143, 143, 143);
  681. }
  682. .el-calendar__title,
  683. .el-calendar__button-group {
  684. text-align: center;
  685. }
  686. .arrow {
  687. width: 100%;
  688. max-height: 46px;
  689. position: absolute;
  690. top: 15px;
  691. text-align: center;
  692. }
  693. .arrow i {
  694. font-size: 20px;
  695. cursor: pointer;
  696. }
  697. .arrow i:nth-child(1) {
  698. margin-right: 10%;
  699. text-align: left;
  700. }
  701. .arrow i:nth-child(2) {
  702. margin-left: 10%;
  703. text-align: right;
  704. }
  705. /* 下面的日历 */
  706. .date {
  707. position: relative;
  708. margin-top: 10px;
  709. padding: 10px 20px;
  710. border-radius: 10px;
  711. background-color: #ffffff;
  712. }
  713. .arrow0 {
  714. width: 100%;
  715. max-height: 46px;
  716. position: absolute;
  717. top: 10px;
  718. left: 0px;
  719. text-align: center;
  720. }
  721. .arrow0 i {
  722. font-size: 20px;
  723. cursor: pointer;
  724. }
  725. .arrow0 i:nth-child(1) {
  726. margin-right: 10%;
  727. text-align: left;
  728. }
  729. .arrow0 i:nth-child(2) {
  730. margin-left: 10%;
  731. text-align: right;
  732. }
  733. .month {
  734. text-align: center;
  735. }
  736. .weekdays {
  737. display: flex;
  738. margin: 10px 0px;
  739. }
  740. .weekdays li {
  741. flex: 1;
  742. text-align: center;
  743. }
  744. .days {
  745. display: flex;
  746. }
  747. .days li {
  748. flex: 1;
  749. text-align: center;
  750. cursor: pointer;
  751. }
  752. .days li span {
  753. display: inline-block;
  754. width: 22px;
  755. height: 22px;
  756. line-height: 22px;
  757. }
  758. .days li span:hover {
  759. color: #fff;
  760. background-color: #409EFF;
  761. border-radius: 50%;
  762. }
  763. .active {
  764. display: inline-block;
  765. color: #fff;
  766. border-radius: 50%;
  767. background-color: #52d4fc !important;
  768. }
  769. .other-month {
  770. color: #e4393c;
  771. }
  772. </style>