mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 11:26:45 +08:00
fix: 部分bug修复
This commit is contained in:
@@ -35,6 +35,8 @@
|
||||
allowClear
|
||||
v-model:value="type"
|
||||
:options="typeOption"
|
||||
change-on-select
|
||||
expandTrigger="hover"
|
||||
:fieldNames="{
|
||||
label: 'name',
|
||||
value: 'name',
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
<div class="left">
|
||||
<div class="title">
|
||||
<div class="leftTile">学习内容</div>
|
||||
<div class="rightTile">
|
||||
<div class="rightTile" @click="exportThree">
|
||||
<img src="../../assets/svg/export.png" alt="" />
|
||||
<span>导出学习内容</span>
|
||||
</div>
|
||||
@@ -136,6 +136,7 @@
|
||||
<a-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择日期格式"
|
||||
@change="selectChange"
|
||||
:options="[
|
||||
{ label: '按日查找', value: 0 },
|
||||
{ label: '按月查找', value: 1 },
|
||||
@@ -148,9 +149,13 @@
|
||||
v-if="threeLeftType == 0"
|
||||
style="width: 100%"
|
||||
format="YYYY-MM-DD"
|
||||
v-model:value="threeDay"
|
||||
separator="至"
|
||||
@change="leftDayChange"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
@openChange="onOpenChange"
|
||||
@calendarChange="onCalendarChange"
|
||||
:disabled-date="disabledDate"
|
||||
/>
|
||||
<a-range-picker
|
||||
v-if="threeLeftType == 1"
|
||||
@@ -233,10 +238,10 @@ import "dayjs/locale/zh-cn";
|
||||
import { onMounted, ref, reactive, toRefs } from "vue";
|
||||
import * as api from "../../api/indexProject";
|
||||
import dayjs from "dayjs";
|
||||
// import axios from "axios";
|
||||
// import Cookies from "vue-cookies";
|
||||
// import downLoad from "../../utils/downLoad";
|
||||
// import { message } from "ant-design-vue";
|
||||
import axios from "axios";
|
||||
import Cookies from "vue-cookies";
|
||||
import downLoad from "../../utils/downLoad";
|
||||
import { message } from "ant-design-vue";
|
||||
export default {
|
||||
name: "OperationaL",
|
||||
setup() {
|
||||
@@ -244,6 +249,7 @@ export default {
|
||||
threeData: [],
|
||||
threeLeftType: 1,
|
||||
threeTime: [],
|
||||
threeDay: [],
|
||||
threeXData: [],
|
||||
});
|
||||
const surfaceRef = ref(null);
|
||||
@@ -251,6 +257,30 @@ export default {
|
||||
const surface2Ref = ref(null);
|
||||
const surface3Ref = ref(null);
|
||||
|
||||
const dates = ref();
|
||||
// const value = ref();
|
||||
const hackValue = ref();
|
||||
const onCalendarChange = (val) => {
|
||||
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,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -250,6 +250,7 @@ export default {
|
||||
//table 分页事件
|
||||
const changePagination = (page) => {
|
||||
state.pageNo = page;
|
||||
getTableData();
|
||||
};
|
||||
// table选中
|
||||
const onSelectChange = (selectedRowKeys) => {
|
||||
|
||||
Reference in New Issue
Block a user