update
This commit is contained in:
@@ -6,44 +6,27 @@
|
||||
:api="listBigFileApi"
|
||||
fullHeight
|
||||
showCheckbox
|
||||
v-model:searchParams="searchParams"
|
||||
:defaultSearchParams="{ fileSizeUnit: 'TB'}"
|
||||
:actionList="actionList"
|
||||
@checkbox-all="checkboxChangeFun"
|
||||
@checkbox-change="checkboxChangeFun"
|
||||
>
|
||||
<template #form-fileSize>
|
||||
<el-input class="w80 mr5" v-model="searchParams.fileSize"></el-input>
|
||||
<el-select class="w80" v-model="searchParams.fileSizeUnit">
|
||||
<el-option v-for="item in unitList" :label="item" :value="item" :key="item"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
<template #leftOptions>
|
||||
<div>
|
||||
<el-form :inline="true" class="filter-form" :model="filterFormData">
|
||||
<!-- <el-form-item label="文件名称:">
|
||||
<el-input v-model="filterFormData.fileName"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="文件大小(≥):">
|
||||
<el-input class="w80 mr5" v-model="filterFormData.fileSize"></el-input>
|
||||
<el-select class="w80" v-model="filterFormData.fileSizeUnit">
|
||||
<el-option v-for="item in unitList" :label="item" :value="item" :key="item"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="文件生成时间:" >
|
||||
<el-date-picker
|
||||
v-model="filterFormData.createTime"
|
||||
type="datetime"
|
||||
placeholder="选择具体的时间"
|
||||
format="YYYY-MM-DD HH:mm:ss"
|
||||
date-format="MMM DD, YYYY"
|
||||
time-format="HH:mm"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<el-form-item >
|
||||
<el-button type="primary" @click="clickDeleteFun" :disabled="chosenData.length === 0">批量删除</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-button type="primary" @click="clickDeleteFun" :disabled="chosenData.length === 0">批量删除</el-button>
|
||||
</template>
|
||||
</BaseTable>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue';
|
||||
import { ref, computed } from 'vue';
|
||||
import BaseTable from '@/components/common/table/baseTable.vue';
|
||||
import { listBigFileApi, batchDeleteBigFileApi } from '@/api/data/data';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
@@ -52,12 +35,6 @@ import { useI18n } from 'vue-i18n';
|
||||
const baseTableRef = ref();
|
||||
const { t } = useI18n();
|
||||
|
||||
const filterFormData = reactive<any>({
|
||||
fileName: '',
|
||||
fileSize: '',
|
||||
fileSizeUnit: 'TB',
|
||||
createTime: '',
|
||||
});
|
||||
// 操作栏
|
||||
const actionList = computed(() => {
|
||||
return [
|
||||
@@ -79,20 +56,19 @@ const checkboxChangeFun = (data: any) => {
|
||||
chosenData.value = data.records;
|
||||
};
|
||||
|
||||
const fileName = ref('');
|
||||
const createTime = ref('');
|
||||
const fileSize = ref('');
|
||||
const fileSizeUnit = ref('');
|
||||
|
||||
// 搜索项插槽的参数
|
||||
/*
|
||||
当配置的搜索项无法满足需求时,可以自定义搜索项,
|
||||
(1)在参数配置中选择插槽
|
||||
(2)写插槽 插槽名称 #form-参数名
|
||||
(3)v-model:searchParams="searchParams" 中设置插槽部分的参数
|
||||
*/
|
||||
const searchParams = ref<any>({
|
||||
fileSize: '',
|
||||
fileSizeUnit: 'TB',
|
||||
});
|
||||
const unitList = ref(['TB', 'GB', 'MB', 'KB']);
|
||||
|
||||
const searchFun = () => {
|
||||
fileName.value = filterFormData.fileName;
|
||||
createTime.value = filterFormData.createTime;
|
||||
fileSize.value = filterFormData.fileSize;
|
||||
fileSizeUnit.value = filterFormData.fileSizeUnit;
|
||||
};
|
||||
|
||||
// 点击批量删除
|
||||
const clickDeleteFun = () => {
|
||||
ElMessageBox.confirm('是否确认删除该配置?', '提示', {
|
||||
@@ -131,21 +107,12 @@ const deleteFileFun = async (row:any) => {
|
||||
.setting-page{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.filter-form{
|
||||
|
||||
.el-form-item{
|
||||
margin-bottom: 0 !important;
|
||||
|
||||
.w80{
|
||||
width: 80px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.mr5{
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -28,9 +28,8 @@ import { ref, onMounted } from 'vue';
|
||||
import EchartCard from '@/components/common/echartCard/index.vue';
|
||||
import { getCommonCompleteStatisticsApi } from '@/api/project/node';
|
||||
import { getTaskAchieveStatisticsApi } from '@/api/project/task';
|
||||
import { useDict } from '@/utils/useDict';
|
||||
import { getThemeColor } from '@/utils/theme';
|
||||
import { TASK_PROCESS_STATUS_OBJ } from '@/utils/enum/task';
|
||||
import { TASK_PROCESS_STATUS_OBJ, TASK_PROCESS_STATUS } from '@/utils/enum/task';
|
||||
|
||||
// 进度状态颜色列表
|
||||
const statusColorList = [
|
||||
@@ -49,10 +48,10 @@ const achievementColorList = [
|
||||
|
||||
// ***************** 进度统计 *****************
|
||||
const ProjectTaskProgressChartRef = ref();
|
||||
const queryProjectTaskProgress = async () => {
|
||||
const getCommonOptionFun = async () => {
|
||||
let xData: any = [];
|
||||
const seriesData: any = [];
|
||||
let titles: any = [];
|
||||
let legendData: any = [];
|
||||
const res: any = await getCommonCompleteStatisticsApi({
|
||||
queryType: 'task',
|
||||
resultTagType: 'tag6',
|
||||
@@ -66,7 +65,7 @@ const queryProjectTaskProgress = async () => {
|
||||
return item.name;
|
||||
});
|
||||
|
||||
titles = res.data.allExeStatus.map((item: any) => {
|
||||
legendData = res.data.allExeStatus.map((item: any) => {
|
||||
return TASK_PROCESS_STATUS_OBJ[item];
|
||||
});
|
||||
|
||||
@@ -77,9 +76,19 @@ const queryProjectTaskProgress = async () => {
|
||||
const obj: any = {
|
||||
name: TASK_PROCESS_STATUS_OBJ[str],
|
||||
type: 'bar',
|
||||
stack: 'total', // 堆叠效果
|
||||
emphasis: {
|
||||
focus: 'series',
|
||||
},
|
||||
label: {
|
||||
show: false, // 暂不展示,效果很一般
|
||||
position: TASK_PROCESS_STATUS_OBJ[str] === TASK_PROCESS_STATUS_OBJ[TASK_PROCESS_STATUS.COMPLETED] ? 'right' : '',
|
||||
formatter: (params: any) => {
|
||||
return params.value ? TASK_PROCESS_STATUS_OBJ[str] === TASK_PROCESS_STATUS_OBJ[TASK_PROCESS_STATUS.COMPLETED]
|
||||
? `———${params.value}`
|
||||
: params.value : '';
|
||||
},
|
||||
},
|
||||
data: [],
|
||||
};
|
||||
|
||||
@@ -90,7 +99,15 @@ const queryProjectTaskProgress = async () => {
|
||||
seriesData.push(obj);
|
||||
}
|
||||
}
|
||||
console.log('进度统计', seriesData);
|
||||
return {
|
||||
xData,
|
||||
seriesData,
|
||||
legendData,
|
||||
};
|
||||
};
|
||||
const queryProjectTaskProgress = async () => {
|
||||
const { xData, seriesData, legendData } = await getCommonOptionFun();
|
||||
// console.log('进度统计', seriesData);
|
||||
ProjectTaskProgressChartRef.value.commonChartRef.disposeEchartsByKey('chart-progress');
|
||||
ProjectTaskProgressChartRef.value.commonChartRef.option = {
|
||||
color: statusColorList,
|
||||
@@ -103,7 +120,7 @@ const queryProjectTaskProgress = async () => {
|
||||
legend: {
|
||||
top: '0%',
|
||||
left: 'center',
|
||||
data: titles,
|
||||
data: legendData,
|
||||
// itemWidth: 12,
|
||||
// itemHeight: 12,
|
||||
},
|
||||
@@ -162,7 +179,7 @@ const queryProjectTaskAchievement = async () => {
|
||||
tag9: '',
|
||||
tag10: '',
|
||||
});
|
||||
console.log('达成统计', res.data.result);
|
||||
// console.log('达成统计', res.data.result);
|
||||
// 把res.data.allAchieveStatus数组转换为对象的key,value默认是0
|
||||
const achieveStatusObj: any = {};
|
||||
res.data.allAchieveStatus.forEach((item: any) => {
|
||||
@@ -174,7 +191,7 @@ const queryProjectTaskAchievement = async () => {
|
||||
achieveStatusObj[key] += item.statusCount[key];
|
||||
}
|
||||
});
|
||||
console.log('achieveStatusObj', achieveStatusObj);
|
||||
// console.log('achieveStatusObj', achieveStatusObj);
|
||||
|
||||
const seriesData = [
|
||||
{ value: 580, name: '未分析' },
|
||||
@@ -217,7 +234,7 @@ const queryProjectTaskAchievement = async () => {
|
||||
{
|
||||
name: '',
|
||||
type: 'pie',
|
||||
radius: ['0%', '55%'],
|
||||
radius: ['30%', '55%'],
|
||||
center: ['60%', '45%'],
|
||||
label: {
|
||||
formatter: (params: { name: any; percent: any; }) => {
|
||||
|
||||
Reference in New Issue
Block a user