feat(待办模块): 添加辅导员成果绩效审核功能
在xw-undo.vue、sj-undo.vue和jwc-undo.vue三个组件中新增了辅导员管理-成果绩效审核的待办项,用于支持相关审核流程
This commit is contained in:
@@ -1,28 +1,34 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<div class="six-action-container">
|
||||||
<div class="six-action-container">
|
<div
|
||||||
<div style="padding: 1rem;" class="six-action-item" v-for="(v, i) in taskList" :key="i">
|
style="padding: 1rem"
|
||||||
<div class="bubble"
|
class="six-action-item"
|
||||||
:style="{ backgroundImage: `url(${require('@/assets/index_bg/' + (i + 1) + '.png')})` }">
|
v-for="(v, i) in taskList"
|
||||||
<div class="act-text">
|
:key="i"
|
||||||
|
>
|
||||||
<div class="title">
|
<div
|
||||||
{{ v.label }}·待办
|
class="bubble"
|
||||||
</div>
|
:style="{
|
||||||
<div class="todo">
|
backgroundImage: `url(${require('@/assets/index_bg/' +
|
||||||
{{ v.value }}
|
(i + 1) +
|
||||||
</div>
|
'.png')})`,
|
||||||
</div>
|
}"
|
||||||
<div class="bg-to" @click="toRoute(v.url)">更多☞</div>
|
>
|
||||||
</div>
|
<div class="act-text">
|
||||||
|
<div class="title">{{ v.label }}·待办</div>
|
||||||
|
<div class="todo">
|
||||||
|
{{ v.value }}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bg-to" @click="toRoute(v.url)">更多☞</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import { isEmpty } from "@/api/helpFunc";
|
import { isEmpty } from "@/api/helpFunc";
|
||||||
|
|
||||||
import { countDeptUnTodo as getUndo } from "@/api/workstudy/post";
|
import { countDeptUnTodo as getUndo } from "@/api/workstudy/post";
|
||||||
@@ -30,114 +36,112 @@ import { countDeptUnTodo as getUndo } from "@/api/workstudy/post";
|
|||||||
import { checkPermi } from "@/utils/permission";
|
import { checkPermi } from "@/utils/permission";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "zzbld-qgzx",
|
name: "zzbld-qgzx",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
hasPrem:false,
|
hasPrem: false,
|
||||||
taskList: [
|
taskList: [],
|
||||||
],
|
|
||||||
|
|
||||||
|
myChartStyle: {
|
||||||
|
float: "left",
|
||||||
|
width: "400px",
|
||||||
|
height: "300px",
|
||||||
|
margin: 0,
|
||||||
|
}, //图表样式
|
||||||
|
|
||||||
myChartStyle: { float: "left", width: "400px", height: "300px", margin: 0 },//图表样式
|
init_park_list: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
init_park_list: []
|
created() {
|
||||||
|
if (checkPermi(["home:dept:qgzx"])) {
|
||||||
}
|
this.getUndo();
|
||||||
},
|
this.hasPrem = true;
|
||||||
created() {
|
|
||||||
if (checkPermi(['home:dept:qgzx'])) {
|
|
||||||
this.getUndo();
|
|
||||||
this.hasPrem = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
async getUndo() {
|
|
||||||
this.taskList = [];
|
|
||||||
let res = await getUndo();
|
|
||||||
if (res.code == 200) {
|
|
||||||
let data = { ...res.data };
|
|
||||||
console.log(data);
|
|
||||||
this.taskList.push({
|
|
||||||
label: "部门·学生岗位审核",
|
|
||||||
name: "post",
|
|
||||||
value: data.post,
|
|
||||||
url: "/workstudy/post/dept"
|
|
||||||
});
|
|
||||||
this.taskList.push({
|
|
||||||
label: "部门·薪资审核",
|
|
||||||
name: "money",
|
|
||||||
value: data.money,
|
|
||||||
url: "/workstudy/money/dept"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
toRoute(url) {
|
|
||||||
if (!isEmpty(url)) {
|
|
||||||
this.$router.push(url);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getUndo() {
|
||||||
|
this.taskList = [];
|
||||||
|
let res = await getUndo();
|
||||||
|
if (res.code == 200) {
|
||||||
|
let data = { ...res.data };
|
||||||
|
console.log(data);
|
||||||
|
this.taskList.push({
|
||||||
|
label: "部门·学生岗位审核",
|
||||||
|
name: "post",
|
||||||
|
value: data.post,
|
||||||
|
url: "/workstudy/post/dept",
|
||||||
|
});
|
||||||
|
this.taskList.push({
|
||||||
|
label: "部门·薪资审核",
|
||||||
|
name: "money",
|
||||||
|
value: data.money,
|
||||||
|
url: "/workstudy/money/dept",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
}
|
toRoute(url) {
|
||||||
|
if (!isEmpty(url)) {
|
||||||
|
this.$router.push(url);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.six-action-container {
|
.six-action-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.six-action-item {
|
.six-action-item {
|
||||||
flex-basis: 33.33%;
|
flex-basis: 33.33%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bubble {
|
.bubble {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 170px;
|
height: 170px;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
// background-image: linear-gradient(120deg, rgb(134, 233, 98) 0%, rgb(45, 175, 92) 100%);
|
// background-image: linear-gradient(120deg, rgb(134, 233, 98) 0%, rgb(45, 175, 92) 100%);
|
||||||
position: relative;
|
position: relative;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.act-text {
|
.act-text {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: left;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
.title {
|
.todo {
|
||||||
text-align: left;
|
font-size: 6rem;
|
||||||
font-size: 1.25rem;
|
color: #fff;
|
||||||
color: #fff;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.todo {
|
|
||||||
font-size: 6rem;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-to {
|
.bg-to {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 5%;
|
bottom: 5%;
|
||||||
right: 3%;
|
right: 3%;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.six-action-item:hover,
|
.six-action-item:hover,
|
||||||
.fast-act:hover {
|
.fast-act:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
transform: scale(1.1);
|
transform: scale(1.1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@@ -1,215 +1,225 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="six-action-container">
|
<div class="six-action-container">
|
||||||
<div style="padding: 1rem;" class="six-action-item" v-for="(v, i) in taskList" :key="i">
|
<div
|
||||||
<div class="bubble"
|
style="padding: 1rem"
|
||||||
:style="{ backgroundImage: `url(${require('@/assets/index_bg/' + (i + 1) + '.png')})` }">
|
class="six-action-item"
|
||||||
<div class="act-text">
|
v-for="(v, i) in taskList"
|
||||||
<div class="title">
|
:key="i"
|
||||||
{{ v.label }}·待办
|
>
|
||||||
</div>
|
<div
|
||||||
<div class="todo">
|
class="bubble"
|
||||||
{{ v.value }}
|
:style="{
|
||||||
</div>
|
backgroundImage: `url(${require('@/assets/index_bg/' +
|
||||||
</div>
|
(i + 1) +
|
||||||
<div class="bg-to" @click="toRoute(v.url)">更多☞</div>
|
'.png')})`,
|
||||||
</div>
|
}"
|
||||||
|
>
|
||||||
|
<div class="act-text">
|
||||||
|
<div class="title">{{ v.label }}·待办</div>
|
||||||
|
<div class="todo">
|
||||||
|
{{ v.value }}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bg-to" @click="toRoute(v.url)">更多☞</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
import { countJwcUnDo as countUndo } from "@/api/stuCQS/good/apply";
|
import { countJwcUnDo as countUndo } from "@/api/stuCQS/good/apply";
|
||||||
import { isEmpty } from "@/api/helpFunc";
|
import { isEmpty } from "@/api/helpFunc";
|
||||||
import { checkPermi } from "@/utils/permission";
|
import { checkPermi } from "@/utils/permission";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "jwc-undo",
|
name: "jwc-undo",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
hasPrem:false,
|
hasPrem: false,
|
||||||
taskList: [
|
taskList: [
|
||||||
{
|
{
|
||||||
label: "学工·评优评先审核",
|
label: "学工·评优评先审核",
|
||||||
name: "good",
|
name: "good",
|
||||||
value: 0,
|
value: 0,
|
||||||
url: "/stuGood/about-good/jwc"
|
url: "/stuGood/about-good/jwc",
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·静湖之星审核",
|
|
||||||
name: "lake",
|
|
||||||
value: 0,
|
|
||||||
url: "/stuGood/about-lake/jwc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·优秀毕业生审核",
|
|
||||||
name: "biye",
|
|
||||||
value: 0,
|
|
||||||
url: "/stuGood/good-graduate/jwc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·困难认定审核",
|
|
||||||
name: "kn",
|
|
||||||
value: 0,
|
|
||||||
url: "/hard/pks/jwc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·助学金审核",
|
|
||||||
name: "zx",
|
|
||||||
value: 0,
|
|
||||||
url: "/hard/zxj/jwc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·宿舍管理审核",
|
|
||||||
name: "dms",
|
|
||||||
value: 0,
|
|
||||||
url: "/dormitory/stuDormitoryManage/final"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·任务管理审核",
|
|
||||||
name: "rwgl",
|
|
||||||
value: 0,
|
|
||||||
url: "/task/todo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·困难资助审核",
|
|
||||||
name: "knzz",
|
|
||||||
value: 0,
|
|
||||||
url: "hard/tufa/xg"
|
|
||||||
},
|
|
||||||
// 宁博
|
|
||||||
{
|
|
||||||
label: "学工·国家励志奖学金审核",
|
|
||||||
name: "knzzgl",
|
|
||||||
value: 0,
|
|
||||||
url: "/hard/gl/xg"
|
|
||||||
},
|
|
||||||
// 陈冠元
|
|
||||||
{
|
|
||||||
label: "学工·自治区人民政府奖学金审核",
|
|
||||||
name: "knzzzzq",
|
|
||||||
value: 0,
|
|
||||||
url: "/hard/zzq/xg",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·学生证补办审核",
|
|
||||||
name: "xszb",
|
|
||||||
value: 0,
|
|
||||||
url: "/routine/sicr/learningIndustrialProductionAudit"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学工·在校证明审核",
|
|
||||||
name: "zxzm",
|
|
||||||
value: 0,
|
|
||||||
url: "/routine/school/learning"
|
|
||||||
},
|
|
||||||
//知无涯 学工·中职升高职补助审核
|
|
||||||
{
|
|
||||||
label: "学工·中职升高职补助审核",
|
|
||||||
name: "zsg",
|
|
||||||
value: 0,
|
|
||||||
url: "/hard/zsg/xg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "学务·辅导员综合绩效审核初审",
|
|
||||||
name: "jx",
|
|
||||||
value: 0,
|
|
||||||
url: "teacher/performance/evaluate/learn"
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
if (checkPermi(['home:xg:undo1'])) {
|
|
||||||
this.countUndo();
|
|
||||||
this.hasPrem = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
async countUndo() {
|
|
||||||
let res = await countUndo();
|
|
||||||
if (res.code == 200) {
|
|
||||||
let data = [...res.data];
|
|
||||||
this.taskList.map(x => {
|
|
||||||
let temp = data.filter(y => y.startsWith(x.name));
|
|
||||||
if (!isEmpty(temp)) {
|
|
||||||
let result = temp[0].split("-")[1];
|
|
||||||
x.value = result;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
toRoute(url) {
|
label: "学工·静湖之星审核",
|
||||||
if (!isEmpty(url)) {
|
name: "lake",
|
||||||
this.$router.push(url);
|
value: 0,
|
||||||
}
|
url: "/stuGood/about-lake/jwc",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "学工·优秀毕业生审核",
|
||||||
|
name: "biye",
|
||||||
|
value: 0,
|
||||||
|
url: "/stuGood/good-graduate/jwc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·困难认定审核",
|
||||||
|
name: "kn",
|
||||||
|
value: 0,
|
||||||
|
url: "/hard/pks/jwc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·助学金审核",
|
||||||
|
name: "zx",
|
||||||
|
value: 0,
|
||||||
|
url: "/hard/zxj/jwc",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·宿舍管理审核",
|
||||||
|
name: "dms",
|
||||||
|
value: 0,
|
||||||
|
url: "/dormitory/stuDormitoryManage/final",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·任务管理审核",
|
||||||
|
name: "rwgl",
|
||||||
|
value: 0,
|
||||||
|
url: "/task/todo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·困难资助审核",
|
||||||
|
name: "knzz",
|
||||||
|
value: 0,
|
||||||
|
url: "hard/tufa/xg",
|
||||||
|
},
|
||||||
|
// 宁博
|
||||||
|
{
|
||||||
|
label: "学工·国家励志奖学金审核",
|
||||||
|
name: "knzzgl",
|
||||||
|
value: 0,
|
||||||
|
url: "/hard/gl/xg",
|
||||||
|
},
|
||||||
|
// 陈冠元
|
||||||
|
{
|
||||||
|
label: "学工·自治区人民政府奖学金审核",
|
||||||
|
name: "knzzzzq",
|
||||||
|
value: 0,
|
||||||
|
url: "/hard/zzq/xg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·学生证补办审核",
|
||||||
|
name: "xszb",
|
||||||
|
value: 0,
|
||||||
|
url: "/routine/sicr/learningIndustrialProductionAudit",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·在校证明审核",
|
||||||
|
name: "zxzm",
|
||||||
|
value: 0,
|
||||||
|
url: "/routine/school/learning",
|
||||||
|
},
|
||||||
|
//知无涯 学工·中职升高职补助审核
|
||||||
|
{
|
||||||
|
label: "学工·中职升高职补助审核",
|
||||||
|
name: "zsg",
|
||||||
|
value: 0,
|
||||||
|
url: "/hard/zsg/xg",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "学工·辅导员综合绩效审核初审",
|
||||||
|
name: "jx",
|
||||||
|
value: 0,
|
||||||
|
url: "teacher/performance/evaluate/learn",
|
||||||
|
},
|
||||||
|
// 宁博
|
||||||
|
{
|
||||||
|
label: "学工·辅导员管理-成果绩效审核",
|
||||||
|
name: "cg",
|
||||||
|
value: 0,
|
||||||
|
url: "/teacher/achievement/achievementCheck",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (checkPermi(["home:xg:undo1"])) {
|
||||||
|
this.countUndo();
|
||||||
|
this.hasPrem = true;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async countUndo() {
|
||||||
|
let res = await countUndo();
|
||||||
|
if (res.code == 200) {
|
||||||
|
let data = [...res.data];
|
||||||
|
this.taskList.map((x) => {
|
||||||
|
let temp = data.filter((y) => y.startsWith(x.name));
|
||||||
|
if (!isEmpty(temp)) {
|
||||||
|
let result = temp[0].split("-")[1];
|
||||||
|
x.value = result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
}
|
toRoute(url) {
|
||||||
|
if (!isEmpty(url)) {
|
||||||
|
this.$router.push(url);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.six-action-container {
|
.six-action-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.six-action-item {
|
.six-action-item {
|
||||||
flex-basis: 33.33%;
|
flex-basis: 33.33%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bubble {
|
.bubble {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 170px;
|
height: 170px;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
// background-image: linear-gradient(120deg, rgb(134, 233, 98) 0%, rgb(45, 175, 92) 100%);
|
// background-image: linear-gradient(120deg, rgb(134, 233, 98) 0%, rgb(45, 175, 92) 100%);
|
||||||
position: relative;
|
position: relative;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.act-text {
|
.act-text {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: left;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
.title {
|
.todo {
|
||||||
text-align: left;
|
margin-top: 1rem;
|
||||||
font-size: 1.25rem;
|
font-size: 6rem;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.todo {
|
|
||||||
margin-top: 1rem;
|
|
||||||
font-size: 6rem;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-to {
|
.bg-to {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 5%;
|
bottom: 5%;
|
||||||
right: 3%;
|
right: 3%;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.six-action-item:hover,
|
.six-action-item:hover,
|
||||||
.fast-act:hover {
|
.fast-act:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
transform: scale(1.1);
|
transform: scale(1.1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@@ -1,138 +1,150 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="six-action-container">
|
<div class="six-action-container">
|
||||||
<div style="padding: 1rem;" class="six-action-item" v-for="(v, i) in taskList" :key="i">
|
<div
|
||||||
<div class="bubble"
|
style="padding: 1rem"
|
||||||
:style="{ backgroundImage: `url(${require('@/assets/index_bg/' + (i + 1) + '.png')})` }">
|
class="six-action-item"
|
||||||
<div class="act-text">
|
v-for="(v, i) in taskList"
|
||||||
<div class="title">
|
:key="i"
|
||||||
{{ v.label }}·待办
|
>
|
||||||
</div>
|
<div
|
||||||
<div class="todo">
|
class="bubble"
|
||||||
{{ v.value }}
|
:style="{
|
||||||
</div>
|
backgroundImage: `url(${require('@/assets/index_bg/' +
|
||||||
</div>
|
(i + 1) +
|
||||||
<div class="bg-to" @click="toRoute(v.url)">更多☞</div>
|
'.png')})`,
|
||||||
</div>
|
}"
|
||||||
|
>
|
||||||
|
<div class="act-text">
|
||||||
|
<div class="title">{{ v.label }}·待办</div>
|
||||||
|
<div class="todo">
|
||||||
|
{{ v.value }}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bg-to" @click="toRoute(v.url)">更多☞</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { countSjUnDo as countUndo } from "@/api/stuCQS/good/apply";
|
||||||
import {countSjUnDo as countUndo} from "@/api/stuCQS/good/apply";
|
|
||||||
import { isEmpty } from "@/api/helpFunc";
|
import { isEmpty } from "@/api/helpFunc";
|
||||||
import { checkPermi } from "@/utils/permission";
|
import { checkPermi } from "@/utils/permission";
|
||||||
export default {
|
export default {
|
||||||
name: "sj-undo",
|
name: "sj-undo",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
hasPrem:false,
|
hasPrem: false,
|
||||||
|
|
||||||
taskList: [
|
taskList: [
|
||||||
{
|
{
|
||||||
label: "书记·任务管理审核",
|
label: "书记·任务管理审核",
|
||||||
name: "rwgl",
|
name: "rwgl",
|
||||||
value: 0,
|
value: 0,
|
||||||
url: "/task/todo",
|
url: "/task/todo",
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "书记·辅导员综合绩效审核",
|
|
||||||
name: "jx",
|
|
||||||
value: 0,
|
|
||||||
url: "teacher/performance/evaluate/party"
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
if (checkPermi(['home:sj:undo1'])) {
|
|
||||||
this.countUndo();
|
|
||||||
this.hasPrem = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
async countUndo() {
|
|
||||||
let res = await countUndo();
|
|
||||||
if (res.code == 200) {
|
|
||||||
let data = [...res.data];
|
|
||||||
this.taskList.map(x => {
|
|
||||||
let temp = data.filter(y => y.startsWith(x.name));
|
|
||||||
if (!isEmpty(temp)) {
|
|
||||||
let result = temp[0].split("-")[1];
|
|
||||||
x.value = result;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
toRoute(url) {
|
label: "书记·辅导员综合绩效审核",
|
||||||
if (!isEmpty(url)) {
|
name: "jx",
|
||||||
this.$router.push(url);
|
value: 0,
|
||||||
}
|
url: "teacher/performance/evaluate/party",
|
||||||
},
|
},
|
||||||
|
// 宁博
|
||||||
|
{
|
||||||
|
label: "书记·辅导员管理-成果绩效审核",
|
||||||
|
name: "cg",
|
||||||
|
value: 0,
|
||||||
|
url: "/teacher/achievement/achievementCheck",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if (checkPermi(["home:sj:undo1"])) {
|
||||||
|
this.countUndo();
|
||||||
|
this.hasPrem = true;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async countUndo() {
|
||||||
|
let res = await countUndo();
|
||||||
|
if (res.code == 200) {
|
||||||
|
let data = [...res.data];
|
||||||
|
this.taskList.map((x) => {
|
||||||
|
let temp = data.filter((y) => y.startsWith(x.name));
|
||||||
|
if (!isEmpty(temp)) {
|
||||||
|
let result = temp[0].split("-")[1];
|
||||||
|
x.value = result;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
}
|
toRoute(url) {
|
||||||
|
if (!isEmpty(url)) {
|
||||||
|
this.$router.push(url);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.six-action-container {
|
.six-action-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.six-action-item {
|
.six-action-item {
|
||||||
flex-basis: 33.33%;
|
flex-basis: 33.33%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bubble {
|
.bubble {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 170px;
|
height: 170px;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
// background-image: linear-gradient(120deg, rgb(134, 233, 98) 0%, rgb(45, 175, 92) 100%);
|
// background-image: linear-gradient(120deg, rgb(134, 233, 98) 0%, rgb(45, 175, 92) 100%);
|
||||||
position: relative;
|
position: relative;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
min-width: 250px;
|
min-width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.act-text {
|
.act-text {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: left;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
.title {
|
.todo {
|
||||||
text-align: left;
|
margin-top: 1rem;
|
||||||
font-size: 1.25rem;
|
font-size: 6rem;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.todo {
|
|
||||||
margin-top: 1rem;
|
|
||||||
font-size: 6rem;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-to {
|
.bg-to {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 5%;
|
bottom: 5%;
|
||||||
right: 3%;
|
right: 3%;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.six-action-item:hover,
|
.six-action-item:hover,
|
||||||
.fast-act:hover {
|
.fast-act:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
transform: scale(1.1);
|
transform: scale(1.1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@@ -102,6 +102,13 @@ export default {
|
|||||||
value: 0,
|
value: 0,
|
||||||
url: "/hard/zzq/xw",
|
url: "/hard/zzq/xw",
|
||||||
},
|
},
|
||||||
|
// 宁博
|
||||||
|
{
|
||||||
|
label: "学务·辅导员管理-成果绩效审核",
|
||||||
|
name: "cg",
|
||||||
|
value: 0,
|
||||||
|
url: "/teacher/achievement/achievementCheck",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user