From e5454b769d44a34af423bf87ac8a740bf8c20341 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期二, 29 四月 2025 13:25:29 +0800 Subject: [PATCH] Merge branch 'dev' into dev_tides --- src/views/performance/class/index.vue | 511 ++++++++++++++++++-------------------------------------- 1 files changed, 163 insertions(+), 348 deletions(-) diff --git a/src/views/performance/class/index.vue b/src/views/performance/class/index.vue index 18e6ed2..ff3a4f1 100644 --- a/src/views/performance/class/index.vue +++ b/src/views/performance/class/index.vue @@ -4,123 +4,57 @@ <div class="search_thing"> <div class="search_label">閫夋嫨鏃堕棿锛�</div> <div class="search_input"> - <el-date-picker - v-model="query.year" - type="year" - size="small" - format="yyyy" - placeholder="閫夋嫨骞�" - @change="refreshTable()" - style="width: 140px" - :clearable="false" - > + <el-date-picker v-model="query.year" type="year" size="small" format="yyyy" placeholder="閫夋嫨骞�" + @change="refreshTable()" style="width: 140px" :clearable="false"> </el-date-picker> - <el-select - v-model="query.month" - clearable - placeholder="閫夋嫨鏈�" - style="width: 140px; margin-left: 16px" - size="small" - @change="refreshTable()" - > - <el-option - v-for="item in monthOptions" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-select v-model="query.month" clearable placeholder="閫夋嫨鏈�" style="width: 140px; margin-left: 16px" + size="small" @change="refreshTable()"> + <el-option v-for="item in monthOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> - <el-input - v-model="query.userName" - placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�" - size="small" - style="width: 140px; margin: 0 16px" - clearable - @keyup.enter.native="refreshTable()" - ></el-input> - <el-select - v-model="query.laboratory" - placeholder="璇烽�夋嫨瀹為獙瀹�" - style="width: 140px" - size="small" - clearable - @change="refreshTable()" - > - <el-option - v-for="item in laboratory" - :key="item.value" - :label="item.label" - :value="item.value" - > + <el-input v-model="query.userName" placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�" size="small" style="width: 140px; margin: 0 16px" + clearable @keyup.enter.native="refreshTable()"></el-input> + <el-select v-model="query.laboratory" placeholder="璇烽�夋嫨瀹為獙瀹�" style="width: 140px" size="small" clearable + @change="refreshTable()"> + <el-option v-for="item in laboratory" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </div> </div> <div class="search_thing" style="padding-left: 30px"> - <el-button size="small" @click="refresh()">閲� 缃�</el-button> - <el-button size="small" type="primary" @click="refreshTable()" - >鏌� 璇�</el-button - > + <el-button size="mini" type="primary" @click="refreshTable()"> 璇�</el-button> + <el-button size="mini" @click="refresh()">閲嶇疆</el-button> </div> <div class="search_thing btns" style="padding-left: 30px"> - <el-button - size="small" - type="primary" - v-if="checkPermi(['performance:class:time'])" - @click="configTime" - >鏃堕棿閰嶇疆</el-button - > - <el-button - size="small" - type="primary" - v-if="checkPermi(['performance:class:down'])" - @click="handleDown" - :loading="downLoading" - >瀵� 鍑�</el-button - > - <el-button - size="small" - type="primary" - @click="schedulingVisible = true" - v-if="checkPermi(['performance:class:add'])" - >鎺� 鐝�</el-button - > + <el-button size="small" type="primary" v-if="checkPermi(['performance:class:time'])" + @click="configTime">鏃堕棿閰嶇疆</el-button> + <el-button size="small" type="primary" v-if="checkPermi(['performance:class:down'])" @click="handleDown" + :loading="downLoading">瀵� 鍑�</el-button> + <el-button size="small" type="primary" @click="schedulingVisible = true" + v-if="checkPermi(['performance:class:add'])">鎺� 鐝�</el-button> </div> </div> <div class="center" v-loading="pageLoading"> <div class="clearfix" style="width: 100%" v-show="query.month"> <div class="fixed-left"> - <div - class="content-title" - style="padding-left: 16px; box-sizing: border-box" - > + <div class="content-title" style="padding-left: 16px; box-sizing: border-box"> 浜哄憳鍚嶇О </div> - <div - class="content-user" - :class="{ hoverType: currentUserIndex == index }" - v-for="(item, index) in list" - :key="'e' + index" - v-on:mouseenter="onMouseEnter(index)" - v-on:mouseleave="currentUserIndex = null" - > + <div class="content-user" :class="{ hoverType: currentUserIndex == index }" v-for="(item, index) in list" + :key="'e' + index" v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null"> <div class="user-pic"> {{ item.name ? item.name.charAt(0) : "" }} </div> <div class="user-info"> - <p - style=" + <p style=" font-size: 14px; color: #3a7bfa; line-height: 24px; margin: 0; - " - > + "> {{ item.name }} </p> - <p - style=" + <p style=" color: #999999; font-size: 12px; transform: scale(0.8) translateX(-20px); @@ -128,102 +62,60 @@ width: 150px; overflow-x: show; margin: 0; - " - > + "> 鏃�:{{ item.day0 }},涓�:{{ item.day1 }},澶�:{{ item.day2 }},浼�:{{ item.day3 }},鍋�:{{ item.day4 }},宸�:{{ item.day6 }} </p> <p style="margin-top: 4px; margin: 0"> - <span - style=" + <span style=" color: #999999; font-size: 12px; display: inline-block; transform: scale(0.8) translateX(-10px); - " - >鍚堣鍑哄嫟: </span - ><span style="font-size: 16px; color: #ff4902" - >{{ + ">鍚堣鍑哄嫟: </span><span style="font-size: 16px; color: #ff4902">{{ query.month ? item.monthlyAttendance.totalAttendance : item.sidebarAnnualAttendance.totalAttendance - }}澶�</span - > + }}澶�</span> </p> </div> </div> </div> <div class="scroll-right"> <div class="content"> - <div - class="content-title content-title-right" - style="border-bottom: 0" - > - <div - class="content-title-item" - v-for="(item, index) in weeks" - :key="'b' + index" - > - <span - class="month" - style="position: absolute; top: 0px" - v-if="item.week == '鍛ㄦ棩'" - >{{ item.weekNum }}鍛�</span - > + <div class="content-title content-title-right" style="border-bottom: 0"> + <div class="content-title-item" v-for="(item, index) in weeks" :key="'b' + index"> + <span class="month" style="position: absolute; top: 0px" v-if="item.week == '鍛ㄦ棩'">{{ item.weekNum + }}鍛�</span> <p style="height: 26px; position: absolute; bottom: 12px"> <span class="day">{{ item.day }}</span> <span class="week">{{ item.week.charAt(1) }}</span> </p> </div> </div> - <div - class="content-body" - v-for="(item, index) in list" - :key="'c' + index" - v-on:mouseenter="onMouseEnter(index)" - v-on:mouseleave="currentUserIndex = null" - > - <div - class="content-body-item" - v-for="(m, i) in item.list" - :key="'d' + i" - :class="{ hoverType: currentUserIndex == index }" - > - <el-dropdown - trigger="click" - placement="bottom" - @command="(e) => handleCommand(e, m)" + <div class="content-body" v-for="(item, index) in list" :key="'c' + index" + v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null"> + <div class="content-body-item" v-for="(m, i) in item.list" :key="'d' + i" + :class="{ hoverType: currentUserIndex == index }"> + <el-dropdown trigger="click" placement="bottom" @command="(e) => handleCommand(e, m)" :disabled="!checkPermi(['performance:class:edit'])" - style="width: 100%; height: 100%; cursor: pointer" - > - <div - class="work-box" - :class="{ - type0: m.shift === '0', - type1: m.shift === '1', - type2: m.shift === '2', - type3: m.shift === '3', - type4: m.shift === '4', - type5: m.shift === '5', - type6: m.shift === '6', - }" - > - <span - style="cursor: pointer" - :style="`opacity: ${ - getShiftByDic(m.shift) == '鏃�' ? 0 : 1 - };`" - >{{ getShiftByDic(m.shift) }}</span - > + style="width: 100%; height: 100%; cursor: pointer"> + <div class="work-box" :class="{ + type0: m.shift === '0', + type1: m.shift === '1', + type2: m.shift === '2', + type3: m.shift === '3', + type4: m.shift === '4', + type5: m.shift === '5', + type6: m.shift === '6', + }"> + <span style="cursor: pointer" :style="`opacity: ${getShiftByDic(m.shift) == '鏃�' ? 0 : 1 + };`">{{ getShiftByDic(m.shift) }}</span> </div> <el-dropdown-menu slot="dropdown"> - <el-dropdown-item - v-for="(n, j) in classType" - :key="'h' + j" - :command="n.dictValue" - >{{ n.dictLabel }}</el-dropdown-item - > + <el-dropdown-item v-for="(n, j) in classType" :key="'h' + j" :command="n.dictValue">{{ n.dictLabel + }}</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </div> @@ -231,42 +123,26 @@ </div> </div> </div> - <div - class="clearfix year-table" - style="width: 100%" - v-show="!query.month" - > + <div class="clearfix year-table" style="width: 100%" v-show="!query.month"> <div class="fixed-left"> - <div - class="content-title" - style="padding-left: 16px; box-sizing: border-box" - > + <div class="content-title" style="padding-left: 16px; box-sizing: border-box"> 浜哄憳鍚嶇О </div> - <div - class="content-user" - :class="{ hoverType: currentUserIndex == index }" - v-for="(item, index) in yearList" - :key="'e' + index" - v-on:mouseenter="onMouseEnter(index)" - v-on:mouseleave="currentUserIndex = null" - > + <div class="content-user" :class="{ hoverType: currentUserIndex == index }" v-for="(item, index) in yearList" + :key="'e' + index" v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null"> <div class="user-pic"> {{ item.name ? item.name.charAt(0) : "" }} </div> <div class="user-info"> - <p - style=" + <p style=" font-size: 14px; color: #3a7bfa; line-height: 24px; margin: 0; - " - > + "> {{ item.name }} </p> - <p - style=" + <p style=" color: #999999; font-size: 12px; transform: scale(0.8) translateX(-20px); @@ -274,24 +150,18 @@ width: 150px; overflow-x: show; margin: 0; - " - > + "> 鏃�:{{ item.day0 }},涓�:{{ item.day1 }},澶�:{{ item.day2 }},浼�:{{ item.day3 }},鍋�:{{ item.day4 }},宸�:{{ item.day6 }} </p> <p style="margin-top: 4px; margin: 0"> - <span - style=" + <span style=" color: #999999; font-size: 12px; display: inline-block; transform: scale(0.8) translateX(-10px); - " - >鍚堣鍑哄嫟: </span - ><span style="font-size: 16px; color: #ff4902" - >{{ item.work_time }}澶�</span - > + ">鍚堣鍑哄嫟: </span><span style="font-size: 16px; color: #ff4902">{{ item.work_time }}澶�</span> </p> </div> </div> @@ -299,36 +169,18 @@ <div class="scroll-right"> <div class="content"> <div> - <div - class="content-title content-title-right" - style="border-bottom: 0; height: 52px" - :style="`display: grid; - grid-template-columns: repeat(${monthList.length}, 1fr);`" - > - <div - class="content-title-item" - v-for="(item, index) in monthList" - :key="'b' + index" - style="height: 52px" - > + <div class="content-title content-title-right" style="border-bottom: 0; height: 52px" :style="`display: grid; + grid-template-columns: repeat(${monthList.length}, 1fr);`"> + <div class="content-title-item" v-for="(item, index) in monthList" :key="'b' + index" + style="height: 52px"> <span class="month">{{ item }}鏈�</span> </div> </div> - <div - class="content-body" - v-for="(item, index) in yearList" - :key="'c' + index" - v-on:mouseenter="onMouseEnter(index)" - v-on:mouseleave="currentUserIndex = null" - :style="`display: grid; - grid-template-columns: repeat(${monthList.length}, 1fr);`" - > - <div - class="content-body-item" - v-for="(m, i) in item.monthList" - :key="'d' + i" - :class="{ hoverType: currentUserIndex == index }" - > + <div class="content-body" v-for="(item, index) in yearList" :key="'c' + index" + v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null" :style="`display: grid; + grid-template-columns: repeat(${monthList.length}, 1fr);`"> + <div class="content-body-item" v-for="(m, i) in item.monthList" :key="'d' + i" + :class="{ hoverType: currentUserIndex == index }"> <p style="color: rgb(153, 153, 153); font-size: 12px"> 鍚堣鍑哄嫟锛�<span style="font-size: 14px; color: #000">{{ m.totalMonthAttendance @@ -346,41 +198,23 @@ </div> </div> </div> - <el-pagination - background - @current-change="currentChange" - :page-size="pageSize" - :current-page="currentPage" - layout="total, prev, pager, next, jumper" - :total="total" - style="margin-top: 10px; text-align: right; margin-right: 30px" - > + <el-pagination background @current-change="currentChange" :page-size="pageSize" :current-page="currentPage" + layout="total, prev, pager, next, jumper" :total="total" + style="margin-top: 10px; text-align: right; margin-right: 30px"> </el-pagination> <el-dialog title="鏃堕棿閰嶇疆" :visible.sync="configTimeVisible" width="620px"> <div v-loading="configTimeVisibleLoading" style="min-height: 200px"> <div v-for="(item, index) in timeQuery"> - <div - class="form" - style="display: flex; justify-content: space-between" - > + <div class="form" style="display: flex; justify-content: space-between"> <div style="margin-bottom: 12px; width: 200px"> <span class="form_label">鐝锛�</span> <span v-if="!item.isEdit"> {{ item.type }} </span> <span class="form_input" v-if="item.isEdit"> - <el-select - v-model="item.shift" - placeholder="璇烽�夋嫨" - style="width: 70%; margin-right: 8px" - clearable - size="small" - > - <el-option - v-for="obj in timeTypeList" - :key="obj.dictValue" - :label="obj.dictLabel" - :value="obj.dictValue" - > + <el-select v-model="item.shift" placeholder="璇烽�夋嫨" style="width: 70%; margin-right: 8px" clearable + size="small"> + <el-option v-for="obj in timeTypeList" :key="obj.dictValue" :label="obj.dictLabel" + :value="obj.dictValue"> </el-option> </el-select> </span> @@ -395,67 +229,36 @@ }} </span> <span class="form_input" v-if="item.isEdit"> - <el-time-select - placeholder="璧峰鏃堕棿" - v-model="item.startTime" - size="small" - :picker-options="{ - start: '00:00', - step: '00:15', - end: '24:00', - }" - style="width: 120px" - > + <el-time-select placeholder="璧峰鏃堕棿" v-model="item.startTime" size="small" :picker-options="{ + start: '00:00', + step: '00:15', + end: '24:00', + }" style="width: 120px"> </el-time-select> - <el-time-select - style="width: 120px" - placeholder="缁撴潫鏃堕棿" - v-model="item.endTime" - size="small" + <el-time-select style="width: 120px" placeholder="缁撴潫鏃堕棿" v-model="item.endTime" size="small" :picker-options="{ start: '00:00', step: '00:15', end: '24:00', - }" - > + }"> </el-time-select> </span> </div> <span> - <i - class="el-icon-circle-check" - v-if="item.isEdit" - style="margin-left: 10px; color: #4b79f2; cursor: pointer" - @click="saveEdit(item, index)" - ></i> - <i - class="el-icon-edit" - v-if="!item.isEdit" - style="margin-left: 10px; color: #4b79f2; cursor: pointer" - @click="item.isEdit = true" - ></i> - <i - class="el-icon-delete" - v-if="timeQuery.length > 1" - style="margin-left: 10px; color: #ff4902; cursor: pointer" - @click="deleteTime(item, index)" - ></i> + <i class="el-icon-circle-check" v-if="item.isEdit" + style="margin-left: 10px; color: #4b79f2; cursor: pointer" @click="saveEdit(item, index)"></i> + <i class="el-icon-edit" v-if="!item.isEdit" style="margin-left: 10px; color: #4b79f2; cursor: pointer" + @click="item.isEdit = true"></i> + <i class="el-icon-delete" v-if="timeQuery.length > 1" + style="margin-left: 10px; color: #ff4902; cursor: pointer" @click="deleteTime(item, index)"></i> </span> </div> <el-divider></el-divider> - <div - @click="addTimeForm" - style="color: #4b79f2; cursor: pointer" - v-if="index === timeQuery.length - 1" - > + <div @click="addTimeForm" style="color: #4b79f2; cursor: pointer" v-if="index === timeQuery.length - 1"> 娣诲姞鏃堕棿閰嶇疆 </div> </div> - <div - @click="addTimeForm" - style="color: #4b79f2" - v-if="timeQuery.length === 0" - > + <div @click="addTimeForm" style="color: #4b79f2" v-if="timeQuery.length === 0"> 娣诲姞鏃堕棿閰嶇疆 </div> </div> @@ -466,13 +269,8 @@ <span style="color: red; margin-right: 4px">*</span>鍛ㄦ锛� </div> <div class="search_input" style="width: calc(100% - 90px)"> - <el-date-picker - v-model="schedulingQuery.week" - type="week" - format="yyyy 绗� WW 鍛�" - placeholder="閫夋嫨鍛ㄦ" - style="width: 100%" - > + <el-date-picker v-model="schedulingQuery.week" type="week" format="yyyy 绗� WW 鍛�" placeholder="閫夋嫨鍛ㄦ" + style="width: 100%"> </el-date-picker> </div> </div> @@ -481,20 +279,9 @@ <span style="color: red; margin-right: 4px">*</span>浜哄憳鍚嶇О锛� </div> <div class="search_input" style="width: calc(100% - 90px)"> - <el-select - v-model="schedulingQuery.userId" - placeholder="璇烽�夋嫨" - style="width: 100%" - multiple - clearable - collapse-tags - > - <el-option - v-for="item in personList" - :key="item.id" - :label="item.name" - :value="item.id" - > + <el-select v-model="schedulingQuery.userId" placeholder="璇烽�夋嫨" style="width: 100%" multiple clearable + collapse-tags> + <el-option v-for="item in personList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </div> @@ -504,26 +291,15 @@ <span style="color: red; margin-right: 4px">*</span>鐝锛� </div> <div class="search_input" style="width: calc(100% - 90px)"> - <el-select - v-model="schedulingQuery.shift" - placeholder="璇烽�夋嫨" - style="width: 100%" - > - <el-option - v-for="item in classType" - :key="item.dictValue" - :label="item.dictLabel" - :value="item.dictValue" - > + <el-select v-model="schedulingQuery.shift" placeholder="璇烽�夋嫨" style="width: 100%"> + <el-option v-for="item in classType" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"> </el-option> </el-select> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="schedulingVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="confirmScheduling" :loading="loading" - >纭� 瀹�</el-button - > + <el-button type="primary" @click="confirmScheduling" :loading="loading">纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -545,6 +321,7 @@ selectUserCondition, } from "@/api/performance/class"; export default { + name: 'Class', data() { return { query: { @@ -667,7 +444,6 @@ this.monthList.push(i); } this.monthList.reverse(); - // this.getPower(); }, methods: { refresh() { @@ -727,8 +503,8 @@ (i == 0 && strArr[i] == 0 ? "" : i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 - ? "" - : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) + + ? "" + : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) + newNum; } return newNum; @@ -753,7 +529,6 @@ laboratory: this.query.laboratory, }).then((res) => { this.pageLoading = false; - if (res.code == 201) return; this.total = res.data.page.total; this.list = res.data.page.records.map((item) => { for (let key in item.monthlyAttendance) { @@ -774,7 +549,9 @@ }; this.weeks.push(obj); }); - }); + }).catch(() => { + this.pageLoading = false; + }) }, initYear() { this.pageLoading = true; @@ -787,7 +564,6 @@ laboratory: this.query.laboratory, }).then((res) => { this.pageLoading = false; - if (res.code == 201) return; this.total = res.data.total; this.yearList = res.data.records.map((item) => { for (let key in item.year) { @@ -847,7 +623,6 @@ }) .then((res) => { this.loading = false; - if (res.code == 201) return; this.$message.success("鎿嶄綔鎴愬姛"); this.schedulingVisible = false; this.schedulingQuery = { @@ -872,7 +647,6 @@ this.configTimeVisibleLoading = true; list() .then((res) => { - if (res.code == 201) return; if (res.data.length > 0) { res.data.forEach((item) => { item.isEdit = false; @@ -924,14 +698,12 @@ // 缂栬緫 newObj.id = item.id; shiftUpdate(newObj).then((res) => { - if (res.code == 201) return; this.$message.success("鎿嶄綔鎴愬姛"); this.getTimeList(); }); } else { // 鏂板 shiftAdd(newObj).then((res) => { - if (res.code == 201) return; this.$message.success("鎿嶄綔鎴愬姛"); this.getTimeList(); }); @@ -942,7 +714,6 @@ shiftRemove({ id: item.id, }).then((res) => { - if (res.code == 201) return; this.$message.success("鎿嶄綔鎴愬姛"); this.getTimeList(); }); @@ -1024,17 +795,13 @@ id: m.id, shift: e, }).then((res) => { - if (res.code == 201) return; this.$message.success("鎿嶄綔鎴愬姛"); m.shift = e; }); } }, getUsers() { - selectUserCondition().then((res) => { - if (res.code === 201) { - return; - } + selectUserCondition({ type: 1 }).then((res) => { let arr = res.data; this.personList = arr; }); @@ -1060,6 +827,7 @@ .class-page { padding: 10px; } + .form_title { height: 36px; display: flex; @@ -1067,6 +835,7 @@ justify-content: space-between; font-weight: 800; } + .search { height: 50px; display: flex; @@ -1085,16 +854,19 @@ font-size: 14px; text-align: right; } + .search_input { display: flex; align-items: center; } + .btns { position: absolute; right: 16px; top: 50%; transform: translate(0, -50%); } + .center { width: 100%; height: calc(100vh - 220px); @@ -1102,43 +874,56 @@ overflow-y: auto; display: flex; } ->>> .scroll-pagination { + +>>>.scroll-pagination { overflow-y: scroll; scrollbar-width: none; } ->>> .scroll-pagination::-webkit-scrollbar { + +>>>.scroll-pagination::-webkit-scrollbar { display: none; } + .fixed-left { float: left; - width: 220px; /* 宸﹁竟鍖哄煙瀹藉害 */ + width: 220px; + /* 宸﹁竟鍖哄煙瀹藉害 */ background-color: #fff; - box-shadow: 2px -2px 5px rgba(51, 51, 51, 0.12); /* 宸﹁竟闃村奖 */ + box-shadow: 2px -2px 5px rgba(51, 51, 51, 0.12); + /* 宸﹁竟闃村奖 */ } + .clearfix::after { content: ""; display: table; clear: both; } + .scroll-right { - width: calc(100% - 220px); /* 鍑忓幓宸﹁竟鍖哄煙瀹藉害 */ - min-height: calc(100% - 10px); /* 瑙嗗彛楂樺害 */ + width: calc(100% - 220px); + /* 鍑忓幓宸﹁竟鍖哄煙瀹藉害 */ + min-height: calc(100% - 10px); + /* 瑙嗗彛楂樺害 */ margin-left: 220px; overflow-x: scroll; } .content { - min-height: calc(100% - 10px); /* 瑙嗗彛楂樺害 */ + min-height: calc(100% - 10px); + /* 瑙嗗彛楂樺害 */ } + .content-title { height: 58px; line-height: 58px; border-bottom: 1px solid #eeeeee; } + .content-title-right { display: flex; align-items: center; } + .content-title-item { height: 100%; width: 50px; @@ -1151,6 +936,7 @@ flex-direction: column; position: relative; } + .content-title-item .month { font-size: 12px; color: #3a7bfa; @@ -1161,19 +947,23 @@ text-align: center; line-height: 22px; } + .content-title-item .day { font-size: 14px; color: #333333; margin-right: 4px; } + .content-title-item .week { font-size: 12px; color: #999999; } + .content-body { display: flex; align-items: center; } + .content-body-item { height: 70px; width: 50px; @@ -1184,6 +974,7 @@ border-right: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee; } + .work-box { width: 100%; height: 100%; @@ -1195,61 +986,77 @@ color: #999; font-size: 14px; } + .work-box.type0 { background: rgba(58, 123, 250, 0.15); color: #3a7bfa !important; } + .work-box.type0 span { color: #3a7bfa !important; } + .work-box.type1 { background: #e3dcfe; color: #635998 !important; } + .work-box.type1 span { color: #635998 !important; } + .work-box.type2 { background: #fae2ca; color: #bc8d5e !important; } + .work-box.type2 span { color: #bc8d5e !important; } + .work-box.type3 { background: #e1f3d8; color: #67c23a !important; } + .work-box.type3 span { color: #67c23a !important; } + .work-box.type4 { background: #fde2e2; color: #f56c6c !important; } + .work-box.type4 span { color: #f56c6c !important; } + .work-box.type5 { background: #ff46c145; color: #ff46c0 !important; } + .work-box.type5 span { color: #ff46c0 !important; } + .work-box.type6 { background: #00036418; color: #000464 !important; } + .work-box.type6 span { color: #000464 !important; } + .work-box-left { display: flex; justify-content: center; flex-direction: column; line-height: 24px; } + .content-user { width: 100%; height: 70px; @@ -1258,6 +1065,7 @@ display: flex; align-items: center; } + .user-pic { width: 50px; height: 50px; @@ -1269,19 +1077,24 @@ line-height: 50px; margin-left: 10px; } + .user-info { flex: 1; margin-left: 10px; } + .hoverType { background: rgba(58, 123, 250, 0.03); } + .year-table { width: 100%; } + .year-table .scroll-right { flex: 1; } + .year-table .month { font-size: 14px; color: #3a7bfa; @@ -1292,9 +1105,11 @@ text-align: center; line-height: 30px; } + .year-table .content-title-item { width: 100%; } + .year-table .content-body-item { width: 100%; height: 70px; -- Gitblit v1.9.3