Merge branch 'compulsory_professional_skills' into master_1202

This commit is contained in:
joshen
2025-03-01 01:05:49 +08:00
9 changed files with 175 additions and 170 deletions

View File

@@ -18,8 +18,8 @@ import { boeRequest } from "@/api/request";
// "application/x-www-form-urlencoded";
axios.defaults.withCredentials = true;
const http = axios.create({
// baseURL: '/growth',
baseURL: process.env.VUE_APP_BASE_API_GROWTH,
baseURL: '/growth',
// baseURL: process.env.VUE_APP_BASE_API_GROWTH,
timeout: 1000 * 15,
// headers: { "Content-Type": "multipart/form-data" },
headers: { "Content-Type": "application/json" },
@@ -54,7 +54,7 @@ http.interceptors.response.use(
const {
data: { code, msg, show },
} = response;
if (code === 0 || code === 200) {
if (code === 0 || code === 200 || response?.data?.status == 200) {
return response;
} else if (code === 1000) {
window.location.href = process.env.VUE_APP_LOGIN_URL + encodeURIComponent(window.location.protocol + process.env.VUE_APP_BOE_API_URL + process.env.VUE_APP_BASE + router.currentRoute.value.fullPath)

View File

@@ -87,7 +87,7 @@ export const taskCompletionRate = (growthId) => http.get('/professional/manageme
export const getStudyStatisticsList = (data) => http.post('/professional/statics/getStudyStatisticsList', data)
// 专业力列表
export const boeuGrowthPlatePageList = (obj) => http.post('/boeu/growth/pageList', obj)
export const boeuGrowthPlatePageList = (obj) => http.post('/boeu/grow/pageList', obj)
// 是否按顺序学习

View File

@@ -32,4 +32,4 @@ export const boeuCasePlatePageList = (obj) => http.post('/boeu/case/pageList', o
// 专业力列表
export const boeuGrowthPlatePageList = (obj) => http.post('/boeu/growth/pageList', obj)
export const boeuGrowthPlatePageList = (obj) => http.post('/boeu/grow/pageList', obj)

View File

@@ -668,7 +668,7 @@
<div class="img"></div>
</template>
<template #title>版块详细数据</template>
<!-- <a-menu-item key="sub17-2-8" v-if="checkMenu('growthpathmap')">
<a-menu-item key="sub17-2-8" v-if="checkMenu('growthpathmap')">
<span
:class="{
circleActive: selectedKeys[0] === 'sub17-2-8' ? true : false,
@@ -676,7 +676,7 @@
}"
></span>
<router-link to="/growthpathmap">专业力必修</router-link>
</a-menu-item> -->
</a-menu-item>
<a-menu-item key="sub17-2-1" v-if="checkMenu('learningpathmap')">
<span
:class="{

View File

@@ -363,14 +363,14 @@ export default {
width: 120,
align: "center",
},
// {
// title: "专业力学习",
// dataIndex: "growthStudy",
// ellipsis: true,
// key: "growthStudy",
// width: 120,
// align: "center",
// },
{
title: "专业力学习",
dataIndex: "growthStudy",
ellipsis: true,
key: "growthStudy",
width: 120,
align: "center",
},
{
title: "学习时长",
dataIndex: "learningDuration",

View File

@@ -68,7 +68,7 @@
<div class="echartsTwo">
<div class="title">
<div class="left">学习情况</div>
<div class="right" @click="exportTwoData" v-show="towParmasn.type != 2">
<div class="right" @click="exportTwoData" v-show="towParmasn.type != 2 && towParmasn.type != 7">
<img src="../../assets/images/coursewareManage/export1.png" alt="" />
<span>导出学习情况</span>
</div>
@@ -106,10 +106,10 @@
label: '学习路径图',
value: 6,
},
// {
// label: '专业力必修',
// value: 7,
// },
{
label: '专业力必修',
value: 7,
},
]"
></a-select>
</div>

View File

@@ -392,7 +392,7 @@ export default {
{ text: "课程", num: res.data.result?.courseTotal },
{ text: "考试", num: res.data.result?.examTotal },
{ text: "案例", num: res.data.result?.caseTotal },
// { text: "专业力", num: res.data.result?.growthTotal },
{ text: "专业力", num: res.data.result?.growthTotal },
];
tabData.value = list;
});
@@ -460,7 +460,19 @@ export default {
if (!state.selectedRowKeys?.length) {
return message.warning("请至少选择一条数据进行导出");
} else {
if (state.currentTab === 5) {
if (state.currentTab === 6) {
axios({
method: "get",
url: "/report/boeu/grow/export",
params: { ids: `${state.selectedRowKeys}` },
responseType: "blob",
headers: {
token: Cookies.get("token"),
},
}).then((res) => {
downLoad(res.data, "专业力必修.xlsx");
});
} else if (state.currentTab === 5) {
axios({
method: "get",
url: "/report/boeu/case/export",
@@ -537,7 +549,32 @@ export default {
};
// 全部导出接口
const exportClickAll = async () => {
if (state.currentTab === 5) {
if (state.currentTab === 6) {
axios({
method: "post",
url: "/report/boeu/grow/exportAll",
data: {
startTime:
typeof state.publishTime[0] === "undefined"
? null
: state.publishTime[0] + " 00:00:01",
endTime:
typeof state.publishTime[1] === "undefined"
? null
: state.publishTime[1] + " 23:59:59",
qualsLevelDesr: state.qualsLevelDesr,
stdPositionDesr: state.stdPositionDesr,
page: state.pageNo,
size: state.pageSize,
},
responseType: "blob",
headers: {
token: Cookies.get("token"),
},
}).then((res) => {
downLoad(res.data, "专业力必修.xlsx");
});
} else if (state.currentTab === 5) {
axios({
method: "post",
url: "/report/boeu/case/exportAll",
@@ -1009,7 +1046,7 @@ export default {
{ text: "课程", num: "11" },
{ text: "考试", num: "10" },
{ text: "案例", num: "10" },
// { text: "专业力必修", num: "10" },
{ text: "专业力必修", num: "10" },
]);
const tabClick = (index) => {
state.selectedRowKeys = [];
@@ -1670,15 +1707,15 @@ export default {
];
} else if (index === 6) {
columns.value = [
{
title: "专业力必修",
dataIndex: "growthName",
key: "growthName",
width: 200,
ellipsis: true,
align: "center",
fixed: "left",
},
// {
// title: "专业力必修",
// dataIndex: "growthName",
// key: "growthName",
// width: 200,
// ellipsis: true,
// align: "center",
// fixed: "left",
// },
{
title: "标准岗位名称",
dataIndex: "stdPositionDesr",

View File

@@ -48,7 +48,7 @@
</div>
</div>
<!-- 以下为导出按钮 -->
<!-- <div class="btnzs">
<div class="btnzs">
<div class="btnz btnz3" @click="exportAllbtnz">
<div>
<img src="../../assets/images/coursewareManage/export1.png" alt="" />
@@ -61,11 +61,11 @@
</div>
<div class="btnzText">导出详细信息</div>
</div>
</div> -->
</div>
<!-- 以下为table表格 -->
<div class="tableBox">
<a-table
rowKey="boeRouterInfoId"
rowKey="id"
:columns="columns"
:data-source="tableData"
:loading="tableLoading"
@@ -130,9 +130,7 @@ import { ref, toRefs, reactive, onMounted } from "vue";
import downLoad from "../../utils/downLoad";
import Cookies from "vue-cookies";
import axios from "axios";
import {
listData,
} from "@/api/growthpath";
import { listData } from "@/api/growthpath";
import dayjs from "dayjs";
import { useStore } from "vuex";
export default {
@@ -202,7 +200,7 @@ export default {
ellipsis: true,
key: "band",
align: "center",
width: 90,
width: 110,
},
{
title: "总人数",
@@ -244,7 +242,7 @@ export default {
align: "center",
width: 90,
customRender: ({ record: { comLearnNum, learnNum } }) =>
`${((comLearnNum / learnNum) * 100).toFixed()}%`,
learnNum && `${((comLearnNum / learnNum) * 100).toFixed()}%`,
},
{
title: "发布时间",
@@ -252,7 +250,7 @@ export default {
ellipsis: true,
key: "publishTime",
align: "center",
width: 120,
width: 140,
},
{
title: "发布状态",
@@ -270,38 +268,38 @@ export default {
ellipsis: true,
key: "createTime",
align: "center",
width: 120,
width: 140,
},
{
title: "操作",
dataIndex: "operation",
key: "operation",
width: 200,
align: "center",
fixed: "right",
customRender: ({ record }) => {
return (
<div>
<a
key="export"
onClick={() => {
oneCurrentExport(record);
}}
>
导出学习记录
</a>
</div>
);
},
},
// {
// title: "操作",
// dataIndex: "operation",
// key: "operation",
// width: 200,
// align: "center",
// fixed: "right",
// customRender: (record) => {
// return (
// <div>
// <a
// key="export"
// onClick={() => {
// oneCurrentExport(record);
// }}
// >
// 导出学习记录
// </a>
// </div>
// );
// },
// },
]);
// 导出当前数据
const oneCurrentExport = (record) => {
axios({
method: "post",
url: "/report/boeu/router/exportCurrentRecord",
data: { routerId: `${record.record.boeRouterInfoId}` },
method: "get",
url: "/report/boeu/grow/exportGrowth",
params: { ids: `${record.id}` },
responseType: "blob",
headers: {
token: Cookies.get("token"),
@@ -357,11 +355,30 @@ export default {
};
//导出详细信息
const exportbtnz = async () => {
if (state.selectedRowKeys?.length > 0) {
if (!state.selectedRowKeys?.length) {
message.warning("请选择要导出的数据");
return;
}
const params = {
pageNum: state.pageNum,
pageSize: state.pageSize,
stdPositionDesr: state.stdPositionDesr,
qualsLevelDesr: state.qualsLevelDesr,
isPublished: state.isPublished,
ids: state.selectedRowKeys.toString(),
startTime:
typeof state.publishTime[0] === "undefined"
? null
: state.publishTime[0] + " 00:00:01",
endTime:
typeof state.publishTime[1] == "undefined"
? null
: state.publishTime[1] + " 23:59:59",
};
axios({
method: "post",
url: "/report/boeu/router/exportCurrentRecord",
data: { routerIdList: state.selectedRowKeys },
method: "get",
url: "/report/boeu/grow/exportGrowth",
params,
responseType: "blob",
headers: {
token: Cookies.get("token"),
@@ -372,62 +389,16 @@ export default {
(err) => {
message.error(err);
};
} else {
const params = {
createName: state.createName,
// publishTime: state.publishTime,
startTime:
typeof state.publishTime[0] === "undefined"
? null
: state.publishTime[0] + " 00:00:01",
endTime:
typeof state.publishTime[1] == "undefined"
? null
: state.publishTime[1] + " 23:59:59",
routerName: state.routerName,
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
};
axios({
method: "post",
url: "/report/boeu/router/exportCurrentRecord",
data: params,
responseType: "blob",
headers: {
token: Cookies.get("token"),
},
}).then((res) => {
if (res.data.status && res.data.status == 600) {
message.error(res.data.status);
} else {
downLoad(res.data, "专业力必修详细信息.xlsx");
}
}),
(err) => {
message.error(err);
};
}
};
// 导出列表信息
const exportAllbtnz = async () => {
if (state.selectedRowKeys?.length > 0) {
axios({
method: "post",
url: "/report/boeu/router/exportList",
data: { routerIdList: state.selectedRowKeys },
responseType: "blob",
headers: {
token: Cookies.get("token"),
},
}).then((res) => {
downLoad(res.data, "专业力必修列表信息.xlsx");
}),
(err) => {
message.error(err);
};
} else {
const params = {
createName: state.createName,
// publishTime: state.publishTime,
pageNum: state.pageNum,
pageSize: state.pageSize,
stdPositionDesr: state.stdPositionDesr,
qualsLevelDesr: state.qualsLevelDesr,
isPublished: state.isPublished,
ids: state.selectedRowKeys.toString(),
startTime:
typeof state.publishTime[0] === "undefined"
? null
@@ -436,12 +407,10 @@ export default {
typeof state.publishTime[1] == "undefined"
? null
: state.publishTime[1] + " 23:59:59",
routerName: state.routerName,
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
};
axios({
method: "post",
url: "/report/boeu/router/exportList",
url: "/report/boeu/grow/exportGrowthAll",
data: params,
responseType: "blob",
headers: {
@@ -453,7 +422,6 @@ export default {
(err) => {
message.error(err);
};
}
};
onMounted(() => {
state.tableLoading = true;

View File

@@ -18,16 +18,16 @@ module.exports = defineConfig({
overlay: false,// 解决代码抛出异常
},
proxy: {
"/professional": {
target: 'http://192.168.31.211:32002',
// target: 'http://192.168.50.195:32002',
// target: 'http://192.168.86.195:32002',
changeOrigin: true,
},
// "/growth": {
// target: 'https:' + process.env.VUE_APP_BOE_API_URL,
// "/professional": {
// target: 'http://192.168.31.211:32002',
// // target: 'http://192.168.50.195:32002',
// // target: 'http://192.168.86.195:32002',
// changeOrigin: true,
// },
"/growth": {
target: 'https:' + process.env.VUE_APP_BOE_API_URL,
changeOrigin: true,
},
"/manageApi": {
target: 'https:' + process.env.VUE_APP_PROXY_URL,
changeOrigin: true, //表示是否改变原域名