diff --git a/src/views/report/Curriculum.vue b/src/views/report/Curriculum.vue
index 2e8e67e3..dea3c59a 100644
--- a/src/views/report/Curriculum.vue
+++ b/src/views/report/Curriculum.vue
@@ -35,6 +35,8 @@
allowClear
v-model:value="type"
:options="typeOption"
+ change-on-select
+ expandTrigger="hover"
:fieldNames="{
label: 'name',
value: 'name',
diff --git a/src/views/report/Operational.vue b/src/views/report/Operational.vue
index 98532a1f..d39f7e92 100644
--- a/src/views/report/Operational.vue
+++ b/src/views/report/Operational.vue
@@ -125,7 +125,7 @@
学习内容
-
+
导出学习内容
@@ -136,6 +136,7 @@
{
+ dates.value = val;
+ };
+ const onOpenChange = (open) => {
+ if (open) {
+ dates.value = [];
+ hackValue.value = [];
+ } else {
+ hackValue.value = undefined;
+ }
+ };
+ const disabledDate = (current) => {
+ if (!dates.value || dates.value.length === 0) {
+ return false;
+ }
+ const tooLate =
+ dates.value[0] && current.diff(dates.value[0], "days") > 60;
+ const tooEarly =
+ dates.value[1] && dates.value[1].diff(current, "days") > 60;
+ return tooEarly || tooLate;
+ };
// 获取第第三排第一个柱状图的数据
const leftMonthChange = async (e) => {
if (e?.length > 0) {
@@ -304,7 +334,7 @@ export default {
const project = [];
const router = [];
res?.data?.forEach((item) => {
- xData.push(item.xdata);
+ xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
item?.list?.forEach((iten) => {
if (iten.name == "course") {
course.push(iten.value);
@@ -315,9 +345,6 @@ export default {
}
});
});
- // options1.value.dataZoom[0].end=computedPosition(11,res?.data?.length)
- // console.log(computedPosition(1,res?.data?.length),'22222222222222222')
- // console.log(options1.value.dataZoom[0].end)
options1.value.xAxis.data = xData;
options1.value.series[0].data = course;
options1.value.series[1].data = project;
@@ -326,6 +353,76 @@ export default {
}
}
};
+ const selectChange = async (e) => {
+ if (e == 1) {
+ leftMonthChange(state.threeTime);
+ } else if (e == 0) {
+ leftDayChange(state.threeDay);
+ }
+ };
+ //第三排第一个柱状图导出数据
+ const exportThree = () => {
+ if (state.threeLeftType == 0) {
+ if (state.threeDay.length < 1) {
+ message.error("请选择要导出的时间日期后再进行导出");
+ } else {
+ const dayStart = dayjs(state.threeDay[0])
+ .startOf("day")
+ .format("YYYY-MM-DD 00:00:01");
+ const dayEnd = dayjs(state.threeDay[1])
+ .endOf("day")
+ .format("YYYY-MM-DD hh:mm:ss");
+ axios({
+ method: "post",
+ url: "/report/data/statistics/export/v1",
+ data: {
+ startTime: dayStart,
+ endTime: dayEnd,
+ dateType: state.threeLeftType,
+ },
+ responseType: "blob",
+ headers: {
+ token: Cookies.get("token"),
+ },
+ }).then(
+ (res) => {
+ downLoad(res.data, "学习内容.xlsx");
+ },
+ (err) => {
+ message.error(err);
+ }
+ );
+ }
+ } else if (state.threeLeftType == 1) {
+ if (state.threeData.length < 1) {
+ message.error("请选择要导出的月份后再进行导出");
+ } else {
+ const monthEnd = dayjs(state.threeData[1])
+ .endOf("month")
+ .format("YYYY-MM-DD hh:mm:ss");
+ axios({
+ method: "post",
+ url: "/report/data/statistics/export/v1",
+ data: {
+ startTime: dayjs(state.threeData[0]).format("YYYY-MM-01 00:00:01"),
+ endTime: monthEnd,
+ dateType: state.threeLeftType,
+ },
+ responseType: "blob",
+ headers: {
+ token: Cookies.get("token"),
+ },
+ }).then(
+ (res) => {
+ downLoad(res.data, "学习内容.xlsx");
+ },
+ (err) => {
+ message.error(err);
+ }
+ );
+ }
+ }
+ };
// 折线图配置项
const option = ref({
tooltip: {
@@ -392,7 +489,7 @@ export default {
type: "category",
data: [],
axisLabel: {
- interval: 1,
+ interval: 0,
},
},
yAxis: {
@@ -429,13 +526,13 @@ export default {
type: "slider",
show: true,
xAxisIndex: [0],
- start: 1,
- end: 35,
- brushSelect: false,
+ // start: 1,
+ // end: 35,
+ startValue: 0,
+ endValue: 5,
+ // brushSelect: false,
showDetail: false,
- startValue: 1,
- endValue: 7,
- zoomLock: true,
+ // zoomLock: true,
},
],
});
@@ -486,101 +583,26 @@ export default {
],
});
- // 图表1 数据源
- const echartOneData = ref([
- {
- time: "1月",
- person: 20,
- num: 220,
- long: 150,
- },
- {
- time: "2月",
- person: 32,
- num: 182,
- long: 232,
- },
- {
- time: "3月",
- person: 40,
- num: 191,
- long: 201,
- },
- {
- time: "4月",
- person: 1,
- num: 234,
- long: 154,
- },
- {
- time: "5月",
- person: 90,
- num: 290,
- long: 190,
- },
- {
- time: "6月",
- person: 30,
- num: 330,
- long: 330,
- },
- {
- time: "7月",
- person: 10,
- num: 310,
- long: 410,
- },
- ]);
-
- // 处理图表数据的方法
- // const changeData = () => {
- // const timeList = [];
- // const personList = [];
- // const numList = [];
- // const longList = [];
- // echartOneData.value?.forEach((item) => {
- // timeList.push(item.time);
- // personList.push(item.person);
- // numList.push(item.num);
- // longList.push(item.long);
- // });
- // // 处理x轴显示信息
- // option.value.xAxis.data = timeList;
- // // 右侧坐标轴数据
- // option.value.series[0].data = personList;
- // //左侧坐标轴数据
- // option.value.series[1].data = numList;
- // option.value.series[2].data = longList;
- // // 柱状图1
- // options1.value.xAxis.data = state.threeXData;
- // options1.value.series[0].data = personList;
- // options1.value.series[1].data = numList;
- // options1.value.series[2].data = longList;
- // };
// 生成echarts的方法
const createEcharts1 = () => {
- // changeData();
// 图表1
const myChart = echarts.init(surfaceRef.value);
option.value && myChart.setOption(option.value);
};
// 生成echarts的方法
const createEcharts2 = () => {
- // changeData();
// 图表2
const myChart1 = echarts.init(surface1Ref.value);
option.value && myChart1.setOption(option.value);
};
// 生成echarts的方法
const createEcharts3 = () => {
- // changeData();
// 图表3左侧图表
const myChart2 = echarts.init(surface2Ref.value);
options1.value && myChart2.setOption(options1.value);
};
// 生成echarts的方法
const createEcharts4 = () => {
- // changeData();
// 图表3 右侧图表
const myChart3 = echarts.init(surface3Ref.value);
options2.value && myChart3.setOption(options2.value);
@@ -591,13 +613,6 @@ export default {
state.threeTime = [dayjs(start), dayjs(monthEnd)];
leftMonthChange([dayjs(start), dayjs(monthEnd)]);
};
- // const computedPosition=(length,xArraylength)=> {
- // if(xArraylength>=10){
- // return length <= 10 ? 35 : (100 - Math.floor(35 / length * 100));
- // }else{
- // return 100;//小于十条数据显示全部
- // }
- // }
// 挂载完成
onMounted(() => {
createEcharts1();
@@ -608,13 +623,17 @@ export default {
});
return {
...toRefs(state),
+ exportThree,
+ disabledDate,
+ onCalendarChange,
+ onOpenChange,
surfaceRef,
surface1Ref,
surface2Ref,
surface3Ref,
- echartOneData,
leftMonthChange,
leftDayChange,
+ selectChange,
};
},
};
diff --git a/src/views/report/Project.vue b/src/views/report/Project.vue
index a1fc189f..e74d18d9 100644
--- a/src/views/report/Project.vue
+++ b/src/views/report/Project.vue
@@ -200,10 +200,6 @@ export default {
selectedRowKeys: [], // 选中的列
status: null,
stateOptions: [
- {
- label: "草稿",
- value: 0,
- },
{
label: "提交待审核",
value: 1,
@@ -220,18 +216,6 @@ export default {
label: "发布",
value: 4,
},
- {
- label: "已结束",
- value: -1,
- },
- {
- label: "删除",
- value: -2,
- },
- {
- label: "撤回审核",
- value: -3,
- },
{
label: "撤回发布",
value: -4,
@@ -317,7 +301,7 @@ export default {
axios({
method: "post",
url: "/report/boeu/project/exportDetailAll",
- data: { params },
+ data: params ,
responseType: "blob",
headers: {
token: Cookies.get("token"),
diff --git a/src/views/report/Questionsandanswers.vue b/src/views/report/Questionsandanswers.vue
index c084ef7a..8327b5b5 100644
--- a/src/views/report/Questionsandanswers.vue
+++ b/src/views/report/Questionsandanswers.vue
@@ -250,6 +250,7 @@ export default {
//table 分页事件
const changePagination = (page) => {
state.pageNo = page;
+ getTableData();
};
// table选中
const onSelectChange = (selectedRowKeys) => {