From 1c598b62976901679a6ba723d6fbe2dc6771f11f Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 18 三月 2025 19:07:04 +0800
Subject: [PATCH] 检验任务&首页代码迁移
---
src/views/index.vue | 720 +++++++++++++++++++++++++++++++++++------------------------
1 files changed, 426 insertions(+), 294 deletions(-)
diff --git a/src/views/index.vue b/src/views/index.vue
index 2fcc034..8a61912 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,40 +1,96 @@
<template>
- <div class="bg-1">
+ <div class="bg-1" style="padding: 15px 5px">
<el-row :gutter="25">
<el-col :lg="14" :md="14" :sm="24" :xl="14" :xs="24">
<div class="left-1">
<div class="say">
- <div style="display: flex;align-items: center;flex-wrap: wrap;">
- <div class="say-1">{{ user.name }} 鎮ㄥソ锛佺鎮ㄥ紑蹇冩瘡涓�澶�</div>
+ <div style="display: flex; align-items: center; flex-wrap: wrap">
+ <div class="say-1">{{ nickName }} 鎮ㄥソ锛佺鎮ㄥ紑蹇冩瘡涓�澶�</div>
<div class="say-2">褰撳墠鏃堕棿锛� {{ now }}</div>
</div>
</div>
</div>
- <div v-loading="workLoading" class="left-2 card" style="overflow: hidden;">
- <div v-for="(item, index) in workDay" :key="index" class="left-2-item">
+ <div
+ v-loading="workLoading"
+ class="left-2 card"
+ style="overflow: hidden"
+ >
+ <div
+ v-for="(item, index) in workDay"
+ :key="index"
+ class="left-2-item"
+ >
<div class="left-item-title">
- <span style="font-size: 18px;">{{ item }}</span>
- <span style="font-size: 14px;color: #999999;">{{ weekdays[index] }}</span>
+ <span style="font-size: 18px">{{ item }}</span>
+ <span style="font-size: 14px; color: #999999">{{
+ weekdays[index]
+ }}</span>
</div>
<div class="left-item-body">
- <div v-for="(m, i) in workList[index]" :key="i"
- :class="{ color0: m.type == 0, color1: m.type == 1, color2: m.type == 2 }" class="body-item">
+ <div
+ v-for="(m, i) in workList[index]"
+ :key="i"
+ :class="{
+ color0: m.type == 0,
+ color1: m.type == 1,
+ color2: m.type == 2,
+ }"
+ class="body-item"
+ >
<div>
- <span style="font-size: 12px;margin-bottom: 17px;">{{ m.text }}</span>
+ <span style="font-size: 12px; margin-bottom: 17px">{{
+ m.text
+ }}</span>
<div style="display: flex">
- <span class="body-item-name">{{ m.name }}</span>
- <span v-if="m.insState == 0" class="body-item-insState"
- style="background-color: #909399;font-size: 12px;">寰呮楠�</span>
- <span v-if="m.insState == 1" class="body-item-insState"
- style="background-color: #E6A23C;font-size: 12px;">妫�楠屼腑</span>
- <span v-if="m.insState == 2" class="body-item-insState"
- style="background-color: #67C23A;font-size: 12px;">宸叉楠�</span>
- <span v-if="m.insState == 3" class="body-item-insState"
- style="background-color: #E6A23C;font-size: 12px;">寰呭鏍�</span>
- <span v-if="m.insState == 4" class="body-item-insState"
- style="background-color: #F56C6C;font-size: 9px;">澶嶆牳鏈�氳繃</span>
- <span v-if="m.insState == 5" class="body-item-insState"
- style="background-color: #67C23A;font-size: 10px;">澶嶆牳閫氳繃</span>
+ <span
+ style="
+ display: inline-block;
+ height: 24px;
+ width: 24px;
+ border-radius: 50%;
+ line-height: 24px;
+ text-align: center;
+ background: #c0c4cc;
+ color: #fff;
+ "
+ >{{ m.name.charAt(0) }}</span
+ >
+ <span
+ v-if="m.insState == 0"
+ class="body-item-insState"
+ style="background-color: #909399; font-size: 12px"
+ >寰呮楠�</span
+ >
+ <span
+ v-if="m.insState == 1"
+ class="body-item-insState"
+ style="background-color: #e6a23c; font-size: 12px"
+ >妫�楠屼腑</span
+ >
+ <span
+ v-if="m.insState == 2"
+ class="body-item-insState"
+ style="background-color: #67c23a; font-size: 12px"
+ >宸叉楠�</span
+ >
+ <span
+ v-if="m.insState == 3"
+ class="body-item-insState"
+ style="background-color: #e6a23c; font-size: 12px"
+ >寰呭鏍�</span
+ >
+ <span
+ v-if="m.insState == 4"
+ class="body-item-insState"
+ style="background-color: #f56c6c; font-size: 9px"
+ >澶嶆牳鏈�氳繃</span
+ >
+ <span
+ v-if="m.insState == 5"
+ class="body-item-insState"
+ style="background-color: #67c23a; font-size: 10px"
+ >澶嶆牳閫氳繃</span
+ >
</div>
</div>
</div>
@@ -46,94 +102,160 @@
<div class="right-1 card">
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-0.svg">
+ <img alt="" src="@/assets/index_image/index-0.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfMessages }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">鎴戠殑寰呭姙</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.totalNumberOfMessages }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">鎴戠殑寰呭姙</p>
</div>
</div>
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-1.svg">
+ <img alt="" src="@/assets/index_image/index-1.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfReadMessages }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">宸插姙浜嬪疁</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.totalNumberOfReadMessages }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">宸插姙浜嬪疁</p>
</div>
</div>
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-2.svg">
+ <img alt="" src="@/assets/index_image/index-2.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.remainingToDo }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">鍓╀綑寰呭姙</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.remainingToDo }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">鍓╀綑寰呭姙</p>
</div>
</div>
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-3.svg">
+ <img alt="" src="@/assets/index_image/index-3.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfMessagesInThePastSevenDays }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">杩戞湡浜嬪疁</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.totalNumberOfMessagesInThePastSevenDays }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">杩戞湡浜嬪疁</p>
</div>
</div>
</div>
<div class="right-2 card">
<div class="right-2-title">
- <span style="color: #333333;font-size: 16px;">鎴戠殑鏃ョ▼</span>
- <span style="cursor: pointer;font-size: 12px;
-color: #3A7BFA;" @click="dialogVisible = true">娣诲姞鎴戠殑鏃ョ▼</span>
+ <span style="color: #333333; font-size: 16px">鎴戠殑鏃ョ▼</span>
+ <span
+ style="cursor: pointer; font-size: 12px; color: #3a7bfa"
+ @click="dialogVisible = true"
+ >娣诲姞鎴戠殑鏃ョ▼</span
+ >
</div>
<div class="right-2-body">
- <div class="calendar" style="width: 49%;">
+ <div class="calendar" style="width: 49%">
<div class="control">
- <el-button class="prevm" icon="el-icon-arrow-left" @click="prevMonth(calendarValue)"></el-button>
- <span>{{ calendarValue.getFullYear() + '骞�' + (calendarValue.getMonth() + 1) + '鏈�' }}</span>
- <el-button class="nextm" icon="el-icon-arrow-right" @click="nextMonth(calendarValue)"></el-button>
+ <el-button
+ class="prevm"
+ icon="el-icon-arrow-left"
+ @click="prevMonth(calendarValue)"
+ ></el-button>
+ <span>{{
+ calendarValue.getFullYear() +
+ "骞�" +
+ (calendarValue.getMonth() + 1) +
+ "鏈�"
+ }}</span>
+ <el-button
+ class="nextm"
+ icon="el-icon-arrow-right"
+ @click="nextMonth(calendarValue)"
+ ></el-button>
</div>
- <el-calendar v-model="calendarValue">
- <template slot="dateCell" slot-scope="{date, data}">
+ <el-calendar v-model="calendarValue" class="calendar">
+ <template slot="dateCell" slot-scope="{ date, data }">
<span>
- {{ data.day.split('-').slice(2) + '' }}
+ {{ data.day.split("-").slice(2) + "" }}
</span>
<!-- <el-badge v-if="data.isSelected" is-dot class="item">
</el-badge> -->
</template>
</el-calendar>
</div>
- <div v-loading="scheduleLoading" class="right-2-list" style="width: 49%;height: 286px;">
- <div v-for="(m, i) in listScheduleByMe" :key="i" class="list2-item">
+ <div
+ v-loading="scheduleLoading"
+ class="right-2-list"
+ style="width: 49%; height: 286px"
+ >
+ <div
+ v-for="(m, i) in listScheduleByMe"
+ :key="i"
+ class="list2-item"
+ >
<span>{{ m.scheduleTimes }}</span>
- <el-tooltip :content="m.text" effect="dark" placement="top" style="margin-left: 10px;">
+ <el-tooltip
+ :content="m.text"
+ effect="dark"
+ placement="top"
+ style="margin-left: 10px"
+ >
<p class="ellipsis-multiline">{{ m.text }}</p>
</el-tooltip>
</div>
- <span v-if="listScheduleByMe.length == 0"
- style="color:rgb(144, 147, 153);font-size: 14px;text-align: center;margin: 120px 0;display: inline-block;width: 100%;">鏆傛棤鏁版嵁</span>
+ <span
+ v-if="listScheduleByMe.length == 0"
+ style="
+ color: rgb(144, 147, 153);
+ font-size: 14px;
+ text-align: center;
+ margin: 120px 0;
+ display: inline-block;
+ width: 100%;
+ "
+ >鏆傛棤鏁版嵁</span
+ >
</div>
</div>
</div>
- <div class="right-3 card" style="overflow: hidden;">
+ <div class="right-3 card" style="overflow: hidden">
<div class="right-3-tab">
- <!-- <div :class="{active:currentIndex==4}" class="tab-item" style="cursor: pointer;" @click="currentIndex=4">棰勮鎻愰啋</div>-->
- <div :class="{ active: currentIndex == 5 }" class="tab-item" style="cursor: pointer;"
- @click="currentIndexChange">
- CNAS閫氱煡閫氬憡</div>
+ <div
+ class="tab-item"
+ style="cursor: pointer"
+ :class="{ active: currentIndex == 4 }"
+ @click="currentIndex = 4"
+ >
+ 棰勮鎻愰啋
+ </div>
+ <div
+ class="tab-item"
+ style="cursor: pointer"
+ :class="{ active: currentIndex == 5 }"
+ @click="currentIndex = 5"
+ >
+ 閫氱煡閫氬憡
+ </div>
</div>
- <div v-loading="listLoading" class="right-3-list">
- <scroll-pagination v-if="list.length > 0 || listLoading" :finishLoding="finishLoding" :list="list"
- @load="getList">
- <div v-for="(m, i) in list" :key="i" class="list3-item">
+ <div class="right-3-list" v-loading="listLoading">
+ <scroll-pagination
+ @load="getList"
+ :finishLoding="finishLoding"
+ :list="list"
+ v-if="list.length > 0 || listLoading"
+ >
+ <div class="list3-item" v-for="(m, i) in list" :key="i">
<div class="list3-item-title">
- <!-- <img alt="" src="../../../static/img/index-tip.svg">-->
- <p style="color: #FF7756">{{ m.theme }}</p>
+ <img src="../assets/index_image/index-tip.svg" alt="" />
+ <p>{{ m.theme }}</p>
</div>
<div class="list3-item-info">
- <p class="ellipsis-multiline" style="width: 73%;-webkit-line-clamp: 1;cursor: pointer;"
- @click="goNoticeDetail(m)">
+ <p
+ style="width: 73%; -webkit-line-clamp: 1; cursor: pointer"
+ class="ellipsis-multiline"
+ @click="goNoticeDetail(m)"
+ >
<!-- 缂栧彿<span style="color:#3A7BFA;"> SB20240101-001 </span>鐨勮澶囧皢浜�2023-09-09 11:11:11杩囨湡 -->
{{ m.content }}
</p>
@@ -141,28 +263,53 @@
</div>
</div>
</scroll-pagination>
- <div v-if="list.length < 1 && !listLoading"
- style="color:#909399;font-size:14px;text-align: center;margin-top:80px">鏆傛棤鏁版嵁
+ <div
+ v-if="list.length < 1 && !listLoading"
+ style="
+ color: #909399;
+ font-size: 14px;
+ text-align: center;
+ margin-top: 80px;
+ "
+ >
+ 鏆傛棤鏁版嵁
</div>
</div>
</div>
</el-col>
</el-row>
<el-dialog :visible.sync="dialogVisible" title="鏃ョ▼娣诲姞" width="400px">
- <div class="body" style="max-height: 60vh;">
+ <div class="body" style="max-height: 60vh">
<el-row>
<el-col :span="22" class="search_thing">
- <div class="search_label"><span style="color: red;margin-right: 4px;">*</span>鏃堕棿锛�</div>
+ <div class="search_label">
+ <span style="color: red; margin-right: 4px">*</span>鏃堕棿锛�
+ </div>
<div class="search_input">
- <el-date-picker v-model="query.time" format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡鏃堕棿" size="small"
- style="width: 100%;" type="datetime" value-format="yyyy-MM-dd HH:mm:ss">
+ <el-date-picker
+ v-model="query.time"
+ format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡鏃堕棿"
+ size="small"
+ style="width: 100%"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ >
</el-date-picker>
</div>
</el-col>
<el-col :span="22" class="search_thing">
- <div class="search_label"><span style="color: red;margin-right: 4px;">*</span>鍐呭锛�</div>
+ <div class="search_label">
+ <span style="color: red; margin-right: 4px">*</span>鍐呭锛�
+ </div>
<div class="search_input">
- <el-input v-model="query.text" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" size="small" type="textarea"></el-input>
+ <el-input
+ v-model="query.text"
+ :rows="2"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea"
+ ></el-input>
</div>
</el-col>
</el-row>
@@ -170,7 +317,9 @@
<span slot="footer" class="dialog-footer">
<el-row>
<el-button @click="handleCancel">鍙� 娑�</el-button>
- <el-button :loading="loading" type="primary" @click="submit">纭� 瀹�</el-button>
+ <el-button :loading="loading" type="primary" @click="submit"
+ >纭� 瀹�</el-button
+ >
</el-row>
</span>
</el-dialog>
@@ -178,22 +327,35 @@
</template>
<script>
-import { getYearAndMonthAndDays } from '@/utils/date.js'
-import ScrollPagination from '@/components/index/scroll-paging.vue'
+import {
+ pageNotice,
+ triggerModificationStatusToRead,
+ getNumberFourTypesMessagesHomePage,
+} from "@/api/system/notice";
+import {
+ addSchedule,
+ calendarWorkByWeek,
+ ScheduleByMe,
+} from "@/api/chart/dailyBusinessStatistical.js";
+import { getYearAndMonthAndDays } from "@/utils/date.js";
+import ScrollPagination from "@/components/index/scroll-paging.vue";
+import { mapGetters } from "vuex";
export default {
components: {
- ScrollPagination
+ ScrollPagination,
+ },
+ computed: {
+ ...mapGetters(["nickName"]),
},
data() {
return {
- user: {},
now: null,
calendarValue: new Date(),
currentIndex: 5,
dialogVisible: false,
query: {
- time: '',
- text: ''
+ time: "",
+ text: "",
},
loading: false,
workLoading: false,
@@ -211,95 +373,108 @@
timer: null,
keyMap: {},
getNumberFourTypes: {},
- }
+ };
},
watch: {
calendarValue(val) {
- this.getScheduleByMe()
+ this.getScheduleByMe();
},
currentIndex() {
- this.keyMap = {}
+ this.keyMap = {};
this.currentPage = 1;
this.list = [];
this.getList();
- }
+ },
},
mounted() {
- this.user = JSON.parse(localStorage.getItem('user'))
- this.nowTime()
+ this.nowTime();
setInterval(() => {
- this.nowTime()
- }, 1000)
- this.weekdays = this.getWeekdaysForNextWeek()
+ this.nowTime();
+ }, 1000);
+ this.weekdays = this.getWeekdaysForNextWeek();
this.init();
this.currentPage = 1;
- this.keyMap = {}
+ this.keyMap = {};
this.list = [];
this.getList();
- this.getScheduleByMe()
- this.timer && clearInterval(this.timer)
+ this.getScheduleByMe();
+ this.timer && clearInterval(this.timer);
this.timer = setInterval(() => {
this.init();
this.currentPage = 1;
- this.keyMap = {}
+ this.keyMap = {};
this.list = [];
this.getList();
- this.getScheduleByMe()
- }, 1000 * 60 * 10)
- this.getNumberFourTypesFun()
+ this.getScheduleByMe();
+ }, 1000 * 60 * 10);
+ this.getNumberFourTypesFun();
},
methods: {
changeState(val) {
if (val == 0) {
- return '寰呮楠�'
+ return "寰呮楠�";
}
},
currentIndexChange() {
- this.keyMap = {}
+ this.keyMap = {};
this.currentPage = 1;
this.list = [];
this.getList();
},
getNumberFourTypesFun() {
- this.$axios.get(this.$api.informationNotification.getNumberFourTypesMessagesHomePage).then(res => {
- this.getNumberFourTypes = res.data
- })
+ getNumberFourTypesMessagesHomePage()
+ .then((res) => {
+ if (res.code === 200) {
+ this.getNumberFourTypes = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
getList() {
- const key = `_${this.currentPage}`
- const value = this.keyMap[key]
+ const key = `_${this.currentPage}`;
+ const value = this.keyMap[key];
// 濡傛灉value瀛樺湪锛岃〃绀虹紦瀛樻湁鍊硷紝閭d箞闃绘璇锋眰
if (value) {
- return
+ return;
}
// value涓嶅瓨鍦紝琛ㄧず绗竴娆¤姹�,璁剧疆鍗犱綅
- this.keyMap[key] = 'temp'
+ this.keyMap[key] = "temp";
if (this.currentPage == 1) {
- this.listLoading = true
+ this.listLoading = true;
}
if (this.list.length == 0) {
this.finishLoding = false;
}
- this.$axios.get(this.$api.informationNotification.page + '?size=' + this.pageSize + '¤t=' + this.currentPage + '&messageType=' + this.currentIndex).then(res => {
- if (res.code === 201) {
- return
- }
- let list = res.data.records;
- this.total = res.data.total;
- if (list.length == 0) {
- this.finishLoding = true;
- } else {
- if (list.length < this.pageSize) {
- this.finishLoding = true;
- }
- this.list = this.list.concat(list)
- if (this.total == this.list.length) {
- this.finishLoding = true;
- }
- this.currentPage++;
- }
- this.listLoading = false
+ pageNotice({
+ size: this.pageSize,
+ current: this.currentPage,
+ messageType: this.currentIndex,
})
+ .then((res) => {
+ if (res.code === 201) {
+ return;
+ }
+ let list = res.data.records;
+ this.total = res.data.total;
+ if (list.length == 0) {
+ this.finishLoding = true;
+ } else {
+ if (list.length < this.pageSize) {
+ this.finishLoding = true;
+ }
+ this.list = this.list.concat(list);
+ if (this.total == this.list.length) {
+ this.finishLoding = true;
+ }
+ this.currentPage++;
+ }
+ this.listLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
nowTime() {
var date = new Date();
@@ -307,7 +482,7 @@
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
- this.timeH = h
+ this.timeH = h;
var min = date.getMinutes();
var s = date.getSeconds();
if (s < 10) {
@@ -328,9 +503,9 @@
this.now = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + s;
},
nextMonth(value) {
- let year = this.calendarValue.getFullYear();// 褰撳墠骞翠唤
- let month = this.calendarValue.getMonth() + 1;// 褰撳墠鏈堜唤
- let day = this.calendarValue.getDate();// 褰撳墠澶╂暟
+ let year = this.calendarValue.getFullYear(); // 褰撳墠骞翠唤
+ let month = this.calendarValue.getMonth() + 1; // 褰撳墠鏈堜唤
+ let day = this.calendarValue.getDate(); // 褰撳墠澶╂暟
let nextyear = year;
let nextmonth = parseInt(month) + 1;
// 鍒ゆ柇涓嬩竴鏈堟槸鍚︿細杩涘叆涓嬩竴骞�
@@ -344,21 +519,21 @@
if (day > nextdays) {
day = nextdays;
if (day < 10) {
- day = '0' + day;
+ day = "0" + day;
}
}
if (nextmonth < 10) {
- nextmonth = '0' + nextmonth;
+ nextmonth = "0" + nextmonth;
}
- let nexttime = nextyear + '-' + nextmonth + '-' + day;
+ let nexttime = nextyear + "-" + nextmonth + "-" + day;
// 灏嗗緱鍒扮殑骞存湀鏃ユ牸寮忚浆鎹负鏍囧噯鏃堕棿锛屼笌楗夸簡涔堟椂闂存牸寮忕浉鍚屾墠鑳借仈鍔�
this.calendarValue = new Date(nexttime);
},
prevMonth(time) {
- let year = this.calendarValue.getFullYear();// 褰撳墠骞翠唤
- let month = this.calendarValue.getMonth() + 1;// 褰撳墠鏈堜唤
- let day = this.calendarValue.getDate();// 褰撳墠澶╂暟
+ let year = this.calendarValue.getFullYear(); // 褰撳墠骞翠唤
+ let month = this.calendarValue.getMonth() + 1; // 褰撳墠鏈堜唤
+ let day = this.calendarValue.getDate(); // 褰撳墠澶╂暟
let prevyear = year;
let prevmonth = parseInt(month) - 1;
// 鍒ゆ柇涓婁竴鏈堟槸鍚︿細杩涘叆涓婁竴骞�
@@ -372,13 +547,13 @@
if (day > prevdays) {
day = prevdays;
if (day < 10) {
- day = '0' + day;
+ day = "0" + day;
}
}
if (prevmonth < 10) {
- prevmonth = '0' + prevmonth;
+ prevmonth = "0" + prevmonth;
}
- let prevtime = prevyear + '-' + prevmonth + '-' + day;
+ let prevtime = prevyear + "-" + prevmonth + "-" + day;
// 灏嗗緱鍒扮殑骞存湀鏃ユ牸寮忚浆鎹负鏍囧噯鏃堕棿锛屼笌楗夸簡涔堟椂闂存牸寮忕浉鍚屾墠鑳借仈鍔�
this.calendarValue = new Date(prevtime);
@@ -386,45 +561,53 @@
handleCancel() {
this.dialogVisible = false;
this.query = {
- time: '',
- text: ''
- }
+ time: "",
+ text: "",
+ };
},
submit() {
if (!this.query.time) {
- this.$message.error('鏃堕棿鏈~鍐�')
- return
+ this.$message.error("鏃堕棿鏈~鍐�");
+ return;
}
if (!this.query.text) {
- this.$message.error('鍐呭鏈~鍐�')
- return
+ this.$message.error("鍐呭鏈~鍐�");
+ return;
}
this.loading = true;
- this.$axios.post(this.$api.report.addSchedule, this.query).then(res => {
- this.loading = false;
- if (res.code == 201) {
- this.$message.error('鎿嶄綔澶辫触')
- return
- }
- this.$message.success('淇濆瓨鎴愬姛')
- this.handleCancel()
- this.getScheduleByMe()
- })
+ addSchedule(this.query)
+ .then((res) => {
+ this.loading = false;
+ if (res.code == 201) {
+ this.$message.error("鎿嶄綔澶辫触");
+ return;
+ }
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.handleCancel();
+ this.getScheduleByMe();
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
init() {
this.workLoading = true;
- this.$axios.get(this.$api.report.calendarWorkByWeek).then(res => {
- if (res.code == 201) return
- this.workLoading = false;
- this.workList = [];
- for (let i = 0; i < 7; i++) {
- this.workList.push(res.data[`work${i}`])
- }
- this.workDay = res.data.weekDays.map(m => {
- let arr = m.split('-')
- return arr[2]
+ calendarWorkByWeek()
+ .then((res) => {
+ if (res.code == 201) return;
+ this.workLoading = false;
+ this.workList = [];
+ for (let i = 0; i < 7; i++) {
+ this.workList.push(res.data[`work${i}`]);
+ }
+ this.workDay = res.data.weekDays.map((m) => {
+ let arr = m.split("-");
+ return arr[2];
+ });
})
- })
+ .catch((error) => {
+ console.error(error);
+ });
},
getWeekdaysForNextWeek() {
let weekdays = [];
@@ -434,75 +617,86 @@
let day = date.getDay(); // 0-6 浠h〃鏄熸湡鏃ュ埌鏄熸湡鍏�
weekdays.push(day);
}
- weekdays.reverse()
- weekdays = weekdays.map(m => {
- let day = ''
+ weekdays.reverse();
+ weekdays = weekdays.map((m) => {
+ let day = "";
switch (m) {
case 0:
- day = '鏄熸湡澶�'
+ day = "鏄熸湡澶�";
break;
case 1:
- day = '鏄熸湡涓�'
+ day = "鏄熸湡涓�";
break;
case 2:
- day = '鏄熸湡浜�'
+ day = "鏄熸湡浜�";
break;
case 3:
- day = '鏄熸湡涓�'
+ day = "鏄熸湡涓�";
break;
case 4:
- day = '鏄熸湡鍥�'
+ day = "鏄熸湡鍥�";
break;
case 5:
- day = '鏄熸湡浜�'
+ day = "鏄熸湡浜�";
break;
case 6:
- day = '鏄熸湡鍏�'
+ day = "鏄熸湡鍏�";
break;
}
- return day
- })
+ return day;
+ });
return weekdays;
},
getScheduleByMe() {
this.scheduleLoading = true;
- this.$axios.post(this.$api.report.ScheduleByMe, {
- date: getYearAndMonthAndDays(this.calendarValue)
- }).then(res => {
- this.loading = false;
- this.scheduleLoading = false;
- if (res.code == 201) {
- return
- }
- this.listScheduleByMe = res.data.map(m => {
- if (m.scheduleTime) {
- let time = m.scheduleTime.split(' ')[1].split(':')
- m.scheduleTimes = time[0] + ':' + time[1]
- } else {
- m.scheduleTimes = ''
- }
- return m
- })
+ ScheduleByMe({
+ date: getYearAndMonthAndDays(this.calendarValue),
})
+ .then((res) => {
+ this.loading = false;
+ this.scheduleLoading = false;
+ if (res.code == 201) {
+ return;
+ }
+ this.listScheduleByMe = res.data.map((m) => {
+ if (m.scheduleTime) {
+ let time = m.scheduleTime.split(" ")[1].split(":");
+ m.scheduleTimes = time[0] + ":" + time[1];
+ } else {
+ m.scheduleTimes = "";
+ }
+ return m;
+ });
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
goNoticeDetail(row) {
- this.$axios.put(this.$api.informationNotification.triggerModificationStatusToRead + '/' + row.id).then(res => {
- row.num = Math.random(100);
- this.$bus.$emit("change", JSON.stringify(row));
- this.$parent.addTab({
- v: "娑堟伅璇︽儏",
- i: "el-icon-s-tools",
- u: "notice-detail",
- k: 35,
- p: "abcd"
- }, 29);
- })
+ triggerModificationStatusToRead(row.id)
+ .then((res) => {
+ row.num = Math.random(100);
+ this.$bus.$emit("change", JSON.stringify(row));
+ this.$parent.addTab(
+ {
+ v: "娑堟伅璇︽儏",
+ i: "el-icon-s-tools",
+ u: "notice-detail",
+ k: 35,
+ p: "abcd",
+ },
+ 29
+ );
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
},
deactivated() {
- this.timer && clearInterval(this.timer)
- }
-}
+ this.timer && clearInterval(this.timer);
+ },
+};
</script>
<style scoped lang="scss">
@@ -545,13 +739,14 @@
}
.card {
- background: #FFFFFF;
+ background: #ffffff;
border-radius: 16px;
width: 100%;
box-sizing: border-box;
}
.right-1 {
+ height: 118px;
padding: 10px 10px 4px;
display: flex;
align-items: center;
@@ -568,10 +763,11 @@
.right-1-item .mun {
margin-left: 6px;
- color: #0166E2;
+ color: #0166e2;
}
.right-2 {
+ width: 100%;
padding: 13px 14px 8px;
margin-bottom: 16px;
}
@@ -590,32 +786,6 @@
justify-content: space-between;
}
->>>.el-calendar__header {
- display: none;
-}
-
->>>.el-calendar__body {
- padding: 0;
-}
-
->>>.el-calendar-table:not(.is-range) td.next {
- /*闅愯棌涓嬩釜鏈堢殑鏃ユ湡*/
- display: none;
-}
-
->>>.el-calendar-day {
- height: 40px;
-}
-
->>>.el-calendar-table td {
- border: 0;
- font-size: 14px;
-}
-
->>>.el-calendar-table tr td:first-child {
- border-left: 0;
-}
-
.control {
display: flex;
align-items: center;
@@ -628,10 +798,10 @@
width: 32px;
height: 32px;
border-radius: 8px;
- border: 1px solid #E8E8E8;
+ border: 1px solid #e8e8e8;
background: #fff;
padding: 0;
- color: #0166E2;
+ color: #0166e2;
font-size: 20px;
}
@@ -645,47 +815,40 @@
.right-3-tab {
display: flex;
align-items: center;
+ margin-bottom: 12px;
}
-
.tab-item {
width: 50%;
box-sizing: border-box;
text-align: center;
padding: 14px 0;
font-size: 20px;
- background: #F5F7FB;
+ background: #f5f7fb;
color: #333333;
}
-
.tab-item.active {
background: #fff;
- color: #FF3838;
- padding-left: 16px;
- text-align: left;
+ color: #ff3838;
}
-
.right-3-list {
padding: 0 12px 8px;
box-sizing: border-box;
height: 390px;
overflow-y: auto;
}
-
.list3-item {
padding: 6px 4px;
- margin: 8px 0;
}
-
.list3-item:hover {
background: rgba(58, 123, 250, 0.05);
}
-
.list3-item-title {
display: flex;
- align-items: flex-start;
- margin-bottom: 10px;
+ align-items: center;
+ p {
+ margin: 0;
+ }
}
-
.list3-item-info {
display: flex;
align-items: center;
@@ -697,11 +860,11 @@
.left-2 {
display: grid;
grid-template-columns: repeat(7, 1fr);
- height: 777px;
+ height: calc(100vh - 245px);
}
.left-2-item {
- border-right: 1px solid #F1F1F1;
+ border-right: 1px solid #f1f1f1;
overflow: hidden !important;
}
@@ -714,11 +877,11 @@
}
.left-2-item:hover .left-item-title span {
- color: #3A7BFA !important;
+ color: #3a7bfa !important;
}
.left-item-title {
- border-bottom: 1px solid #F1F1F1;
+ border-bottom: 1px solid #f1f1f1;
display: flex;
flex-direction: column;
align-items: center;
@@ -734,25 +897,25 @@
}
.body-item {
- background: #70A090;
+ background: #70a090;
border-radius: 16px;
overflow: hidden;
margin-bottom: 8px;
}
.body-item.color0 {
- background: #70A090;
+ background: #70a090;
}
.body-item.color1 {
- background: #EBD476;
+ background: #ebd476;
}
.body-item.color2 {
- background: #FF3838;
+ background: #ff3838;
}
-.body-item>div {
+.body-item > div {
height: calc(100% - 16px);
margin-top: 16px;
background: rgba(255, 255, 255, 0.9);
@@ -773,37 +936,6 @@
margin-bottom: 10px;
}
->>>.el-calendar-day span {
- display: inline-block;
- width: 30px;
- height: 30px;
- line-height: 30px;
- text-align: center;
- border-radius: 4px;
-}
-
->>>.is-selected {
- background: transparent !important;
-}
-
->>>.is-selected .el-calendar-day {
- background: transparent !important;
-}
-
->>>.is-selected .el-calendar-day span {
- background: #3A7BFA !important;
- color: #fff !important;
-}
-
->>>.el-calendar-day:hover {
- background: transparent;
-}
-
->>>.el-calendar-day span:hover {
- background: #3A7BFA !important;
- color: #fff !important;
-}
-
.body-item-name {
display: inline-block;
height: 22px;
@@ -811,9 +943,9 @@
border-radius: 10px;
line-height: 22px;
text-align: center;
- background: #C0C4CC;
+ background: #c0c4cc;
color: #fff;
- font-size: 14px
+ font-size: 14px;
}
.body-item-insState {
@@ -825,6 +957,6 @@
line-height: 22px;
text-align: center;
color: #fff;
- font-size: 14px
+ font-size: 14px;
}
</style>
--
Gitblit v1.9.3