|
@@ -1,13 +1,135 @@
|
|
<template>
|
|
<template>
|
|
- <HcCard actionSize="lg" scrollbar>
|
|
|
|
- <template #header>
|
|
|
|
- <div class="warn_text">
|
|
|
|
- <HcIcon name="alert" class="warn_icon"/>
|
|
|
|
- <span>15条</span>
|
|
|
|
|
|
+ <div class="head_box">
|
|
|
|
+ <div class="w-36">
|
|
|
|
+ <el-select v-model="searchForm.department" block clearable placeholder="选择部门" size="large">
|
|
|
|
+ <el-option v-for="item in departmentType" :label="item.name" :value="item.key"/>
|
|
|
|
+ </el-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="w-40 ml-2" style="display: flex;justify-content: center;align-items: center;">
|
|
|
|
+ <span style="width: 120px;color: gray;">任务人员:</span>
|
|
|
|
+ <el-select v-model="searchForm.person" block clearable placeholder="任务人员" size="large">
|
|
|
|
+ <el-option v-for="item in personType" :label="item.name" :value="item.key"/>
|
|
|
|
+ </el-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="w-36 ml-4">
|
|
|
|
+ <el-date-picker class="block" v-model="searchForm.startTime" type="month" value-format="YYYY-MM" placeholder="开始日期" clearable size="large"/>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mx-2">~</div>
|
|
|
|
+ <div class="w-36">
|
|
|
|
+ <el-date-picker class="block" v-model="searchForm.endTime" type="month" value-format="YYYY-MM" placeholder="结束日期" clearable size="large"/>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="ml-4">
|
|
|
|
+ <el-button type="primary" @click="searchClick" size="large">
|
|
|
|
+ <HcIcon name="search-2"/>
|
|
|
|
+ <span>搜索</span>
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="ml-2">
|
|
|
|
+ <el-button size="large" @click="resetClick">
|
|
|
|
+ <HcIcon name="close-circle"/>
|
|
|
|
+ <span>重置</span>
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <HcCardItem ui="hac-card-item mt-4" style="height:40%">
|
|
|
|
+
|
|
|
|
+ <div class="hac-card-item-body">
|
|
|
|
+ <div class="hc-row-echarts-box" style="margin-top: 30px;">
|
|
|
|
+ <BarLabelRotation isMonth :datas="planDatas" :legend="legend"/>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- </template>
|
|
|
|
- </HcCard>
|
|
|
|
|
|
+ </HcCardItem>
|
|
|
|
+ <el-row :gutter="14" class="mt-8" style="height:50%">
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <HcCardItem ui="hac-card-item">
|
|
|
|
+ <HcCardItem ui="hac-card-item">
|
|
|
|
+ <div class="hc-row-echarts-box" style="height: 360px;">
|
|
|
|
+ <StackedLine isMonth :datas="planDatas1" />
|
|
|
|
+ </div>
|
|
|
|
+ </HcCardItem>
|
|
|
|
+ </HcCardItem>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <HcCardItem ui="hac-card-item">
|
|
|
|
+ <div class="hc-row-echarts-box" style="height: 360px;">
|
|
|
|
+ <StackedLine isMonth :datas="planDatas1" />
|
|
|
|
+ </div>
|
|
|
|
+ </HcCardItem>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-</script>
|
|
|
|
|
|
+ import {ref, watch} from "vue";
|
|
|
|
+ import BarLabelRotation from "~com/echarts/BarLabelRotation.vue";
|
|
|
|
+ import ProgressChart from "~com/echarts/ProgressChart.vue";
|
|
|
|
+ import StackedLine from "~com/echarts/StackedLine.vue";
|
|
|
|
+ const searchForm=ref({
|
|
|
|
+ department:'',person:''
|
|
|
|
+ })
|
|
|
|
+ const departmentType=ref([
|
|
|
|
+ {name:'研发部门',key:1},
|
|
|
|
+ {name:'业务部门',key:2},
|
|
|
|
+ {name:'人事部门',key:1},
|
|
|
|
+ ])
|
|
|
|
+ const personType=ref([
|
|
|
|
+ {name:'全部',key:''},
|
|
|
|
+ {name:'张三',key:1},
|
|
|
|
+ {name:'李四',key:2},
|
|
|
|
+ {name:'王五',key:1},
|
|
|
|
+ ])
|
|
|
|
+ //搜索
|
|
|
|
+const searchClick = () => {
|
|
|
|
+ searchForm.value.current = 1;
|
|
|
|
+ console.log(searchForm.value)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//重置
|
|
|
|
+const resetClick = () => {
|
|
|
|
+ searchForm.value = {
|
|
|
|
+ reportType: null, startTime: null, endTime: null,
|
|
|
|
+ current: 1, size: 20, total: 0
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+//计划统计图
|
|
|
|
+const planDatas = ref([
|
|
|
|
+ {
|
|
|
|
+ name: '总计划',
|
|
|
|
+ value: [120, 132, 101, 134, 90, 230, 210, 210, 210, 210, 132, 101]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: '已完成',
|
|
|
|
+ value: [120, 132, 101, 134, 90, 230, 210, 210, 210, 210, 132, 101]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ name: '未完成',
|
|
|
|
+ value: [120, 132, 101, 134, 90, 230, 210, 210, 210, 210, 132, 101]
|
|
|
|
+ },
|
|
|
|
+])
|
|
|
|
+const planDatas1=ref([])
|
|
|
|
+const legend=ref(
|
|
|
|
+ {
|
|
|
|
+ orient: 'horizontal',
|
|
|
|
+ data:['总计划','已完成','未完成'],
|
|
|
|
+ textStyle:{
|
|
|
|
+ fontSize: 14,//字体大小
|
|
|
|
+ color: 'black'//字体颜色
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+)
|
|
|
|
+</script>
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+@import "~src/styles/home/index.scss";
|
|
|
|
+.el-card .el-card__body .hc-card-main-box .hc-card-item-box {
|
|
|
|
+ background: white;
|
|
|
|
+}
|
|
|
|
+.head_box{
|
|
|
|
+ display: flex;
|
|
|
|
+}
|
|
|
|
+</style>
|