mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 11:26:45 +08:00
报表合并到生产
This commit is contained in:
@@ -8,7 +8,7 @@ export const boeuExamPageList = (obj) => http.post('/boeu/exam/pageList', obj)
|
|||||||
//概览页面案例列表请求接口
|
//概览页面案例列表请求接口
|
||||||
export const boeuCasePageList = (obj) => http.post('/boeu/case/pageList', obj)
|
export const boeuCasePageList = (obj) => http.post('/boeu/case/pageList', obj)
|
||||||
// 请求组织接口
|
// 请求组织接口
|
||||||
export const userGetUserOrg = (obj) => http.post('/org/getUserOrg', obj)
|
export const userGetUserOrg = (obj) => https.get(`/organization/all/tree`,obj)
|
||||||
// 请求所属组织接口
|
// 请求所属组织接口
|
||||||
export const userInfo = (obj) => https.post('/user/info', obj)
|
export const userInfo = (obj) => https.post('/user/info', obj)
|
||||||
// 课程列表接口
|
// 课程列表接口
|
||||||
@@ -21,6 +21,8 @@ export const boeuRoterPageList = (obj) => http.post('/boeu/router/pageList', obj
|
|||||||
export const boeuProjectPageList = (obj) => http.post('/boeu/project/pageList', obj)
|
export const boeuProjectPageList = (obj) => http.post('/boeu/project/pageList', obj)
|
||||||
// 学习数据列表
|
// 学习数据列表
|
||||||
export const boeuStudyDataPageList = (obj) => http.post('/boeu/studyData/pageList', obj)
|
export const boeuStudyDataPageList = (obj) => http.post('/boeu/studyData/pageList', obj)
|
||||||
|
// 考试列表分页
|
||||||
|
export const boeuExamPageListV2 = (obj) => http.post('/boeu/exam/pageList/v2', obj )
|
||||||
// 概览页面 tab头数据
|
// 概览页面 tab头数据
|
||||||
export const boeuAllTotal = (obj) => http.get('/boeu/all/total', obj)
|
export const boeuAllTotal = (obj) => http.get('/boeu/all/total', obj)
|
||||||
// 路径图列表
|
// 路径图列表
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import http from "./configz";
|
import http from "./configz";
|
||||||
import https from './confign'
|
import https from './confign'
|
||||||
// 请求组织接口
|
// 请求组织接口
|
||||||
export const userGetUserOrg = (obj) => https.post('/user/getUserOrg', obj)
|
export const userGetUserOrg = (obj) => https.get('/organization/all/tree', obj)
|
||||||
// 请求所属组织接口
|
// 请求所属组织接口
|
||||||
export const userInfo = (obj) => https.post('/user/info', obj)
|
export const userInfo = (obj) => https.post('/user/info', obj)
|
||||||
// 项目列表
|
// 项目列表
|
||||||
|
|||||||
@@ -423,7 +423,7 @@
|
|||||||
<router-link to="/download">下载中心</router-link>
|
<router-link to="/download">下载中心</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<!-- 20230804影藏 20230815放开-->
|
<!-- 20230804影藏 20230815放开-->
|
||||||
<a-sub-menu key="sub17">
|
<a-sub-menu key="sub17" v-if="checkMenu('operational,learningpathmap,reportproject,curriculum,caseess,reportarticle,questionsandanswers,reportexamination,overvoew,employeelearning')">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
@@ -433,7 +433,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #title>报表中心</template>
|
<template #title>报表中心</template>
|
||||||
<a-menu-item key="sub17-1">
|
<a-menu-item key="sub17-1" v-if="checkMenu('operational')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-1' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-1' ? true : false,
|
||||||
@@ -442,12 +442,12 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/operational">运营数据概览</router-link>
|
<router-link to="/operational">运营数据概览</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-sub-menu key="sub17-2" class="treeMenu">
|
<a-sub-menu key="sub17-2" class="treeMenu" v-if="checkMenu('learningpathmap,reportproject,curriculum,caseess,reportarticle,questionsandanswers,reportexamination')">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
</template>
|
</template>
|
||||||
<template #title>版块详细数据</template>
|
<template #title>版块详细数据</template>
|
||||||
<a-menu-item key="sub17-2-1">
|
<a-menu-item key="sub17-2-1" v-if="checkMenu('learningpathmap')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-2-1' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-2-1' ? true : false,
|
||||||
@@ -456,7 +456,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/learningpathmap">学习路径图</router-link>
|
<router-link to="/learningpathmap">学习路径图</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub17-2-2">
|
<a-menu-item key="sub17-2-2" v-if="checkMenu('reportproject')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-2-2' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-2-2' ? true : false,
|
||||||
@@ -465,7 +465,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/reportproject">项目</router-link>
|
<router-link to="/reportproject">项目</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub17-2-3">
|
<a-menu-item key="sub17-2-3" v-if="checkMenu('curriculum')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-2-3' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-2-3' ? true : false,
|
||||||
@@ -474,7 +474,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/curriculum">课程</router-link>
|
<router-link to="/curriculum">课程</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub17-2-4">
|
<a-menu-item key="sub17-2-4" v-if="checkMenu('caseess')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-2-4' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-2-4' ? true : false,
|
||||||
@@ -483,7 +483,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/caseess">案例</router-link>
|
<router-link to="/caseess">案例</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub17-2-5">
|
<a-menu-item key="sub17-2-5" v-if="checkMenu('reportarticle')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-2-5' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-2-5' ? true : false,
|
||||||
@@ -492,7 +492,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/reportarticle">文章</router-link>
|
<router-link to="/reportarticle">文章</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub17-2-6">
|
<a-menu-item key="sub17-2-6" v-if="checkMenu('questionsandanswers')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-2-6' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-2-6' ? true : false,
|
||||||
@@ -501,7 +501,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/questionsandanswers">问答</router-link>
|
<router-link to="/questionsandanswers">问答</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub17-2-7">
|
<a-menu-item key="sub17-2-7" v-if="checkMenu('reportexamination')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-2-7' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-2-7' ? true : false,
|
||||||
@@ -511,12 +511,12 @@
|
|||||||
<router-link to="/reportexamination">考试</router-link>
|
<router-link to="/reportexamination">考试</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-sub-menu>
|
</a-sub-menu>
|
||||||
<a-sub-menu key="sub17-3" class="treeMenu">
|
<a-sub-menu key="sub17-3" class="treeMenu" v-if="checkMenu('overvoew,employeelearning')">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
</template>
|
</template>
|
||||||
<template #title>组织学习数据</template>
|
<template #title>组织学习数据</template>
|
||||||
<a-menu-item key="sub17-3-1">
|
<a-menu-item key="sub17-3-1" v-if="checkMenu('overvoew')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-3-1' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-3-1' ? true : false,
|
||||||
@@ -525,7 +525,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<router-link to="/overvoew">概览</router-link>
|
<router-link to="/overvoew">概览</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub17-3-2">
|
<a-menu-item key="sub17-3-2" v-if="checkMenu('employeelearning')">
|
||||||
<span
|
<span
|
||||||
:class="{
|
:class="{
|
||||||
circleActive: selectedKeys[0] === 'sub17-3-2' ? true : false,
|
circleActive: selectedKeys[0] === 'sub17-3-2' ? true : false,
|
||||||
@@ -639,7 +639,9 @@
|
|||||||
<router-link to="/download">问答</router-link>
|
<router-link to="/download">问答</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub18" v-if="checkMenu('OldSystemManage')">
|
<a-menu-item key="sub18" v-if="checkMenu('OldSystemManage')">
|
||||||
|
|
||||||
<router-link target="_blank" to="/oldsystemmanage">旧版</router-link>
|
<router-link target="_blank" to="/oldsystemmanage">旧版</router-link>
|
||||||
|
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub19" v-if="checkMenu('ReadingClubManage')">
|
<a-menu-item key="sub19" v-if="checkMenu('ReadingClubManage')">
|
||||||
<router-link to="/readingclubmanage">业务</router-link>
|
<router-link to="/readingclubmanage">业务</router-link>
|
||||||
|
|||||||
@@ -3,6 +3,22 @@
|
|||||||
<div class="caseess">
|
<div class="caseess">
|
||||||
<!-- 以下为顶部搜索框 -->
|
<!-- 以下为顶部搜索框 -->
|
||||||
<div class="filter">
|
<div class="filter">
|
||||||
|
<div class="select">
|
||||||
|
<a-cascader
|
||||||
|
change-on-select
|
||||||
|
:options="option"
|
||||||
|
v-model:value="orgId"
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="请选择归属组织"
|
||||||
|
:allowClear = false
|
||||||
|
:fieldNames="{
|
||||||
|
label: 'orgName',
|
||||||
|
value: 'organizationId',
|
||||||
|
children: 'childList',
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
</a-cascader>
|
||||||
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-input
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
@@ -23,6 +39,15 @@
|
|||||||
>
|
>
|
||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="publishTime"
|
||||||
|
type="date"
|
||||||
|
valueFormat="YYYY-MM-DD"
|
||||||
|
:placeholder="['发布开始时间','结束时间']"
|
||||||
|
style="width: 100%; margin-right: 0px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="searchData">
|
<div class="btnzx btnzx1" @click="searchData">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -100,9 +125,11 @@ import * as api from "../../api/indexOvervoew";
|
|||||||
import downLoad from "../../utils/downLoad";
|
import downLoad from "../../utils/downLoad";
|
||||||
import Cookies from "vue-cookies";
|
import Cookies from "vue-cookies";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
import {useStore} from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
name: "CaseesS",
|
name: "CaseesS",
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableLoading: false, // table加载图标
|
tableLoading: false, // table加载图标
|
||||||
tableDataTotal: 0, // 数据总条数
|
tableDataTotal: 0, // 数据总条数
|
||||||
@@ -112,7 +139,12 @@ export default {
|
|||||||
title: "",
|
title: "",
|
||||||
author: "",
|
author: "",
|
||||||
authorName: "",
|
authorName: "",
|
||||||
|
publishTime: "", // 发布时间
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
|
orgId: null, // 状态值
|
||||||
|
option: [], // 组织列表
|
||||||
|
allowClear: true,
|
||||||
|
resetOrgId: [],
|
||||||
});
|
});
|
||||||
// 表格数据
|
// 表格数据
|
||||||
let tableData = ref([]);
|
let tableData = ref([]);
|
||||||
@@ -123,15 +155,54 @@ export default {
|
|||||||
return item.id;
|
return item.id;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
//请求组织接口
|
||||||
|
const getOrgList = async () => {
|
||||||
|
//todo 获取用户角色列表,判断里面是否有system-admin
|
||||||
|
// let roleList = store.state.userInfo.roleList;
|
||||||
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
|
manageFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const res = await api.userGetUserOrg();
|
||||||
|
if (res) {
|
||||||
|
if(manageFlag){
|
||||||
|
state.option = [{
|
||||||
|
orgName:"全部",
|
||||||
|
organizationId: null,
|
||||||
|
childList:res.data?.result.orgTreeList
|
||||||
|
}];
|
||||||
|
state.orgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
state.resetOrgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
}else{
|
||||||
|
if(res.data?.result.orgTreeList!=null){
|
||||||
|
state.option = res.data?.result.orgTreeList;
|
||||||
|
state.orgId = res.data?.result.treeNodeList;
|
||||||
|
state.resetOrgId = res.data?.result.treeNodeList;
|
||||||
|
}else{
|
||||||
|
state.option = [{
|
||||||
|
orgName:"无权限",
|
||||||
|
organizationId: "1",
|
||||||
|
childList:[],
|
||||||
|
}];
|
||||||
|
state.orgId = ["1"];
|
||||||
|
state.resetOrgId = ["1"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getTableData();
|
||||||
|
}
|
||||||
|
};
|
||||||
// cloumns 表头
|
// cloumns 表头
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
// {
|
||||||
title: "编号",
|
// title: "编号",
|
||||||
dataIndex: "num",
|
// dataIndex: "num",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
key: "num",
|
// key: "num",
|
||||||
align: "center",
|
// align: "center",
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "案例名称",
|
title: "案例名称",
|
||||||
dataIndex: "title",
|
dataIndex: "title",
|
||||||
@@ -146,6 +217,13 @@ export default {
|
|||||||
key: "orgDomain",
|
key: "orgDomain",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "案例分类",
|
||||||
|
// dataIndex: "majorType1",
|
||||||
|
// ellipsis: true,
|
||||||
|
// key: "majorType1",
|
||||||
|
// align: "center",
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: "专业分类",
|
title: "专业分类",
|
||||||
dataIndex: "majorType",
|
dataIndex: "majorType",
|
||||||
@@ -160,6 +238,13 @@ export default {
|
|||||||
key: "views",
|
key: "views",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "点赞量",
|
||||||
|
dataIndex: "praises",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "praises",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "评论数",
|
title: "评论数",
|
||||||
dataIndex: "comments",
|
dataIndex: "comments",
|
||||||
@@ -167,13 +252,13 @@ export default {
|
|||||||
key: "comments",
|
key: "comments",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "分享量",
|
// title: "分享量",
|
||||||
dataIndex: "shares",
|
// dataIndex: "shares",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
key: "shares",
|
// key: "shares",
|
||||||
align: "center",
|
// align: "center",
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "收藏数",
|
title: "收藏数",
|
||||||
dataIndex: "favorites",
|
dataIndex: "favorites",
|
||||||
@@ -189,12 +274,19 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: "创建人/作者",
|
||||||
dataIndex: "caseScope",
|
dataIndex: "authorName",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "caseScope",
|
key: "authorName",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "状态",
|
||||||
|
// dataIndex: "caseScope",
|
||||||
|
// ellipsis: true,
|
||||||
|
// key: "caseScope",
|
||||||
|
// align: "center",
|
||||||
|
// },
|
||||||
]);
|
]);
|
||||||
// table 分页事件
|
// table 分页事件
|
||||||
const changePagination = (page) => {
|
const changePagination = (page) => {
|
||||||
@@ -207,15 +299,19 @@ export default {
|
|||||||
const res = await api.boeuCasePlatePageList({
|
const res = await api.boeuCasePlatePageList({
|
||||||
page: state.pageNo,
|
page: state.pageNo,
|
||||||
size: state.pageSize,
|
size: state.pageSize,
|
||||||
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
title: state.title,
|
title: state.title,
|
||||||
author: state.author,
|
author: state.author,
|
||||||
authorName: state.authorName,
|
authorName: state.authorName,
|
||||||
|
// publishTime: state.publishTime,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
boeRouterInfoName: state.boeRouterInfoName,
|
boeRouterInfoName: state.boeRouterInfoName,
|
||||||
});
|
});
|
||||||
if (res) {
|
if (res) {
|
||||||
console.log(res.data, "res.data");
|
console.log(res.data, "res.data");
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.id,
|
key: item.id,
|
||||||
...item,
|
...item,
|
||||||
@@ -232,6 +328,7 @@ export default {
|
|||||||
state.title = "";
|
state.title = "";
|
||||||
state.authorName = "";
|
state.authorName = "";
|
||||||
state.author = "";
|
state.author = "";
|
||||||
|
state.publishTime = [];
|
||||||
getTableData();
|
getTableData();
|
||||||
};
|
};
|
||||||
const searchData = async () => {
|
const searchData = async () => {
|
||||||
@@ -262,6 +359,9 @@ export default {
|
|||||||
size: state.pageSize,
|
size: state.pageSize,
|
||||||
title: state.title,
|
title: state.title,
|
||||||
author: state.author,
|
author: state.author,
|
||||||
|
// publishTime: state.publishTime,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
};
|
};
|
||||||
axios({
|
axios({
|
||||||
method: "post",
|
method: "post",
|
||||||
@@ -280,7 +380,8 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTableData();
|
getOrgList();
|
||||||
|
// getTableData();
|
||||||
state.tableLoading = true;
|
state.tableLoading = true;
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
@@ -313,7 +414,7 @@ export default {
|
|||||||
.select {
|
.select {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
width: calc((100% - 76px - 200px) / 2);
|
width: calc((100% - 76px - 240px) / 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnz {
|
.btnz {
|
||||||
|
|||||||
@@ -3,6 +3,22 @@
|
|||||||
<div class="curriculum">
|
<div class="curriculum">
|
||||||
<!-- 以下为顶部搜索框 -->
|
<!-- 以下为顶部搜索框 -->
|
||||||
<div class="filter">
|
<div class="filter">
|
||||||
|
<div class="select">
|
||||||
|
<a-cascader
|
||||||
|
change-on-select
|
||||||
|
:options="option"
|
||||||
|
v-model:value="orgId"
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="请选择归属组织"
|
||||||
|
:allowClear="allowClear"
|
||||||
|
:fieldNames="{
|
||||||
|
label: 'orgName',
|
||||||
|
value: 'organizationId',
|
||||||
|
children: 'childList',
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
</a-cascader>
|
||||||
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-input
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
@@ -14,19 +30,14 @@
|
|||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-cascader
|
<a-input
|
||||||
:options="option"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
placeholder="请选择组织"
|
placeholder="请输入创建者"
|
||||||
v-model:value="orgId"
|
allowClear
|
||||||
:allowClear="allowClear"
|
showSearch
|
||||||
style="width: 100%"
|
v-model:value="createName"
|
||||||
:fieldNames="{
|
|
||||||
label: 'name',
|
|
||||||
value: 'id',
|
|
||||||
children: 'treeChildList',
|
|
||||||
}"
|
|
||||||
>
|
>
|
||||||
</a-cascader>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-cascader
|
<a-cascader
|
||||||
@@ -45,14 +56,13 @@
|
|||||||
></a-cascader>
|
></a-cascader>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-range-picker
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
v-model:value="publishTime"
|
||||||
placeholder="请输入创建者"
|
type="date"
|
||||||
allowClear
|
valueFormat="YYYY-MM-DD"
|
||||||
showSearch
|
:placeholder="['发布开始时间','结束时间']"
|
||||||
v-model:value="createName"
|
style="width: 100%; margin-right: 0px"
|
||||||
>
|
/>
|
||||||
</a-input>
|
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="searchData">
|
<div class="btnzx btnzx1" @click="searchData">
|
||||||
@@ -141,9 +151,11 @@ import axios from "axios";
|
|||||||
import Cookies from "vue-cookies";
|
import Cookies from "vue-cookies";
|
||||||
import downLoad from "../../utils/downLoad";
|
import downLoad from "../../utils/downLoad";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
|
import {useStore} from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
name: "CurriculuM",
|
name: "CurriculuM",
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableLoading: false, // table加载图标
|
tableLoading: false, // table加载图标
|
||||||
tableDataTotal: 0, // 数据总条数
|
tableDataTotal: 0, // 数据总条数
|
||||||
@@ -154,7 +166,8 @@ export default {
|
|||||||
name: "",
|
name: "",
|
||||||
type: null,
|
type: null,
|
||||||
createName: "",
|
createName: "",
|
||||||
allowClear: true,
|
publishTime: "", // 发布时间
|
||||||
|
allowClear: false,
|
||||||
option: [],
|
option: [],
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
typeOption:[]
|
typeOption:[]
|
||||||
@@ -168,15 +181,43 @@ export default {
|
|||||||
const getOption = async () => {};
|
const getOption = async () => {};
|
||||||
//请求组织接口
|
//请求组织接口
|
||||||
const getOrgList = async () => {
|
const getOrgList = async () => {
|
||||||
const result = await api.userGetUserOrg({});
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
if (result) {
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
state.option = result.data?.result?.list;
|
manageFlag = true;
|
||||||
state.orgId = result.data?.result?.treeNodeList;
|
break;
|
||||||
state.resetOrgId = result.data?.result?.treeNodeList;
|
}
|
||||||
result.data?.result?.userType === 1
|
}
|
||||||
? (state.allowClear = true)
|
let params = {
|
||||||
: (state.allowClear = false);
|
roleList: store.state.userInfo.roleList,
|
||||||
|
userId: store.state.userInfo.userId
|
||||||
|
}
|
||||||
|
const res = await api.userGetUserOrg(params);
|
||||||
|
if (res) {
|
||||||
|
if(manageFlag){
|
||||||
|
state.option = [{
|
||||||
|
orgName:"全部",
|
||||||
|
organizationId: null,
|
||||||
|
childList:res.data?.result.orgTreeList
|
||||||
|
}];
|
||||||
|
state.orgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
state.resetOrgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
}else{
|
||||||
|
if(res.data?.result.orgTreeList!=null){
|
||||||
|
state.option = res.data?.result.orgTreeList;
|
||||||
|
state.orgId = res.data?.result.treeNodeList;
|
||||||
|
state.resetOrgId = res.data?.result.treeNodeList;
|
||||||
|
}else{
|
||||||
|
state.option = [{
|
||||||
|
orgName:"无权限",
|
||||||
|
organizationId: "1",
|
||||||
|
childList:[],
|
||||||
|
}];
|
||||||
|
state.orgId = ["1"];
|
||||||
|
state.resetOrgId = ["1"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.allowClear = false
|
||||||
getTableData();
|
getTableData();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -191,11 +232,14 @@ export default {
|
|||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
type: state.type ? state.type[state.type.length - 1]:null,
|
type: state.type ? state.type[state.type.length - 1]:null,
|
||||||
createName: state.createName,
|
createName: state.createName,
|
||||||
|
// publishTime: state.publishTime,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
};
|
};
|
||||||
const res = await api.boeuCourseListPageV2(params);
|
const res = await api.boeuCourseListPageV2(params);
|
||||||
if (res) {
|
if (res) {
|
||||||
tableData.value = res.data.rows;
|
tableData.value = res.data.result.rows;
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -206,14 +250,14 @@ export default {
|
|||||||
};
|
};
|
||||||
// cloumns 表头
|
// cloumns 表头
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
// {
|
||||||
title: "编号",
|
// title: "编号",
|
||||||
dataIndex: "num",
|
// dataIndex: "num",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
key: "num",
|
// key: "num",
|
||||||
align: "center",
|
// align: "center",
|
||||||
width: 80,
|
// width: 80,
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "课程名称",
|
title: "课程名称",
|
||||||
dataIndex: "name",
|
dataIndex: "name",
|
||||||
@@ -223,12 +267,12 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "类型",
|
title: "课程类型",
|
||||||
dataIndex: "courseType",
|
dataIndex: "courseType",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "courseType",
|
key: "courseType",
|
||||||
align: "center",
|
align: "center",
|
||||||
width: 80,
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "归属组织",
|
title: "归属组织",
|
||||||
@@ -238,14 +282,6 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "归属路径图",
|
|
||||||
dataIndex: "routerName",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "routerName",
|
|
||||||
align: "center",
|
|
||||||
width: 120,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "归属项目",
|
title: "归属项目",
|
||||||
dataIndex: "projectName",
|
dataIndex: "projectName",
|
||||||
@@ -254,6 +290,14 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "归属路径图",
|
||||||
|
dataIndex: "routerName",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "routerName",
|
||||||
|
align: "center",
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "一级分类",
|
title: "一级分类",
|
||||||
dataIndex: "oneType",
|
dataIndex: "oneType",
|
||||||
@@ -295,7 +339,7 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习总人数",
|
title: "学习人数",
|
||||||
dataIndex: "learnerNumber",
|
dataIndex: "learnerNumber",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "learnerNumber",
|
key: "learnerNumber",
|
||||||
@@ -396,6 +440,7 @@ export default {
|
|||||||
state.pageSize = 10;
|
state.pageSize = 10;
|
||||||
state.type = null;
|
state.type = null;
|
||||||
state.createName = "";
|
state.createName = "";
|
||||||
|
state.publishTime = [];
|
||||||
getTableData();
|
getTableData();
|
||||||
};
|
};
|
||||||
const exportList = () => {
|
const exportList = () => {
|
||||||
@@ -426,6 +471,9 @@ export default {
|
|||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
type: state.type ? state.type[state.type.length - 1]:null,
|
type: state.type ? state.type[state.type.length - 1]:null,
|
||||||
createName: state.createName,
|
createName: state.createName,
|
||||||
|
// publishTime: state.publishTime,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
};
|
};
|
||||||
axios({
|
axios({
|
||||||
method: "post",
|
method: "post",
|
||||||
@@ -473,6 +521,9 @@ export default {
|
|||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
type: state.type ? state.type[state.type.length - 1]:null,
|
type: state.type ? state.type[state.type.length - 1]:null,
|
||||||
createName: state.createName,
|
createName: state.createName,
|
||||||
|
// publishTime: state.publishTime,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
};
|
};
|
||||||
axios({
|
axios({
|
||||||
method: "post",
|
method: "post",
|
||||||
@@ -538,6 +589,9 @@ export default {
|
|||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
type: state.type ? state.type[state.type.length - 1]:null,
|
type: state.type ? state.type[state.type.length - 1]:null,
|
||||||
createName: state.createName,
|
createName: state.createName,
|
||||||
|
// publishTime: state.publishTime,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
};
|
};
|
||||||
axios({
|
axios({
|
||||||
method: "post",
|
method: "post",
|
||||||
@@ -614,7 +668,7 @@ export default {
|
|||||||
.select {
|
.select {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
width: calc((100% - 76px - 240px) / 4);
|
width: calc((100% - 76px - 220px) / 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnz {
|
.btnz {
|
||||||
|
|||||||
@@ -12,15 +12,16 @@
|
|||||||
allowClear
|
allowClear
|
||||||
></a-select> -->
|
></a-select> -->
|
||||||
<a-cascader
|
<a-cascader
|
||||||
|
change-on-select
|
||||||
:options="option"
|
:options="option"
|
||||||
placeholder="请选择组织"
|
|
||||||
v-model:value="orgId"
|
v-model:value="orgId"
|
||||||
:allowClear="allowClear"
|
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
placeholder="请选择归属组织"
|
||||||
|
:allowClear = false
|
||||||
:fieldNames="{
|
:fieldNames="{
|
||||||
label: 'name',
|
label: 'orgName',
|
||||||
value: 'id',
|
value: 'organizationId',
|
||||||
children: 'treeChildList',
|
children: 'childList',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
</a-cascader>
|
</a-cascader>
|
||||||
@@ -46,14 +47,35 @@
|
|||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-select
|
||||||
|
ref="select"
|
||||||
|
allowClear
|
||||||
|
v-model:value="valueCourseType"
|
||||||
|
style="width: 100%"
|
||||||
|
:options="optionsCourseType"
|
||||||
|
placeholder="有无授课次数"
|
||||||
|
@change="handleCourseTypeChange"
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<!-- <a-input
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入Band"
|
placeholder="请输入Band"
|
||||||
v-model:value="band"
|
v-model:value="band"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
>
|
>
|
||||||
</a-input>
|
</a-input> -->
|
||||||
|
<a-select
|
||||||
|
ref="select"
|
||||||
|
allowClear
|
||||||
|
v-model:value="valueBand"
|
||||||
|
style="width: 100%"
|
||||||
|
:options="optionsBand"
|
||||||
|
placeholder="请选择Band"
|
||||||
|
@focus="focusBand"
|
||||||
|
@change="handleBandChange"
|
||||||
|
></a-select>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="getTableData">
|
<div class="btnzx btnzx1" @click="getTableData">
|
||||||
@@ -120,9 +142,11 @@ import { message } from "ant-design-vue";
|
|||||||
import Cookies from "vue-cookies";
|
import Cookies from "vue-cookies";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import downLoad from "../../utils/downLoad";
|
import downLoad from "../../utils/downLoad";
|
||||||
|
import { useStore } from "vuex";
|
||||||
export default {
|
export default {
|
||||||
name: "EmployeelearninG",
|
name: "EmployeelearninG",
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableLoading: false, // table加载图标
|
tableLoading: false, // table加载图标
|
||||||
tableDataTotal: 0, // 数据总条数
|
tableDataTotal: 0, // 数据总条数
|
||||||
@@ -136,25 +160,96 @@ export default {
|
|||||||
selectedRowKeys: [], // 选中的列
|
selectedRowKeys: [], // 选中的列
|
||||||
ids: [],
|
ids: [],
|
||||||
allowClear:true,
|
allowClear:true,
|
||||||
resetOrgId:[]
|
resetOrgId:[],
|
||||||
|
valueBand: null,
|
||||||
|
valueCourseType: null,
|
||||||
|
optionsBand:[
|
||||||
|
{value: 'Band1',label: 'Band1',},
|
||||||
|
{value: 'Band2',label: 'Band2',},
|
||||||
|
{value: 'Band3',label: 'Band3',},
|
||||||
|
{value: 'Band4',label: 'Band4',},
|
||||||
|
{value: 'Band5',label: 'Band5',},
|
||||||
|
{value: 'Band6',label: 'Band6',},
|
||||||
|
{value: 'Band7',label: 'Band7',},
|
||||||
|
{value: 'Band8',label: 'Band8',},
|
||||||
|
{value: 'Band9',label: 'Band9',},
|
||||||
|
{value: 'Band10',label: 'Band10',},
|
||||||
|
{value: 'Band11',label: 'Band11',},
|
||||||
|
{value: 'Band12',label: 'Band12',},
|
||||||
|
{value: 'Band13',label: 'Band13',},
|
||||||
|
{value: 'Band14',label: 'Band14',},
|
||||||
|
{value: 'Band15',label: 'Band15',},
|
||||||
|
{value: 'Band16',label: 'Band16',},
|
||||||
|
{value: 'Band17',label: 'Band17',},
|
||||||
|
{value: 'Band18',label: 'Band18',},
|
||||||
|
{value: 'Band19',label: 'Band19',},
|
||||||
|
{value: 'Band20',label: 'Band20',},
|
||||||
|
],
|
||||||
|
optionsCourseType: [
|
||||||
|
{
|
||||||
|
value: true,
|
||||||
|
label: '是',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: false,
|
||||||
|
label: '否',
|
||||||
|
},
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const focusBand = () => {
|
||||||
|
console.log('focus band');
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleBandChange = (value) => {
|
||||||
|
console.log(`selected handleBandChange ${value}`);
|
||||||
|
state.valueBand = value;
|
||||||
|
};
|
||||||
|
const handleCourseTypeChange = (value) => {
|
||||||
|
console.log(`selected handleCourseTypeChange ${value}`);
|
||||||
|
state.valueCourseType = value;
|
||||||
|
};
|
||||||
// table选中
|
// table选中
|
||||||
const onSelectChange = (selectedRowKeys, record) => {
|
const onSelectChange = (selectedRowKeys, record) => {
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
state.ids = record?.map((item) => {
|
state.ids = record?.map((item) => {
|
||||||
return item.basicBoeUserId;
|
return item.id;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
//请求组织接口
|
//请求组织接口
|
||||||
const getOrgList = async () => {
|
const getOrgList = async () => {
|
||||||
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
|
manageFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
const res = await api.userGetUserOrg({});
|
const res = await api.userGetUserOrg({});
|
||||||
if (res) {
|
if (res) {
|
||||||
state.option = res.data?.result?.list;
|
if(manageFlag){
|
||||||
state.orgId = res.data?.result?.treeNodeList;
|
state.option = [{
|
||||||
state.resetOrgId = res.data?.result?.treeNodeList;
|
orgName:"全部",
|
||||||
res.data?.result?.userType === 1
|
organizationId: null,
|
||||||
? (state.allowClear = true)
|
childList:res.data?.result.orgTreeList
|
||||||
: (state.allowClear = false);
|
}];
|
||||||
|
state.orgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
state.resetOrgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
}else{
|
||||||
|
if(res.data?.result.orgTreeList!=null){
|
||||||
|
state.option = res.data?.result.orgTreeList;
|
||||||
|
state.orgId = res.data?.result.treeNodeList;
|
||||||
|
state.resetOrgId = res.data?.result.treeNodeList;
|
||||||
|
}else{
|
||||||
|
state.option = [{
|
||||||
|
orgName:"无权限",
|
||||||
|
organizationId: "1",
|
||||||
|
childList:[],
|
||||||
|
}];
|
||||||
|
state.orgId = ["1"];
|
||||||
|
state.resetOrgId = ["1"];
|
||||||
|
}
|
||||||
|
}
|
||||||
getTableData();
|
getTableData();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -190,25 +285,25 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "姓名",
|
title: "姓名",
|
||||||
dataIndex: "name",
|
dataIndex: "userName",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "name",
|
key: "userName",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "组织信息",
|
title: "所属组织",
|
||||||
dataIndex: "departmentName",
|
dataIndex: "orgName",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "departmentName",
|
key: "orgName",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "岗位",
|
title: "岗位",
|
||||||
dataIndex: "jobName",
|
dataIndex: "positionName",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "jobName",
|
key: "positionName",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
@@ -222,57 +317,57 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "授课次数",
|
title: "授课次数",
|
||||||
dataIndex: "teachingTotal",
|
dataIndex: "teachingTimes",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "teachingTotal",
|
key: "teachingTotal",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "授课时长(分钟)",
|
title: "授课时长",
|
||||||
dataIndex: "teachingTime",
|
dataIndex: "teachingDuration",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "teachingTime",
|
key: "teachingDuration",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "案例数",
|
title: "案例创建",
|
||||||
dataIndex: "caseTotal",
|
dataIndex: "cases",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "caseTotal",
|
key: "cases",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习项目",
|
title: "课程学习",
|
||||||
dataIndex: "studyProject",
|
dataIndex: "courseStudy",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyProject",
|
key: "courseStudy",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习路径",
|
title: "项目学习",
|
||||||
dataIndex: "studyRouter",
|
dataIndex: "projectStudy",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyRouter",
|
key: "projectStudy",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习课程",
|
title: "路径图学习",
|
||||||
dataIndex: "studyClass",
|
dataIndex: "routerStudy",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyClass",
|
key: "routerStudy",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "累计学习时长(分钟)",
|
title: "学习时长",
|
||||||
dataIndex: "studyTimeSum",
|
dataIndex: "learningDuration",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyTimeSum",
|
key: "learningDuration",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
@@ -301,8 +396,8 @@ export default {
|
|||||||
const oneExport = (record) => {
|
const oneExport = (record) => {
|
||||||
axios({
|
axios({
|
||||||
method: "get",
|
method: "get",
|
||||||
url: "/report/boeu/studyData/export",
|
url: "/report/boeu/studyData/exportDetailed",
|
||||||
params: { ids: `${record.record.basicBoeUserId}` },
|
params: { ids: `${record.record.userId}` },
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
token: Cookies.get("token"),
|
token: Cookies.get("token"),
|
||||||
@@ -325,11 +420,12 @@ export default {
|
|||||||
userNo: state.userNo,
|
userNo: state.userNo,
|
||||||
name: state.name,
|
name: state.name,
|
||||||
departmentId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
departmentId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
bandCode: state.band,
|
bandCode: state.valueBand,
|
||||||
|
hasTeach: state.valueCourseType,
|
||||||
});
|
});
|
||||||
if (res) {
|
if (res) {
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.id,
|
key: item.id,
|
||||||
...item,
|
...item,
|
||||||
@@ -345,6 +441,8 @@ export default {
|
|||||||
state.name = "";
|
state.name = "";
|
||||||
state.band = "";
|
state.band = "";
|
||||||
state.userNo = "";
|
state.userNo = "";
|
||||||
|
state.valueBand = null;
|
||||||
|
state.valueCourseType = null;
|
||||||
state.orgId = state.resetOrgId;
|
state.orgId = state.resetOrgId;
|
||||||
getTableData();
|
getTableData();
|
||||||
};
|
};
|
||||||
@@ -358,7 +456,8 @@ export default {
|
|||||||
userNo: state.userNo,
|
userNo: state.userNo,
|
||||||
name: state.name,
|
name: state.name,
|
||||||
departmentId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
departmentId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
bandCode: state.band,
|
bandCode: state.valueBand,
|
||||||
|
hasTeach: state.valueCourseType,
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
@@ -373,6 +472,9 @@ export default {
|
|||||||
state.tableLoading = true;
|
state.tableLoading = true;
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
|
focusBand,
|
||||||
|
handleBandChange,
|
||||||
|
handleCourseTypeChange,
|
||||||
exportAllbtnz,
|
exportAllbtnz,
|
||||||
onSelectChange,
|
onSelectChange,
|
||||||
exportbtnz,
|
exportbtnz,
|
||||||
@@ -401,7 +503,7 @@ export default {
|
|||||||
.select {
|
.select {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
width: calc((100% - 76px - 240px) / 4);
|
width: calc((100% - 76px - 220px) / 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnz {
|
.btnz {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
:options="option"
|
:options="option"
|
||||||
placeholder="请选择组织"
|
placeholder="请选择组织"
|
||||||
v-model:value="orgId"
|
v-model:value="orgId"
|
||||||
:allowClear="allowClear"
|
:allowClear= false
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:fieldNames="{
|
:fieldNames="{
|
||||||
label: 'name',
|
label: 'name',
|
||||||
|
|||||||
@@ -5,11 +5,12 @@
|
|||||||
<div class="filter">
|
<div class="filter">
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-cascader
|
<a-cascader
|
||||||
|
change-on-select
|
||||||
:options="option"
|
:options="option"
|
||||||
v-model:value="orgId"
|
v-model:value="orgId"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="请选择归属组织"
|
placeholder="请选择归属组织"
|
||||||
:allowClear="allowClear"
|
:allowClear = false
|
||||||
:fieldNames="{
|
:fieldNames="{
|
||||||
label: 'orgName',
|
label: 'orgName',
|
||||||
value: 'organizationId',
|
value: 'organizationId',
|
||||||
@@ -31,13 +32,22 @@
|
|||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-input
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入创建者"
|
placeholder="请输入创建人"
|
||||||
allowClear
|
allowClear
|
||||||
v-model:value="createName"
|
v-model:value="createName"
|
||||||
showSearch
|
showSearch
|
||||||
>
|
>
|
||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="publishTime"
|
||||||
|
type="date"
|
||||||
|
valueFormat="YYYY-MM-DD"
|
||||||
|
:placeholder="['发布开始时间','结束时间']"
|
||||||
|
style="width: 100%; margin-right: 0px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="searchData">
|
<div class="btnzx btnzx1" @click="searchData">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -149,6 +159,7 @@ export default {
|
|||||||
createName: "", // 创建者名称
|
createName: "", // 创建者名称
|
||||||
startTime: "", // 开始时间
|
startTime: "", // 开始时间
|
||||||
endTime: "", // 结束时间
|
endTime: "", // 结束时间
|
||||||
|
publishTime: "", // 创建时间
|
||||||
option: [], // 组织列表
|
option: [], // 组织列表
|
||||||
boeRouterInfoName: "", // 路径名称
|
boeRouterInfoName: "", // 路径名称
|
||||||
selectedRowKeys: [], // 选中的列
|
selectedRowKeys: [], // 选中的列
|
||||||
@@ -173,32 +184,60 @@ export default {
|
|||||||
}
|
}
|
||||||
//请求组织接口
|
//请求组织接口
|
||||||
const getOrgList = async () => {
|
const getOrgList = async () => {
|
||||||
let params = {
|
//todo 获取用户角色列表,判断里面是否有system-admin
|
||||||
roleList: store.state.userInfo.roleList,
|
// let roleList = store.state.userInfo.roleList;
|
||||||
userId: store.state.userInfo.userId
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
|
manageFlag = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
const res = await api.userGetUserOrg(params);
|
}
|
||||||
|
const res = await api.userGetUserOrg();
|
||||||
if (res) {
|
if (res) {
|
||||||
state.option = res.data?.result;
|
// state.option = res.data?.result;
|
||||||
state.orgId = state.option[0]?.organizationId;
|
// state.orgId = [state.option[0]?.organizationId];
|
||||||
state.resetOrgId = state.option[0]?.organizationId;
|
// state.resetOrgId = [state.option[0]?.organizationId];
|
||||||
state.allowClear = false
|
if(manageFlag){
|
||||||
|
state.option = [{
|
||||||
|
orgName:"全部",
|
||||||
|
organizationId: null,
|
||||||
|
childList:res.data?.result.orgTreeList
|
||||||
|
}];
|
||||||
|
state.orgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
state.resetOrgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
}else{
|
||||||
|
if(res.data?.result.orgTreeList!=null){
|
||||||
|
state.option = res.data?.result.orgTreeList;
|
||||||
|
state.orgId = res.data?.result.treeNodeList;
|
||||||
|
state.resetOrgId = res.data?.result.treeNodeList;
|
||||||
|
}else{
|
||||||
|
state.option = [{
|
||||||
|
orgName:"无权限",
|
||||||
|
organizationId: "1",
|
||||||
|
childList:[],
|
||||||
|
}];
|
||||||
|
state.orgId = ["1"];
|
||||||
|
state.resetOrgId = ["1"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.allowClear = true;
|
||||||
getTableData();
|
getTableData();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// cloumns 表头
|
// cloumns 表头
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
|
// {
|
||||||
|
// title: "编号",
|
||||||
|
// dataIndex: "num",
|
||||||
|
// key: "num",
|
||||||
|
// ellipsis: true,
|
||||||
|
// align: "center",
|
||||||
|
// width: 120,
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: "编号",
|
title: "路径图名称",
|
||||||
dataIndex: "num",
|
|
||||||
key: "num",
|
|
||||||
ellipsis: true,
|
|
||||||
align: "center",
|
|
||||||
width: 120,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "路径名称",
|
|
||||||
dataIndex: "boeRouterInfoName",
|
dataIndex: "boeRouterInfoName",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "boeRouterInfoName",
|
key: "boeRouterInfoName",
|
||||||
@@ -237,6 +276,22 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "参与人数",
|
||||||
|
dataIndex: "participantsTotal",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "participantsTotal",
|
||||||
|
align: "center",
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "参与率",
|
||||||
|
dataIndex: "participantsRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "participantsRate",
|
||||||
|
align: "center",
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "完成人数",
|
title: "完成人数",
|
||||||
dataIndex: "completionNumber",
|
dataIndex: "completionNumber",
|
||||||
@@ -245,6 +300,14 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "完成率",
|
||||||
|
dataIndex: "completedRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "completedRate",
|
||||||
|
align: "center",
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "发布时间",
|
||||||
dataIndex: "publishTime",
|
dataIndex: "publishTime",
|
||||||
@@ -253,14 +316,6 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "创建人",
|
|
||||||
dataIndex: "createName",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "createName",
|
|
||||||
align: "center",
|
|
||||||
width: 120,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "路径状态",
|
title: "路径状态",
|
||||||
dataIndex: "status",
|
dataIndex: "status",
|
||||||
@@ -269,6 +324,14 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "创建人",
|
||||||
|
dataIndex: "createName",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "createName",
|
||||||
|
align: "center",
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "操作",
|
title: "操作",
|
||||||
dataIndex: "operation",
|
dataIndex: "operation",
|
||||||
@@ -343,8 +406,9 @@ export default {
|
|||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
routerName: state.routerName,
|
routerName: state.routerName,
|
||||||
createName: state.createName,
|
createName: state.createName,
|
||||||
startTime: state.startTime,
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0] + " 00:00:01",
|
||||||
endTime: state.endTime,
|
endTime: typeof state.publishTime[1] == 'undefined' ? null : state.publishTime[1] + " 23:59:59",
|
||||||
|
// publishTime: state.publishTime,
|
||||||
name: state.name,
|
name: state.name,
|
||||||
});
|
});
|
||||||
if (res) {
|
if (res) {
|
||||||
@@ -363,6 +427,7 @@ export default {
|
|||||||
const reset = async () => {
|
const reset = async () => {
|
||||||
state.tableLoading = true;
|
state.tableLoading = true;
|
||||||
state.createName = "";
|
state.createName = "";
|
||||||
|
state.publishTime = [];
|
||||||
state.routerName = "";
|
state.routerName = "";
|
||||||
state.orgId = state.resetOrgId;
|
state.orgId = state.resetOrgId;
|
||||||
state.selectedRowKeys = [];
|
state.selectedRowKeys = [];
|
||||||
@@ -388,6 +453,9 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
const params = {
|
const params = {
|
||||||
createName: state.createName,
|
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,
|
routerName: state.routerName,
|
||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
};
|
};
|
||||||
@@ -427,6 +495,9 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
const params = {
|
const params = {
|
||||||
createName: state.createName,
|
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,
|
routerName: state.routerName,
|
||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
};
|
};
|
||||||
@@ -481,7 +552,7 @@ export default {
|
|||||||
.select {
|
.select {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
width: calc((100% - 76px - 220px) / 3);
|
width: calc((100% - 76px - 240px) / 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnz {
|
.btnz {
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
<div class="echartsTwo">
|
<div class="echartsTwo">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<div class="left">学习情况</div>
|
<div class="left">学习情况</div>
|
||||||
<div v-if="1 == towParmasn.type || 2 == towParmasn.type || 3 == towParmasn.type" class="right" @click="exportTwoData">
|
<div class="right" @click="exportTwoData" v-show="towParmasn.type != 2">
|
||||||
<img src="../../assets/images/coursewareManage/export1.png" alt="" />
|
<img src="../../assets/images/coursewareManage/export1.png" alt="" />
|
||||||
<span>导出学习情况</span>
|
<span>导出学习情况</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -83,27 +83,27 @@
|
|||||||
@change="modalChange"
|
@change="modalChange"
|
||||||
:options="[
|
:options="[
|
||||||
{
|
{
|
||||||
label: '项目',
|
label: '课程',
|
||||||
value: 1,
|
value: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '学习路径图',
|
label: '案例',
|
||||||
value: 2,
|
value: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '课程',
|
label: '文章',
|
||||||
value: 3,
|
value: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '案例',
|
label: '问答',
|
||||||
value: 4,
|
value: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '文章',
|
label: '项目',
|
||||||
value: 5,
|
value: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '问答',
|
label: '学习路径图',
|
||||||
value: 6,
|
value: 6,
|
||||||
},
|
},
|
||||||
]"
|
]"
|
||||||
@@ -115,8 +115,8 @@
|
|||||||
placeholder="请选择日期格式"
|
placeholder="请选择日期格式"
|
||||||
@change="twoSelectChange"
|
@change="twoSelectChange"
|
||||||
:options="[
|
:options="[
|
||||||
{ label: '按日查找', value: 0 },
|
{ label: '按日查找', value: 1 },
|
||||||
{ label: '按月查找', value: 1 },
|
{ label: '按月查找', value: 2 },
|
||||||
]"
|
]"
|
||||||
v-model:value="towParmasn.dateType"
|
v-model:value="towParmasn.dateType"
|
||||||
></a-select>
|
></a-select>
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
<div class="leftItem">
|
<div class="leftItem">
|
||||||
<div class="timeItemSearch">
|
<div class="timeItemSearch">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-if="towParmasn.dateType == 0"
|
v-if="towParmasn.dateType == 1"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
v-model:value="towParmasn.day"
|
v-model:value="towParmasn.day"
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
/>
|
/>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-if="towParmasn.dateType == 1"
|
v-if="towParmasn.dateType == 2"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model:value="towParmasn.time"
|
v-model:value="towParmasn.time"
|
||||||
@change="twoMonthChange"
|
@change="twoMonthChange"
|
||||||
@@ -144,6 +144,9 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="leftItem">
|
||||||
|
<a-checkbox-group style="margin-left:20px" v-model:value="checkedList" :options="plainOptions" @change="checkboxChange" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="echarts" ref="surface1Ref"></div>
|
<div class="echarts" ref="surface1Ref"></div>
|
||||||
@@ -152,19 +155,19 @@
|
|||||||
<div class="start" />
|
<div class="start" />
|
||||||
<div class="radio" />
|
<div class="radio" />
|
||||||
<div class="end" />
|
<div class="end" />
|
||||||
<div class="text">总学习人数</div>
|
<div class="text">{{chartLabel.one}}</div>
|
||||||
</div>
|
|
||||||
<div class="item1">
|
|
||||||
<div class="start" />
|
|
||||||
<div class="radio" />
|
|
||||||
<div class="end" />
|
|
||||||
<div class="text">人均学习时长</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="item2">
|
<div class="item2">
|
||||||
<div class="start" />
|
<div class="start" />
|
||||||
<div class="radio" />
|
<div class="radio" />
|
||||||
<div class="end" />
|
<div class="end" />
|
||||||
<div class="text">总学习时长</div>
|
<div class="text">{{chartLabel.two}}</div>
|
||||||
|
</div>
|
||||||
|
<div class="item1">
|
||||||
|
<div class="start" />
|
||||||
|
<div class="radio" />
|
||||||
|
<div class="end" />
|
||||||
|
<div class="text">{{chartLabel.three}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -334,11 +337,19 @@ export default {
|
|||||||
forDay: [],
|
forDay: [],
|
||||||
towParmasn: {
|
towParmasn: {
|
||||||
type: 1,
|
type: 1,
|
||||||
dateType: 1,
|
dateType: 2,
|
||||||
time: [],
|
time: [],
|
||||||
day: [],
|
day: [],
|
||||||
},
|
},
|
||||||
modalFlag: false,
|
modalFlag: false,
|
||||||
|
checkedList: ['学习人数', '总学习时长'],
|
||||||
|
limitCheckedList: ['学习人数', '总学习时长'],
|
||||||
|
plainOptions: ['学习人数', '总学习时长', '人均学习时长'],
|
||||||
|
chartLabel: {
|
||||||
|
one: "学习人数",
|
||||||
|
two: "总学习时长",
|
||||||
|
three: "人均学习时长",
|
||||||
|
}
|
||||||
});
|
});
|
||||||
const surfaceRef = ref(null);
|
const surfaceRef = ref(null);
|
||||||
const surface1Ref = ref(null);
|
const surface1Ref = ref(null);
|
||||||
@@ -350,6 +361,24 @@ export default {
|
|||||||
|
|
||||||
const datess = ref();
|
const datess = ref();
|
||||||
const hackValues = ref();
|
const hackValues = ref();
|
||||||
|
|
||||||
|
const checkboxChange = (event) => {
|
||||||
|
console.log("checkboxChange event:",event);
|
||||||
|
if(event.length>2){
|
||||||
|
message.warning("最多选两个");
|
||||||
|
console.log("checkboxChange checkedList:",state.checkedList);
|
||||||
|
state.checkedList = state.limitCheckedList;
|
||||||
|
}else{
|
||||||
|
state.limitCheckedList = event;
|
||||||
|
// modalChange();
|
||||||
|
if (state.towParmasn.dateType == 2) {
|
||||||
|
twoMonthChange(state.towParmasn.time);
|
||||||
|
} else if (state.towParmasn.dateType == 1) {
|
||||||
|
twoDatChange(state.towParmasn.day);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const eChartClickRight = async () => {
|
const eChartClickRight = async () => {
|
||||||
state.modalFlag = true;
|
state.modalFlag = true;
|
||||||
|
|
||||||
@@ -371,7 +400,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "case") {
|
if (iten.name == "case") {
|
||||||
@@ -406,7 +435,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata);
|
xData.push(item.xdata);
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "case") {
|
if (iten.name == "case") {
|
||||||
@@ -445,7 +474,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata);
|
xData.push(item.xdata);
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "course") {
|
if (iten.name == "course") {
|
||||||
@@ -481,7 +510,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "course") {
|
if (iten.name == "course") {
|
||||||
@@ -504,7 +533,7 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
const exportTwoData = async () => {
|
const exportTwoData = async () => {
|
||||||
if (state.towParmasn.dateType == 0) {
|
if (state.towParmasn.dateType == 1) {
|
||||||
if (!state.towParmasn.day?.length || state.towParmasn.day?.length < 1) {
|
if (!state.towParmasn.day?.length || state.towParmasn.day?.length < 1) {
|
||||||
message.error("请选择要导出的时间日期后再进行导出");
|
message.error("请选择要导出的时间日期后再进行导出");
|
||||||
} else {
|
} else {
|
||||||
@@ -536,7 +565,7 @@ export default {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else if (state.towParmasn.dateType == 1) {
|
} else if (state.towParmasn.dateType == 2) {
|
||||||
if (
|
if (
|
||||||
!state.towParmasn.time?.length ||
|
!state.towParmasn.time?.length ||
|
||||||
state.towParmasn.time?.length < 1
|
state.towParmasn.time?.length < 1
|
||||||
@@ -573,9 +602,35 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
const modalChange = async () => {
|
const modalChange = async () => {
|
||||||
if (state.towParmasn.dateType == 1) {
|
console.log("modalChange type:",state.towParmasn.type);
|
||||||
|
if(state.towParmasn.type==2 || state.towParmasn.type==3){
|
||||||
|
state.chartLabel.one = "总阅读人数";
|
||||||
|
state.chartLabel.two = "总阅读时长";
|
||||||
|
state.chartLabel.three = "人均阅读时长";
|
||||||
|
state.plainOptions = ["总阅读人数","总阅读时长","人均阅读时长"];
|
||||||
|
state.checkedList = ["总阅读人数","总阅读时长"];
|
||||||
|
state.limitCheckedList = ["总阅读人数","总阅读时长"];
|
||||||
|
}else if(state.towParmasn.type==4){
|
||||||
|
state.chartLabel.one = "总查看人数";
|
||||||
|
state.chartLabel.two = "总提问人数";
|
||||||
|
state.chartLabel.three = "总回答人数";
|
||||||
|
state.plainOptions = ["总查看人数","总提问人数","总回答人数"];
|
||||||
|
state.checkedList = ["总查看人数","总提问人数"];
|
||||||
|
state.limitCheckedList = ["总查看人数","总提问人数"];
|
||||||
|
}else {
|
||||||
|
state.chartLabel.one = "学习人数";
|
||||||
|
state.chartLabel.two = "总学习时长";
|
||||||
|
state.chartLabel.three = "人均学习时长";
|
||||||
|
state.plainOptions = ["学习人数","总学习时长","人均学习时长"];
|
||||||
|
state.checkedList = ["学习人数","总学习时长"];
|
||||||
|
state.limitCheckedList = ["学习人数","总学习时长"];
|
||||||
|
}
|
||||||
|
option.value.series[0].name = state.chartLabel.one;
|
||||||
|
option.value.series[1].name = state.chartLabel.two;
|
||||||
|
option.value.series[2].name = state.chartLabel.two;
|
||||||
|
if (state.towParmasn.dateType == 2) {
|
||||||
twoMonthChange(state.towParmasn.time);
|
twoMonthChange(state.towParmasn.time);
|
||||||
} else if (state.towParmasn.dateType == 0) {
|
} else if (state.towParmasn.dateType == 1) {
|
||||||
twoDatChange(state.towParmasn.day);
|
twoDatChange(state.towParmasn.day);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -622,20 +677,22 @@ export default {
|
|||||||
return tooEarly || tooLate;
|
return tooEarly || tooLate;
|
||||||
};
|
};
|
||||||
const twoSelectChange = async (e) => {
|
const twoSelectChange = async (e) => {
|
||||||
if (e == 1) {
|
if (e == 2) {
|
||||||
twoMonthChange(state.towParmasn.time);
|
twoMonthChange(state.towParmasn.time);
|
||||||
} else if (e == 0) {
|
} else if (e == 1) {
|
||||||
twoDatChange(state.towParmasn.day);
|
twoDatChange(state.towParmasn.day);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// 获取图表2月份数据
|
// 获取图表2月份数据
|
||||||
const twoMonthChange = async (e) => {
|
const twoMonthChange = async (e) => {
|
||||||
if (e?.length > 0) {
|
console.log("twoMonthChange e:",e);
|
||||||
const monthEnd = dayjs(e[1])
|
// if (e?.length > 0) {
|
||||||
|
if (true) {
|
||||||
|
const monthEnd = dayjs(state.towParmasn.time[1])
|
||||||
.endOf("month")
|
.endOf("month")
|
||||||
.format("YYYY-MM-DD hh:mm:ss");
|
.format("YYYY-MM-DD 23:59:59");
|
||||||
const res = await api.boeuStudyDataGetStudyStaisticsList({
|
const res = await api.boeuStudyDataGetStudyStaisticsList({
|
||||||
beginTime: dayjs(e[0]).format("YYYY-MM-01 00:00:01"),
|
beginTime: dayjs(state.towParmasn.time[0]).format("YYYY-MM-01 00:00:01"),
|
||||||
endTime: monthEnd,
|
endTime: monthEnd,
|
||||||
dateType: state.towParmasn.dateType,
|
dateType: state.towParmasn.dateType,
|
||||||
type: state.towParmasn.type,
|
type: state.towParmasn.type,
|
||||||
@@ -650,47 +707,91 @@ export default {
|
|||||||
const avgDuration = [];
|
const avgDuration = [];
|
||||||
const count = [];
|
const count = [];
|
||||||
const duration = [];
|
const duration = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.month);
|
xData.push(item.day);
|
||||||
avgDuration.push(item.viewCount);
|
|
||||||
count.push(item.count);
|
|
||||||
duration.push(item.duration);
|
|
||||||
});
|
|
||||||
option.value.xAxis.data = xData;
|
|
||||||
// 右侧坐标轴数据
|
|
||||||
option.value.series[0].data = count;
|
|
||||||
//左侧坐标轴数据
|
|
||||||
option.value.series[1].data = avgDuration;
|
|
||||||
option.value.series[2].data = duration;
|
|
||||||
createEcharts2();
|
|
||||||
} else {
|
|
||||||
const xData = [];
|
|
||||||
const avgDuration = [];
|
|
||||||
const count = [];
|
|
||||||
const duration = [];
|
|
||||||
res?.data?.forEach((item) => {
|
|
||||||
xData.push(item.month);
|
|
||||||
avgDuration.push(item.avgDuration);
|
avgDuration.push(item.avgDuration);
|
||||||
count.push(item.count);
|
count.push(item.count);
|
||||||
duration.push(item.duration);
|
duration.push(item.duration);
|
||||||
});
|
});
|
||||||
option.value.xAxis.data = xData;
|
option.value.xAxis.data = xData;
|
||||||
// 右侧坐标轴数据
|
// 右侧坐标轴数据
|
||||||
|
// option.value.series[0].data = count;
|
||||||
|
// //左侧坐标轴数据
|
||||||
|
// option.value.series[1].data = avgDuration;
|
||||||
|
// option.value.series[2].data = duration;
|
||||||
|
option.value.series[0].data = [];
|
||||||
|
option.value.series[1].data = [];
|
||||||
|
option.value.series[2].data = [];
|
||||||
|
console.log("checkedList:",state.checkedList);
|
||||||
|
for(let i=0;i<state.checkedList.length;i++){
|
||||||
|
if(state.checkedList[i]=="学习人数" || state.checkedList[i]=="总阅读人数" || state.checkedList[i]=="总查看人数"){
|
||||||
option.value.series[0].data = count;
|
option.value.series[0].data = count;
|
||||||
//左侧坐标轴数据
|
option.value.series[0].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="人均学习时长" || state.checkedList[i]=="人均阅读时长" || state.checkedList[i]=="总回答人数"){
|
||||||
option.value.series[1].data = avgDuration;
|
option.value.series[1].data = avgDuration;
|
||||||
|
option.value.series[1].yAxisIndex = i;
|
||||||
|
option.value.series[1].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="总学习时长" || state.checkedList[i]=="总阅读时长" || state.checkedList[i]=="总提问人数"){
|
||||||
option.value.series[2].data = duration;
|
option.value.series[2].data = duration;
|
||||||
|
option.value.series[2].yAxisIndex = i;
|
||||||
|
option.value.series[2].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
createEcharts2();
|
||||||
|
} else {
|
||||||
|
const xData = [];
|
||||||
|
const avgDuration = [];
|
||||||
|
const count = [];
|
||||||
|
const duration = [];
|
||||||
|
res?.data?.result.forEach((item) => {
|
||||||
|
xData.push(item.day);
|
||||||
|
avgDuration.push(item.avgDuration);
|
||||||
|
count.push(item.count);
|
||||||
|
duration.push(item.duration);
|
||||||
|
});
|
||||||
|
option.value.xAxis.data = xData;
|
||||||
|
// 右侧坐标轴数据
|
||||||
|
// option.value.series[0].data = count;
|
||||||
|
// //左侧坐标轴数据
|
||||||
|
// option.value.series[1].data = avgDuration;
|
||||||
|
// option.value.series[2].data = duration;
|
||||||
|
option.value.series[0].data = [];
|
||||||
|
option.value.series[1].data = [];
|
||||||
|
option.value.series[2].data = [];
|
||||||
|
console.log("checkedList:",state.checkedList);
|
||||||
|
console.log("666 duration:",duration);
|
||||||
|
for(let i=0;i<state.checkedList.length;i++){
|
||||||
|
if(state.checkedList[i]=="学习人数" || state.checkedList[i]=="总阅读人数" || state.checkedList[i]=="总查看人数"){
|
||||||
|
option.value.series[0].data = count;
|
||||||
|
option.value.series[0].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="人均学习时长" || state.checkedList[i]=="人均阅读时长" || state.checkedList[i]=="总回答人数"){
|
||||||
|
option.value.series[1].data = avgDuration;
|
||||||
|
option.value.series[1].yAxisIndex = i;
|
||||||
|
option.value.series[1].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="总学习时长" || state.checkedList[i]=="总阅读时长" || state.checkedList[i]=="总提问人数"){
|
||||||
|
option.value.series[2].data = duration;
|
||||||
|
option.value.series[2].yAxisIndex = i;
|
||||||
|
option.value.series[2].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("123:",option.value.series)
|
||||||
createEcharts2();
|
createEcharts2();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const twoDatChange = async (e) => {
|
const twoDatChange = async (e) => {
|
||||||
if (e?.length > 0) {
|
console.log("twoDatChange e:",e);
|
||||||
|
// if (e?.length > 0) {
|
||||||
|
if (true) {
|
||||||
const dayStart = dayjs(e[0])
|
const dayStart = dayjs(e[0])
|
||||||
.startOf("day")
|
.startOf("day")
|
||||||
.format("YYYY-MM-DD 00:00:01");
|
.format("YYYY-MM-DD 00:00:01");
|
||||||
const dayEnd = dayjs(e[1]).endOf("day").format("YYYY-MM-DD hh:mm:ss");
|
const dayEnd = dayjs(e[1]).endOf("day").format("YYYY-MM-DD 23:59:59");
|
||||||
const res = await api.boeuStudyDataGetStudyStaisticsList({
|
const res = await api.boeuStudyDataGetStudyStaisticsList({
|
||||||
beginTime: dayStart,
|
beginTime: dayStart,
|
||||||
endTime: dayEnd,
|
endTime: dayEnd,
|
||||||
@@ -707,25 +808,7 @@ export default {
|
|||||||
const avgDuration = [];
|
const avgDuration = [];
|
||||||
const count = [];
|
const count = [];
|
||||||
const duration = [];
|
const duration = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.day);
|
|
||||||
avgDuration.push(item.viewCount);
|
|
||||||
count.push(item.count);
|
|
||||||
duration.push(item.duration);
|
|
||||||
});
|
|
||||||
option.value.xAxis.data = xData;
|
|
||||||
// 右侧坐标轴数据
|
|
||||||
option.value.series[0].data = count;
|
|
||||||
//左侧坐标轴数据
|
|
||||||
option.value.series[1].data = avgDuration;
|
|
||||||
option.value.series[2].data = duration;
|
|
||||||
createEcharts2();
|
|
||||||
} else {
|
|
||||||
const xData = [];
|
|
||||||
const avgDuration = [];
|
|
||||||
const count = [];
|
|
||||||
const duration = [];
|
|
||||||
res?.data?.forEach((item) => {
|
|
||||||
xData.push(item.day);
|
xData.push(item.day);
|
||||||
avgDuration.push(item.avgDuration);
|
avgDuration.push(item.avgDuration);
|
||||||
count.push(item.count);
|
count.push(item.count);
|
||||||
@@ -733,10 +816,68 @@ export default {
|
|||||||
});
|
});
|
||||||
option.value.xAxis.data = xData;
|
option.value.xAxis.data = xData;
|
||||||
// 右侧坐标轴数据
|
// 右侧坐标轴数据
|
||||||
|
// option.value.series[0].data = count;
|
||||||
|
// //左侧坐标轴数据
|
||||||
|
// option.value.series[1].data = avgDuration;
|
||||||
|
// option.value.series[2].data = duration;
|
||||||
|
option.value.series[0].data = [];
|
||||||
|
option.value.series[1].data = [];
|
||||||
|
option.value.series[2].data = [];
|
||||||
|
console.log("checkedList:",state.checkedList);
|
||||||
|
for(let i=0;i<state.checkedList.length;i++){
|
||||||
|
if(state.checkedList[i]=="学习人数" || state.checkedList[i]=="总阅读人数" || state.checkedList[i]=="总查看人数"){
|
||||||
option.value.series[0].data = count;
|
option.value.series[0].data = count;
|
||||||
//左侧坐标轴数据
|
option.value.series[0].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="人均学习时长" || state.checkedList[i]=="人均阅读时长" || state.checkedList[i]=="总回答人数"){
|
||||||
option.value.series[1].data = avgDuration;
|
option.value.series[1].data = avgDuration;
|
||||||
|
option.value.series[1].yAxisIndex = i;
|
||||||
|
option.value.series[1].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="总学习时长" || state.checkedList[i]=="总阅读时长" || state.checkedList[i]=="总提问人数"){
|
||||||
option.value.series[2].data = duration;
|
option.value.series[2].data = duration;
|
||||||
|
option.value.series[2].yAxisIndex = i;
|
||||||
|
option.value.series[2].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
createEcharts2();
|
||||||
|
} else {
|
||||||
|
const xData = [];
|
||||||
|
const avgDuration = [];
|
||||||
|
const count = [];
|
||||||
|
const duration = [];
|
||||||
|
res?.data?.result.forEach((item) => {
|
||||||
|
xData.push(item.day);
|
||||||
|
avgDuration.push(item.avgDuration);
|
||||||
|
count.push(item.count);
|
||||||
|
duration.push(item.duration);
|
||||||
|
});
|
||||||
|
option.value.xAxis.data = xData;
|
||||||
|
// 右侧坐标轴数据
|
||||||
|
// option.value.series[0].data = count;
|
||||||
|
// //左侧坐标轴数据
|
||||||
|
// option.value.series[1].data = avgDuration;
|
||||||
|
// option.value.series[2].data = duration;
|
||||||
|
option.value.series[0].data = [];
|
||||||
|
option.value.series[1].data = [];
|
||||||
|
option.value.series[2].data = [];
|
||||||
|
console.log("checkedList:",state.checkedList);
|
||||||
|
for(let i=0;i<state.checkedList.length;i++){
|
||||||
|
if(state.checkedList[i]=="学习人数" || state.checkedList[i]=="总阅读人数" || state.checkedList[i]=="总查看人数"){
|
||||||
|
option.value.series[0].data = count;
|
||||||
|
option.value.series[0].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="人均学习时长" || state.checkedList[i]=="人均阅读时长" || state.checkedList[i]=="总回答人数"){
|
||||||
|
option.value.series[1].data = avgDuration;
|
||||||
|
option.value.series[1].yAxisIndex = i;
|
||||||
|
option.value.series[1].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
if(state.checkedList[i]=="总学习时长" || state.checkedList[i]=="总阅读时长" || state.checkedList[i]=="总提问人数"){
|
||||||
|
option.value.series[2].data = duration;
|
||||||
|
option.value.series[2].yAxisIndex = i;
|
||||||
|
option.value.series[2].name = state.checkedList[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
createEcharts2();
|
createEcharts2();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -758,7 +899,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata);
|
xData.push(item.xdata);
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "course") {
|
if (iten.name == "course") {
|
||||||
@@ -794,7 +935,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "course") {
|
if (iten.name == "course") {
|
||||||
@@ -909,7 +1050,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata);
|
xData.push(item.xdata);
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "case") {
|
if (iten.name == "case") {
|
||||||
@@ -945,7 +1086,7 @@ export default {
|
|||||||
const course = [];
|
const course = [];
|
||||||
const project = [];
|
const project = [];
|
||||||
const router = [];
|
const router = [];
|
||||||
res?.data?.forEach((item) => {
|
res?.data?.result.forEach((item) => {
|
||||||
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
xData.push(item.xdata.slice(item.xdata.indexOf("-") + 1));
|
||||||
item?.list?.forEach((iten) => {
|
item?.list?.forEach((iten) => {
|
||||||
if (iten.name == "case") {
|
if (iten.name == "case") {
|
||||||
@@ -1406,11 +1547,27 @@ export default {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
const initTime = () => {
|
const initTime = () => {
|
||||||
const monthEnd = dayjs(new Date()).endOf("year").format("YYYY-MM");
|
// console.log("initTime:",dayjs(new Date()).year()+"-"+(dayjs(new Date()).month()));
|
||||||
const start = dayjs(new Date()).startOf("year").format("YYYY-MM");
|
// const monthEnd = dayjs(new Date()).endOf("year").format("YYYY-MM");
|
||||||
|
var year = dayjs(new Date()).year();
|
||||||
|
var month = dayjs(new Date()).month()+1;
|
||||||
|
console.log("initTime year:",year,"month:",month);
|
||||||
|
var year1 = year;
|
||||||
|
var month1 = parseInt(month) - 5;
|
||||||
|
if(month1<=0){
|
||||||
|
year1 = parseInt(year1) - 1;
|
||||||
|
month1 = 12 - (Math.abs(month1)%12);
|
||||||
|
}
|
||||||
|
console.log("initTime year1:",year1,"month1:",month1);
|
||||||
|
const monthEnd = dayjs(new Date()).year()+"-"+(dayjs(new Date()).month()+1);
|
||||||
|
// const start = dayjs(new Date()).startOf("year").format("YYYY-MM");
|
||||||
|
const start = year1 + "-" + month1;
|
||||||
state.threeTime = [dayjs(start), dayjs(monthEnd)];
|
state.threeTime = [dayjs(start), dayjs(monthEnd)];
|
||||||
state.forTime = [dayjs(start), dayjs(monthEnd)];
|
state.forTime = [dayjs(start), dayjs(monthEnd)];
|
||||||
state.towParmasn.time = [dayjs(start), dayjs(monthEnd)];
|
state.towParmasn.time = [dayjs(start), dayjs(monthEnd)];
|
||||||
|
state.towParmasn.day = [dayjs( year + "-" + month + "-" + "01" ), dayjs(monthEnd)];
|
||||||
|
state.threeDay = [dayjs( year + "-" + month + "-" + "01" ), dayjs(monthEnd)];
|
||||||
|
state.forDay = [dayjs( year + "-" + month + "-" + "01" ), dayjs(monthEnd)];
|
||||||
leftMonthChange([dayjs(start), dayjs(monthEnd)]);
|
leftMonthChange([dayjs(start), dayjs(monthEnd)]);
|
||||||
rightMonthChange([dayjs(start), dayjs(monthEnd)]);
|
rightMonthChange([dayjs(start), dayjs(monthEnd)]);
|
||||||
twoMonthChange([dayjs(start), dayjs(monthEnd)]);
|
twoMonthChange([dayjs(start), dayjs(monthEnd)]);
|
||||||
@@ -1425,6 +1582,7 @@ export default {
|
|||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
checkboxChange,
|
||||||
eChartClickRight,
|
eChartClickRight,
|
||||||
rightMonthChange,
|
rightMonthChange,
|
||||||
rightChange,
|
rightChange,
|
||||||
@@ -1540,7 +1698,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.item1 {
|
.item1 {
|
||||||
margin-right: 15px;
|
// margin-right: 15px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.start,
|
.start,
|
||||||
@@ -1561,6 +1719,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.item2 {
|
.item2 {
|
||||||
|
margin-right: 15px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.start,
|
.start,
|
||||||
|
|||||||
@@ -12,17 +12,19 @@
|
|||||||
allowClear
|
allowClear
|
||||||
></a-select> -->
|
></a-select> -->
|
||||||
<a-cascader
|
<a-cascader
|
||||||
|
change-on-select
|
||||||
:options="option"
|
:options="option"
|
||||||
placeholder="请选择组织"
|
|
||||||
v-model:value="orgId"
|
v-model:value="orgId"
|
||||||
:allowClear="allowClear"
|
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
placeholder="请选择归属组织"
|
||||||
|
:allowClear=false
|
||||||
:fieldNames="{
|
:fieldNames="{
|
||||||
label: 'name',
|
label: 'orgName',
|
||||||
value: 'id',
|
value: 'organizationId',
|
||||||
children: 'treeChildList',
|
children: 'childList',
|
||||||
}"
|
}"
|
||||||
/>
|
>
|
||||||
|
</a-cascader>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-input
|
||||||
@@ -44,6 +46,15 @@
|
|||||||
>
|
>
|
||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="publishTime"
|
||||||
|
type="date"
|
||||||
|
valueFormat="YYYY-MM-DD"
|
||||||
|
:placeholder="['创建开始时间','结束时间']"
|
||||||
|
style="width: 100%; margin-right: 0px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="searchClick">
|
<div class="btnzx btnzx1" @click="searchClick">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -64,7 +75,13 @@
|
|||||||
:class="currentTab === index ? 'tabActive' : 'tabItem'"
|
:class="currentTab === index ? 'tabActive' : 'tabItem'"
|
||||||
@click="tabClick(index)"
|
@click="tabClick(index)"
|
||||||
>
|
>
|
||||||
|
<a-popover v-if="index==0" trigger="hover" placement="topLeft">
|
||||||
|
<template #content>
|
||||||
|
此处数据展示全部单层项目数量,列表展示条数与此处数量可能存在差异
|
||||||
|
</template>
|
||||||
{{ item.text }} ({{ item.num }})
|
{{ item.text }} ({{ item.num }})
|
||||||
|
</a-popover>
|
||||||
|
<span v-else>{{ item.text }} ({{ item.num }})</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnzs">
|
<div class="btnzs">
|
||||||
@@ -289,9 +306,11 @@ import axios from "axios";
|
|||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import Cookies from "vue-cookies";
|
import Cookies from "vue-cookies";
|
||||||
|
import {useStore} from "vuex";
|
||||||
export default {
|
export default {
|
||||||
name: "OvervoeW",
|
name: "OvervoeW",
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableLoading: false, // table加载图标
|
tableLoading: false, // table加载图标
|
||||||
tableDataTotal: 0, // 数据总条数
|
tableDataTotal: 0, // 数据总条数
|
||||||
@@ -306,25 +325,42 @@ export default {
|
|||||||
resetOrgId: [],
|
resetOrgId: [],
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
type: null,
|
type: null,
|
||||||
|
publishTime: [], // 创建时间
|
||||||
});
|
});
|
||||||
// 获取tab数据
|
// 获取tab数据
|
||||||
const getTabData = async () => {
|
const getTabData = async () => {
|
||||||
console.log(state.type);
|
console.log("getTabData 111111:",state.type);
|
||||||
|
console.log("getTabData 222222:",store.state.userInfo.roleList);
|
||||||
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
|
manageFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
axios({
|
axios({
|
||||||
method: "get",
|
method: "post",
|
||||||
url: "/report/boeu/all/total",
|
url: "/report/boeu/all/total",
|
||||||
params: { type: state.type },
|
// params: { manager: true },
|
||||||
|
data: {
|
||||||
|
manager: manageFlag,
|
||||||
|
name: state.name,
|
||||||
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
|
creator: state.creator,
|
||||||
|
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",
|
||||||
|
},
|
||||||
headers: {
|
headers: {
|
||||||
token: Cookies.get("token"),
|
token: Cookies.get("token"),
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
const list = [
|
const list = [
|
||||||
{ text: "项目", num: res.data.data?.projectTotal },
|
{ text: "项目", num: res.data.result?.projectTotal },
|
||||||
{ text: "学习路径图", num: res.data.data?.routerTotal },
|
{ text: "学习路径图", num: res.data.result?.routerTotal },
|
||||||
{ text: "授课", num: res.data.data?.teachingTotal },
|
{ text: "授课", num: res.data.result?.teachingTotal },
|
||||||
{ text: "课程", num: res.data.data?.courseTotal },
|
{ text: "课程", num: res.data.result?.courseTotal },
|
||||||
{ text: "考试", num: res.data.data?.examTotal },
|
{ text: "考试", num: res.data.result?.examTotal },
|
||||||
{ text: "案例", num: res.data.data?.caseTotal },
|
{ text: "案例", num: res.data.result?.caseTotal },
|
||||||
];
|
];
|
||||||
tabData.value = list;
|
tabData.value = list;
|
||||||
});
|
});
|
||||||
@@ -333,17 +369,46 @@ export default {
|
|||||||
const reset = async () => {
|
const reset = async () => {
|
||||||
state.tableLoading = true;
|
state.tableLoading = true;
|
||||||
state.creator = "";
|
state.creator = "";
|
||||||
|
state.publishTime = [];
|
||||||
state.name = "";
|
state.name = "";
|
||||||
state.orgId = state.resetOrgId;
|
state.orgId = state.resetOrgId;
|
||||||
getTableData();
|
getTableData();
|
||||||
|
getTabData();
|
||||||
};
|
};
|
||||||
//请求组织接口
|
//请求组织接口
|
||||||
const getOrgList = async () => {
|
const getOrgList = async () => {
|
||||||
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
|
manageFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
const res = await api.userGetUserOrg({});
|
const res = await api.userGetUserOrg({});
|
||||||
if (res) {
|
if (res) {
|
||||||
state.option = res.data?.result?.list;
|
if(manageFlag){
|
||||||
state.orgId = res.data?.result?.treeNodeList;
|
state.option = [{
|
||||||
state.resetOrgId = res.data?.result?.treeNodeList;
|
orgName:"全部",
|
||||||
|
organizationId: null,
|
||||||
|
childList:res.data?.result.orgTreeList
|
||||||
|
}];
|
||||||
|
state.orgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
state.resetOrgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
}else{
|
||||||
|
if(res.data?.result.orgTreeList!=null){
|
||||||
|
state.option = res.data?.result.orgTreeList;
|
||||||
|
state.orgId = res.data?.result.treeNodeList;
|
||||||
|
state.resetOrgId = res.data?.result.treeNodeList;
|
||||||
|
}else{
|
||||||
|
state.option = [{
|
||||||
|
orgName:"无权限",
|
||||||
|
organizationId: "1",
|
||||||
|
childList:[],
|
||||||
|
}];
|
||||||
|
state.orgId = ["1"];
|
||||||
|
state.resetOrgId = ["1"];
|
||||||
|
}
|
||||||
|
}
|
||||||
state.type = res.data?.result?.userType;
|
state.type = res.data?.result?.userType;
|
||||||
res.data?.result?.userType === 1
|
res.data?.result?.userType === 1
|
||||||
? (state.allowClear = true)
|
? (state.allowClear = true)
|
||||||
@@ -440,10 +505,12 @@ export default {
|
|||||||
url: "/report/boeu/case/exportAll",
|
url: "/report/boeu/case/exportAll",
|
||||||
data: {
|
data: {
|
||||||
name: state.name,
|
name: state.name,
|
||||||
organizationId: state.orgId
|
orgId: state.orgId
|
||||||
? state.orgId[state.orgId.length - 1]
|
? state.orgId[state.orgId.length - 1]
|
||||||
: null,
|
: null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
@@ -458,10 +525,12 @@ export default {
|
|||||||
url: "/report/boeu/exam/exportAll",
|
url: "/report/boeu/exam/exportAll",
|
||||||
data: {
|
data: {
|
||||||
name: state.name,
|
name: state.name,
|
||||||
organizationId: state.orgId
|
orgId: state.orgId
|
||||||
? state.orgId[state.orgId.length - 1]
|
? state.orgId[state.orgId.length - 1]
|
||||||
: null,
|
: null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
@@ -480,6 +549,8 @@ export default {
|
|||||||
? state.orgId[state.orgId.length - 1]
|
? state.orgId[state.orgId.length - 1]
|
||||||
: null,
|
: null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
@@ -498,6 +569,8 @@ export default {
|
|||||||
? state.orgId[state.orgId.length - 1]
|
? state.orgId[state.orgId.length - 1]
|
||||||
: null,
|
: null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
@@ -512,10 +585,12 @@ export default {
|
|||||||
url: "/report/boeu/router/exportAll",
|
url: "/report/boeu/router/exportAll",
|
||||||
data: {
|
data: {
|
||||||
name: state.name,
|
name: state.name,
|
||||||
organizationId: state.orgId
|
orgId: state.orgId
|
||||||
? state.orgId[state.orgId.length - 1]
|
? state.orgId[state.orgId.length - 1]
|
||||||
: null,
|
: null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
@@ -532,6 +607,8 @@ export default {
|
|||||||
name: state.name,
|
name: state.name,
|
||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
startCreateTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0] +" 00:00:01",
|
||||||
|
endCreateTime: typeof state.publishTime[1] === 'undefined' ? null : state.publishTime[1]+" 23:59:59",
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
@@ -554,14 +631,16 @@ export default {
|
|||||||
//考试列表
|
//考试列表
|
||||||
const res = await api.boeuExamPageList({
|
const res = await api.boeuExamPageList({
|
||||||
creator: state.creator,
|
creator: state.creator,
|
||||||
|
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",
|
||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
testName: state.name,
|
testName: state.name,
|
||||||
page: state.pageNo,
|
page: state.pageNo,
|
||||||
size: state.pageSize,
|
size: state.pageSize,
|
||||||
});
|
});
|
||||||
if (res) {
|
if (res) {
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.id,
|
key: item.id,
|
||||||
...item,
|
...item,
|
||||||
@@ -574,14 +653,16 @@ export default {
|
|||||||
//案例列表
|
//案例列表
|
||||||
const res = await api.boeuCasePageList({
|
const res = await api.boeuCasePageList({
|
||||||
author: state.creator,
|
author: state.creator,
|
||||||
|
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",
|
||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
title: state.name,
|
title: state.name,
|
||||||
page: state.pageNo,
|
page: state.pageNo,
|
||||||
size: state.pageSize,
|
size: state.pageSize,
|
||||||
});
|
});
|
||||||
if (res) {
|
if (res) {
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.id,
|
key: item.id,
|
||||||
...item,
|
...item,
|
||||||
@@ -599,15 +680,17 @@ export default {
|
|||||||
? state.orgId[state.orgId.length - 1]
|
? state.orgId[state.orgId.length - 1]
|
||||||
: null,
|
: null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
});
|
});
|
||||||
const list = res.data.rows.map((item) => {
|
const list = res.data.result.rows.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.boeCourseId,
|
key: item.boeCourseId,
|
||||||
...item,
|
...item,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
tableData.value = list;
|
tableData.value = list;
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
} else if (state.currentTab === 2) {
|
} else if (state.currentTab === 2) {
|
||||||
const res = await api.boeuTeachingPageList({
|
const res = await api.boeuTeachingPageList({
|
||||||
@@ -616,15 +699,17 @@ export default {
|
|||||||
teachingName: state.name,
|
teachingName: state.name,
|
||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
});
|
});
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.boeOffcoursePlanId,
|
key: item.boeOffcoursePlanId,
|
||||||
...item,
|
...item,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
tableData.value = list;
|
tableData.value = list;
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
} else if (state.currentTab === 1) {
|
} else if (state.currentTab === 1) {
|
||||||
const res = await api.boeuRoterPageList({
|
const res = await api.boeuRoterPageList({
|
||||||
@@ -633,8 +718,10 @@ export default {
|
|||||||
routerName: state.name,
|
routerName: state.name,
|
||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
|
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",
|
||||||
});
|
});
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.boeRouterInfoId,
|
key: item.boeRouterInfoId,
|
||||||
...item,
|
...item,
|
||||||
@@ -642,7 +729,7 @@ export default {
|
|||||||
});
|
});
|
||||||
tableData.value = list;
|
tableData.value = list;
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
} else if (state.currentTab === 0) {
|
} else if (state.currentTab === 0) {
|
||||||
const res = await api.boeuProjectPageList({
|
const res = await api.boeuProjectPageList({
|
||||||
page: state.pageNo,
|
page: state.pageNo,
|
||||||
@@ -650,6 +737,8 @@ export default {
|
|||||||
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
createName: state.creator,
|
createName: state.creator,
|
||||||
projectName: state.name,
|
projectName: state.name,
|
||||||
|
startCreateTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0] +" 00:00:01",
|
||||||
|
endCreateTime: typeof state.publishTime[1] === 'undefined' ? null : state.publishTime[1]+" 23:59:59",
|
||||||
});
|
});
|
||||||
if (res) {
|
if (res) {
|
||||||
const fun = (arr) => {
|
const fun = (arr) => {
|
||||||
@@ -666,8 +755,8 @@ export default {
|
|||||||
});
|
});
|
||||||
return list;
|
return list;
|
||||||
};
|
};
|
||||||
tableData.value = fun(res.data.rows);
|
tableData.value = fun(res.data.result.rows);
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -677,6 +766,7 @@ export default {
|
|||||||
state.pageSize = 10;
|
state.pageSize = 10;
|
||||||
state.tableDataTotal = 0;
|
state.tableDataTotal = 0;
|
||||||
getTableData();
|
getTableData();
|
||||||
|
getTabData();
|
||||||
};
|
};
|
||||||
// cloumns 表头
|
// cloumns 表头
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
@@ -798,7 +888,7 @@ export default {
|
|||||||
if (index === 0) {
|
if (index === 0) {
|
||||||
columns.value = [
|
columns.value = [
|
||||||
{
|
{
|
||||||
title: "名称",
|
title: "项目名称",
|
||||||
dataIndex: "projectName",
|
dataIndex: "projectName",
|
||||||
key: "projectName",
|
key: "projectName",
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -816,7 +906,7 @@ export default {
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "分类",
|
title: "项目分类",
|
||||||
dataIndex: "trainingType",
|
dataIndex: "trainingType",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "trainingType",
|
key: "trainingType",
|
||||||
@@ -840,6 +930,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "学习人数",
|
||||||
|
dataIndex: "startLearnerTotal",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "startLearnerTotal",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "参与人数",
|
title: "参与人数",
|
||||||
dataIndex: "participantsTotal",
|
dataIndex: "participantsTotal",
|
||||||
@@ -849,10 +947,10 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习人数",
|
title: "参与率",
|
||||||
dataIndex: "startLearnerTotal",
|
dataIndex: "participantsRate",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "startLearnerTotal",
|
key: "participantsRate",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
@@ -864,6 +962,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "完成率",
|
||||||
|
dataIndex: "completedRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "completedRate",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "项目时间",
|
title: "项目时间",
|
||||||
dataIndex: "proTime",
|
dataIndex: "proTime",
|
||||||
@@ -872,6 +978,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
dataIndex: "createTime",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "createTime",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "发布时间",
|
||||||
dataIndex: "publishTime",
|
dataIndex: "publishTime",
|
||||||
@@ -900,7 +1014,7 @@ export default {
|
|||||||
} else if (index === 4) {
|
} else if (index === 4) {
|
||||||
columns.value = [
|
columns.value = [
|
||||||
{
|
{
|
||||||
title: "名称",
|
title: "考试名称",
|
||||||
dataIndex: "testName",
|
dataIndex: "testName",
|
||||||
key: "id",
|
key: "id",
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -918,8 +1032,8 @@ export default {
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "参加人数",
|
title: "题量",
|
||||||
dataIndex: "totalNumber",
|
dataIndex: "numOfQuest",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
|
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -934,13 +1048,22 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "题量",
|
title: "参加人数",
|
||||||
dataIndex: "numOfQuest",
|
dataIndex: "totalNumber",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
|
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "参与率",
|
||||||
|
dataIndex: "answerRate",
|
||||||
|
ellipsis: true,
|
||||||
|
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "通过人数",
|
title: "通过人数",
|
||||||
dataIndex: "numOfPass",
|
dataIndex: "numOfPass",
|
||||||
@@ -957,6 +1080,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
dataIndex: "createTime",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "createTime",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "发布时间",
|
||||||
dataIndex: "publishTime",
|
dataIndex: "publishTime",
|
||||||
@@ -985,7 +1116,7 @@ export default {
|
|||||||
} else if (index === 5) {
|
} else if (index === 5) {
|
||||||
columns.value = [
|
columns.value = [
|
||||||
{
|
{
|
||||||
title: "名称",
|
title: "案例名称",
|
||||||
dataIndex: "title",
|
dataIndex: "title",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
},
|
},
|
||||||
@@ -995,6 +1126,12 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "案例分类",
|
||||||
|
// dataIndex: "majorType",
|
||||||
|
// ellipsis: true,
|
||||||
|
// align: "center",
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: "专业分类",
|
title: "专业分类",
|
||||||
dataIndex: "majorType",
|
dataIndex: "majorType",
|
||||||
@@ -1002,47 +1139,47 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "浏览量",
|
title: "浏览数",
|
||||||
dataIndex: "views",
|
dataIndex: "views",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "点赞量",
|
title: "点赞数",
|
||||||
dataIndex: "praises",
|
dataIndex: "praises",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "收藏量",
|
title: "评论数",
|
||||||
dataIndex: "favorites",
|
|
||||||
ellipsis: true,
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "评论量",
|
|
||||||
dataIndex: "comments",
|
dataIndex: "comments",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "收藏数",
|
||||||
|
dataIndex: "favorites",
|
||||||
|
ellipsis: true,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
dataIndex: "sysCreateTime",
|
dataIndex: "sysCreateTime",
|
||||||
key: "sysCreateTime",
|
key: "sysCreateTime",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "创建人/作者",
|
// title: "创建人/作者",
|
||||||
dataIndex: "authorName",
|
// dataIndex: "authorName",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
align: "center",
|
// align: "center",
|
||||||
},
|
// },
|
||||||
];
|
];
|
||||||
} else if (index === 3) {
|
} else if (index === 3) {
|
||||||
columns.value = [
|
columns.value = [
|
||||||
{
|
{
|
||||||
title: "名称",
|
title: "课程名称",
|
||||||
dataIndex: "name",
|
dataIndex: "name",
|
||||||
key: "name",
|
key: "name",
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -1060,19 +1197,19 @@ export default {
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "类型",
|
title: "课程分类",
|
||||||
dataIndex: "courseType",
|
dataIndex: "type",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "courseType",
|
key: "type",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "分类",
|
title: "类型",
|
||||||
dataIndex: "type",
|
dataIndex: "courseType",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "type",
|
key: "courseType",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
fixed: "left",
|
fixed: "left",
|
||||||
@@ -1095,22 +1232,6 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "评论数",
|
|
||||||
dataIndex: "commentTotal",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "commentTotal",
|
|
||||||
width: 120,
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "浏览量",
|
|
||||||
dataIndex: "viewTotal",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "viewTotal",
|
|
||||||
width: 120,
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "开课次数",
|
title: "开课次数",
|
||||||
dataIndex: "classTotal",
|
dataIndex: "classTotal",
|
||||||
@@ -1119,6 +1240,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "浏览次数",
|
||||||
|
dataIndex: "viewTotal",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "viewTotal",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "学习人数",
|
title: "学习人数",
|
||||||
dataIndex: "learnerNumber",
|
dataIndex: "learnerNumber",
|
||||||
@@ -1143,6 +1272,30 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "完成率",
|
||||||
|
dataIndex: "completedRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "completedRate",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "评论数",
|
||||||
|
dataIndex: "commentTotal",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "commentTotal",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
|
dataIndex: "createTime",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "createTime",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "发布时间",
|
||||||
dataIndex: "publishTime",
|
dataIndex: "publishTime",
|
||||||
@@ -1171,7 +1324,7 @@ export default {
|
|||||||
} else if (index === 2) {
|
} else if (index === 2) {
|
||||||
columns.value = [
|
columns.value = [
|
||||||
{
|
{
|
||||||
title: "开课名称",
|
title: "课程名称",
|
||||||
dataIndex: "name",
|
dataIndex: "name",
|
||||||
key: "name",
|
key: "name",
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -1189,7 +1342,7 @@ export default {
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "分类",
|
title: "课程分类",
|
||||||
dataIndex: "typeName",
|
dataIndex: "typeName",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "typeName",
|
key: "typeName",
|
||||||
@@ -1198,19 +1351,11 @@ export default {
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "授课时长(分钟)",
|
title: "授课时长(小时)",
|
||||||
dataIndex: "teachingLength",
|
dataIndex: "teachingLength",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "teachingLength",
|
key: "teachingLength",
|
||||||
width: 120,
|
width: 150,
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "授课教师",
|
|
||||||
dataIndex: "teacher",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "teacher",
|
|
||||||
width: 120,
|
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1222,21 +1367,13 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "评分",
|
title: "课程评分",
|
||||||
dataIndex: "score",
|
dataIndex: "score",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "score",
|
key: "score",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "授课时间",
|
|
||||||
dataIndex: "teachingTime",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "teachingTime",
|
|
||||||
width: 120,
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "创建时间",
|
title: "创建时间",
|
||||||
dataIndex: "createTime",
|
dataIndex: "createTime",
|
||||||
@@ -1245,6 +1382,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "授课时间",
|
||||||
|
dataIndex: "teachingTime",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "teachingTime",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: "状态",
|
||||||
dataIndex: "status",
|
dataIndex: "status",
|
||||||
@@ -1261,11 +1406,19 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "授课教师",
|
||||||
|
// dataIndex: "teacher",
|
||||||
|
// ellipsis: true,
|
||||||
|
// key: "teacher",
|
||||||
|
// width: 120,
|
||||||
|
// align: "center",
|
||||||
|
// },
|
||||||
];
|
];
|
||||||
} else if (index === 1) {
|
} else if (index === 1) {
|
||||||
columns.value = [
|
columns.value = [
|
||||||
{
|
{
|
||||||
title: "名称",
|
title: "路径图名称",
|
||||||
dataIndex: "boeRouterInfoName",
|
dataIndex: "boeRouterInfoName",
|
||||||
key: "boeRouterInfoName",
|
key: "boeRouterInfoName",
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -1317,6 +1470,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "参与率",
|
||||||
|
dataIndex: "participantsRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "participantsRate",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "完成人数",
|
title: "完成人数",
|
||||||
dataIndex: "completionNumber",
|
dataIndex: "completionNumber",
|
||||||
@@ -1326,13 +1487,29 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "完成率",
|
||||||
|
dataIndex: "completedRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "completedRate",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建时间",
|
||||||
dataIndex: "createTime",
|
dataIndex: "createTime",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "createTime",
|
key: "createTime",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "发布时间",
|
||||||
|
dataIndex: "publishTime",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "publishTime",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: "状态",
|
||||||
dataIndex: "status",
|
dataIndex: "status",
|
||||||
|
|||||||
@@ -23,6 +23,15 @@
|
|||||||
>
|
>
|
||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="publishTime"
|
||||||
|
type="date"
|
||||||
|
valueFormat="YYYY-MM-DD"
|
||||||
|
:placeholder="['发布开始时间','结束时间']"
|
||||||
|
style="width: 100%; margin-right: 0px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="searchData">
|
<div class="btnzx btnzx1" @click="searchData">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -104,11 +113,13 @@ export default {
|
|||||||
pageSize: 10, // 每页条数
|
pageSize: 10, // 每页条数
|
||||||
pageNo: 1, //当前页码
|
pageNo: 1, //当前页码
|
||||||
createName: "",
|
createName: "",
|
||||||
|
publishTime: "", // 发布时间
|
||||||
title: "",
|
title: "",
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
});
|
});
|
||||||
const reset = async () => {
|
const reset = async () => {
|
||||||
state.createName = "";
|
state.createName = "";
|
||||||
|
state.publishTime = [];
|
||||||
state.title = "";
|
state.title = "";
|
||||||
state.selectedRowKeys = []
|
state.selectedRowKeys = []
|
||||||
getTableData();
|
getTableData();
|
||||||
@@ -118,13 +129,16 @@ export default {
|
|||||||
const params = {
|
const params = {
|
||||||
title: state.title,
|
title: state.title,
|
||||||
createName: state.createName,
|
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",
|
||||||
pageNo: state.pageNo,
|
pageNo: state.pageNo,
|
||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
};
|
};
|
||||||
const res = await api.boeuQuestionPageList(params);
|
const res = await api.boeuQuestionPageList(params);
|
||||||
if (res) {
|
if (res) {
|
||||||
tableData.value = res.data.rows;
|
tableData.value = res.data.result.rows;
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -133,46 +147,50 @@ export default {
|
|||||||
// cloumns 表头
|
// cloumns 表头
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
{
|
||||||
title: "问答标题",
|
title: "问答名称",
|
||||||
dataIndex: "title",
|
dataIndex: "title",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "title",
|
key: "title",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "归属组织",
|
||||||
|
// dataIndex: "organizationName",
|
||||||
|
// ellipsis: true,
|
||||||
|
// key: "organizationName",
|
||||||
|
// align: "center",
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: "归属组织",
|
title: "浏览数",
|
||||||
dataIndex: "organizationName",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "organizationName",
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "浏览量",
|
|
||||||
dataIndex: "views",
|
dataIndex: "views",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "views",
|
key: "views",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "评论数",
|
title: "点赞数",
|
||||||
dataIndex: "answers",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "answers",
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "分享量",
|
|
||||||
dataIndex: "shares",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "shares",
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "点赞量",
|
|
||||||
dataIndex: "praises",
|
dataIndex: "praises",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "praises",
|
key: "praises",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "回答数",
|
||||||
|
dataIndex: "answers",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "answers",
|
||||||
|
align: "center",
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "分享数",
|
||||||
|
dataIndex: "shares",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "shares",
|
||||||
|
align: "center",
|
||||||
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "收藏数",
|
title: "收藏数",
|
||||||
@@ -180,6 +198,7 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "favorites",
|
key: "favorites",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "发布时间",
|
||||||
@@ -187,20 +206,22 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "sysCreateTime",
|
key: "sysCreateTime",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 140,
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "问答状态",
|
// title: "问答状态",
|
||||||
dataIndex: "status",
|
// dataIndex: "status",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
key: "status",
|
// key: "status",
|
||||||
align: "center",
|
// align: "center",
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "创建人",
|
title: "创建人",
|
||||||
dataIndex: "sysCreateBy",
|
dataIndex: "sysCreateBy",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "sysCreateBy",
|
key: "sysCreateBy",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 140,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
// 导出事件
|
// 导出事件
|
||||||
@@ -227,6 +248,9 @@ export default {
|
|||||||
const params = {
|
const params = {
|
||||||
title: state.title,
|
title: state.title,
|
||||||
createName: state.createName,
|
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",
|
||||||
pageNo: state.pageNo,
|
pageNo: state.pageNo,
|
||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
};
|
};
|
||||||
@@ -294,7 +318,7 @@ export default {
|
|||||||
.select {
|
.select {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
width: calc((100% - 76px - 200px) / 2);
|
width: calc((100% - 76px - 220px) / 3);
|
||||||
}
|
}
|
||||||
.btnz {
|
.btnz {
|
||||||
padding: 0px 26px 0px 26px;
|
padding: 0px 26px 0px 26px;
|
||||||
|
|||||||
@@ -23,6 +23,15 @@
|
|||||||
>
|
>
|
||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="publishTime"
|
||||||
|
type="date"
|
||||||
|
valueFormat="YYYY-MM-DD"
|
||||||
|
:placeholder="['发布开始时间','结束时间']"
|
||||||
|
style="width: 100%; margin-right: 0px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="searchData">
|
<div class="btnzx btnzx1" @click="searchData">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -127,6 +136,7 @@ export default {
|
|||||||
pageSize: 10, // 每页条数
|
pageSize: 10, // 每页条数
|
||||||
pageNo: 1, //当前页码
|
pageNo: 1, //当前页码
|
||||||
createName: "", //创建者名称
|
createName: "", //创建者名称
|
||||||
|
publishTime: "", // 发布时间
|
||||||
title: "", // 文章名称
|
title: "", // 文章名称
|
||||||
selectedRowKeys: [], // 选中的列
|
selectedRowKeys: [], // 选中的列
|
||||||
});
|
});
|
||||||
@@ -157,6 +167,11 @@ export default {
|
|||||||
if (state.createName) {
|
if (state.createName) {
|
||||||
params.createName = state.createName;
|
params.createName = state.createName;
|
||||||
}
|
}
|
||||||
|
if (state.publishTime.length>0) {
|
||||||
|
// params.publishTime = state.publishTime;
|
||||||
|
params.startTime = typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+" 00:00:00";
|
||||||
|
params.endTime = typeof state.publishTime[1] === 'undefined' ? null : state.publishTime[1]+" 23:59:59";
|
||||||
|
}
|
||||||
axios({
|
axios({
|
||||||
method: "post",
|
method: "post",
|
||||||
url: "/report/boeu/article/exportAll",
|
url: "/report/boeu/article/exportAll",
|
||||||
@@ -183,19 +198,31 @@ export default {
|
|||||||
}
|
}
|
||||||
const getTableData = async () => {
|
const getTableData = async () => {
|
||||||
state.tableLoading = true;
|
state.tableLoading = true;
|
||||||
const params = { page: state.pageNo, size: state.pageSize };
|
const params = {
|
||||||
|
title: state.title,
|
||||||
|
createName: state.createName,
|
||||||
|
// publishTime: state.publishTime,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+" 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[1] === 'undefined' ? null : state.publishTime[1]+" 23:59:59",
|
||||||
|
page: state.pageNo,
|
||||||
|
size: state.pageSize
|
||||||
|
};
|
||||||
if (state.title) {
|
if (state.title) {
|
||||||
params.title = state.title;
|
params.title = state.title;
|
||||||
}
|
}
|
||||||
if (state.createName) {
|
if (state.createName) {
|
||||||
params.createName = state.createName;
|
params.createName = state.createName;
|
||||||
}
|
}
|
||||||
|
if (state.publishTime.length>0) {
|
||||||
|
// params.publishTime = state.publishTime;
|
||||||
|
params.startTime = state.publishTime[0]+" 00:00:00";
|
||||||
|
params.endTime = state.publishTime[1]+" 23:59:59";
|
||||||
|
}
|
||||||
const res = await api.boeuArticlePageList(params);
|
const res = await api.boeuArticlePageList(params);
|
||||||
if (res) {
|
if (res) {
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
key: item.id,
|
key: item.id,
|
||||||
@@ -207,6 +234,7 @@ export default {
|
|||||||
const resetClick = () => {
|
const resetClick = () => {
|
||||||
state.selectedRowKeys = [];
|
state.selectedRowKeys = [];
|
||||||
state.createName = "";
|
state.createName = "";
|
||||||
|
state.publishTime = [];
|
||||||
state.title = "";
|
state.title = "";
|
||||||
getTableData();
|
getTableData();
|
||||||
};
|
};
|
||||||
@@ -220,19 +248,28 @@ export default {
|
|||||||
key: "title",
|
key: "title",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "归属组织",
|
||||||
|
// dataIndex: "orgName",
|
||||||
|
// ellipsis: true,
|
||||||
|
// key: "orgName",
|
||||||
|
// align: "center",
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: "归属组织",
|
title: "浏览数",
|
||||||
dataIndex: "orgName",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "orgName",
|
|
||||||
align: "center",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "浏览量",
|
|
||||||
dataIndex: "views",
|
dataIndex: "views",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "views",
|
key: "views",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "点赞数",
|
||||||
|
dataIndex: "praises",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "praises",
|
||||||
|
align: "center",
|
||||||
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "评论数",
|
title: "评论数",
|
||||||
@@ -240,20 +277,15 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "comments",
|
key: "comments",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "分享量",
|
title: "分享数",
|
||||||
dataIndex: "shares",
|
dataIndex: "shares",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "shares",
|
key: "shares",
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
width: 100,
|
||||||
{
|
|
||||||
title: "点赞量",
|
|
||||||
dataIndex: "praises",
|
|
||||||
ellipsis: true,
|
|
||||||
key: "praises",
|
|
||||||
align: "center",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "收藏数",
|
title: "收藏数",
|
||||||
@@ -261,6 +293,7 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "favorites",
|
key: "favorites",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "发布时间",
|
||||||
@@ -268,20 +301,22 @@ export default {
|
|||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "publishTime",
|
key: "publishTime",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 140,
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "文章状态",
|
// title: "文章状态",
|
||||||
dataIndex: "status",
|
// dataIndex: "status",
|
||||||
ellipsis: true,
|
// ellipsis: true,
|
||||||
key: "status",
|
// key: "status",
|
||||||
align: "center",
|
// align: "center",
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "创建人",
|
title: "创建人",
|
||||||
dataIndex: "sysCreateBy",
|
dataIndex: "sysCreateBy",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "sysCreateBy",
|
key: "sysCreateBy",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
width: 120,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
// table选中
|
// table选中
|
||||||
@@ -327,7 +362,7 @@ export default {
|
|||||||
.select {
|
.select {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
width: calc((100% - 76px - 200px) / 2);
|
width: calc((100% - 76px - 220px) / 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnz {
|
.btnz {
|
||||||
|
|||||||
@@ -12,15 +12,16 @@
|
|||||||
allowClear
|
allowClear
|
||||||
></a-select> -->
|
></a-select> -->
|
||||||
<a-cascader
|
<a-cascader
|
||||||
|
change-on-select
|
||||||
:options="option"
|
:options="option"
|
||||||
placeholder="请选择组织"
|
|
||||||
v-model:value="orgId"
|
v-model:value="orgId"
|
||||||
:allowClear="allowClear"
|
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
placeholder="请选择归属组织"
|
||||||
|
:allowClear=false
|
||||||
:fieldNames="{
|
:fieldNames="{
|
||||||
label: 'name',
|
label: 'orgName',
|
||||||
value: 'id',
|
value: 'organizationId',
|
||||||
children: 'treeChildList',
|
children: 'childList',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
</a-cascader>
|
</a-cascader>
|
||||||
@@ -28,8 +29,8 @@
|
|||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-input
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入考试名称"
|
||||||
v-model:value="name"
|
v-model:value="testName"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
>
|
>
|
||||||
@@ -38,22 +39,21 @@
|
|||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-input
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号"
|
placeholder="请输入创建人"
|
||||||
v-model:value="userNo"
|
v-model:value="creator"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
>
|
>
|
||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-range-picker
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
v-model:value="publishTime"
|
||||||
placeholder="请输入Band"
|
type="date"
|
||||||
v-model:value="band"
|
valueFormat="YYYY-MM-DD"
|
||||||
allowClear
|
:placeholder="['发布开始时间','结束时间']"
|
||||||
showSearch
|
style="width: 100%; margin-right: 0px"
|
||||||
>
|
/>
|
||||||
</a-input>
|
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="getTableData">
|
<div class="btnzx btnzx1" @click="getTableData">
|
||||||
@@ -94,6 +94,38 @@
|
|||||||
onChange: onSelectChange,
|
onChange: onSelectChange,
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
|
<template #bodyCell="{ column, record }">
|
||||||
|
<template v-if="column.key === 'published'">
|
||||||
|
<span>{{
|
||||||
|
record.published == 0
|
||||||
|
? "未发布"
|
||||||
|
: record.published == 1
|
||||||
|
? "已发布"
|
||||||
|
: ""
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
<template v-if="column.key === 'pertainCourse'">
|
||||||
|
<span>{{
|
||||||
|
record.pertainCourse == null
|
||||||
|
? "-"
|
||||||
|
: record.pertainCourse
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
<template v-if="column.key === 'pertainProject'">
|
||||||
|
<span>{{
|
||||||
|
record.pertainProject == null
|
||||||
|
? "-"
|
||||||
|
: record.pertainProject
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
<template v-if="column.key === 'pertainRouter'">
|
||||||
|
<span>{{
|
||||||
|
record.pertainRouter == null
|
||||||
|
? "-"
|
||||||
|
: record.pertainRouter
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
<div class="tableBox">
|
<div class="tableBox">
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
@@ -120,9 +152,11 @@ import { message } from "ant-design-vue";
|
|||||||
import Cookies from "vue-cookies";
|
import Cookies from "vue-cookies";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import downLoad from "../../utils/downLoad";
|
import downLoad from "../../utils/downLoad";
|
||||||
|
import { useStore } from 'vuex';
|
||||||
export default {
|
export default {
|
||||||
name: "EmployeelearninG",
|
name: "EmployeelearninG",
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableLoading: false, // table加载图标
|
tableLoading: false, // table加载图标
|
||||||
tableDataTotal: 0, // 数据总条数
|
tableDataTotal: 0, // 数据总条数
|
||||||
@@ -136,22 +170,52 @@ export default {
|
|||||||
selectedRowKeys: [], // 选中的列
|
selectedRowKeys: [], // 选中的列
|
||||||
ids: [],
|
ids: [],
|
||||||
allowClear:true,
|
allowClear:true,
|
||||||
resetOrgId:[]
|
resetOrgId:[],
|
||||||
|
creator: "",
|
||||||
|
testName: "",
|
||||||
|
publishTime: [],
|
||||||
});
|
});
|
||||||
// table选中
|
// table选中
|
||||||
const onSelectChange = (selectedRowKeys, record) => {
|
const onSelectChange = (selectedRowKeys, record) => {
|
||||||
state.selectedRowKeys = selectedRowKeys;
|
state.selectedRowKeys = selectedRowKeys;
|
||||||
state.ids = record?.map((item) => {
|
state.ids = record?.map((item) => {
|
||||||
return item.basicBoeUserId;
|
return item.id;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
//请求组织接口
|
//请求组织接口
|
||||||
const getOrgList = async () => {
|
const getOrgList = async () => {
|
||||||
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
|
manageFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
const res = await api.userGetUserOrg({});
|
const res = await api.userGetUserOrg({});
|
||||||
if (res) {
|
if (res) {
|
||||||
state.option = res.data?.result?.list;
|
if(manageFlag){
|
||||||
state.orgId = res.data?.result?.treeNodeList;
|
state.option = [{
|
||||||
state.resetOrgId = res.data?.result?.treeNodeList;
|
orgName:"全部",
|
||||||
|
organizationId: null,
|
||||||
|
childList:res.data?.result.orgTreeList
|
||||||
|
}];
|
||||||
|
state.orgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
state.resetOrgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
}else{
|
||||||
|
if(res.data?.result.orgTreeList!=null){
|
||||||
|
state.option = res.data?.result.orgTreeList;
|
||||||
|
state.orgId = res.data?.result.treeNodeList;
|
||||||
|
state.resetOrgId = res.data?.result.treeNodeList;
|
||||||
|
}else{
|
||||||
|
state.option = [{
|
||||||
|
orgName:"无权限",
|
||||||
|
organizationId: "1",
|
||||||
|
childList:[],
|
||||||
|
}];
|
||||||
|
state.orgId = ["1"];
|
||||||
|
state.resetOrgId = ["1"];
|
||||||
|
}
|
||||||
|
}
|
||||||
res.data?.result?.userType === 1
|
res.data?.result?.userType === 1
|
||||||
? (state.allowClear = true)
|
? (state.allowClear = true)
|
||||||
: (state.allowClear = false);
|
: (state.allowClear = false);
|
||||||
@@ -165,14 +229,14 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
axios({
|
axios({
|
||||||
method: "get",
|
method: "get",
|
||||||
url: "/report/boeu/studyData/export",
|
url: "/report/boeu/exam/export",
|
||||||
params: { ids: `${state.ids}` },
|
params: { ids: `${state.ids}` },
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
token: Cookies.get("token"),
|
token: Cookies.get("token"),
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
downLoad(res.data, "学习员工数据.xlsx");
|
downLoad(res.data, "考试列表.xlsx");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -181,98 +245,162 @@ export default {
|
|||||||
// cloumns 表头
|
// cloumns 表头
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
{
|
||||||
title: "工号",
|
title: "考试名称",
|
||||||
dataIndex: "userNo",
|
dataIndex: "testName",
|
||||||
key: "userNo",
|
key: "testName",
|
||||||
width: 120,
|
width: 120,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "姓名",
|
title: "归属组织",
|
||||||
dataIndex: "name",
|
dataIndex: "resOwner",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "name",
|
key: "resOwner",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "组织信息",
|
title: "归属课程",
|
||||||
dataIndex: "departmentName",
|
dataIndex: "pertainCourse",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "departmentName",
|
key: "pertainCourse",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "岗位",
|
title: "归属项目",
|
||||||
dataIndex: "jobName",
|
dataIndex: "pertainProject",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "jobName",
|
key: "pertainProject",
|
||||||
|
align: "center",
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "归属路径",
|
||||||
|
dataIndex: "pertainRouter",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "pertainRouter",
|
||||||
|
align: "center",
|
||||||
|
width: 120,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "题量",
|
||||||
|
dataIndex: "numOfQuest",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "numOfQuest",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Band",
|
title: "考试人数",
|
||||||
dataIndex: "bandCode",
|
dataIndex: "totalNumber",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "bandCode",
|
key: "totalNumber",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "授课次数",
|
title: "参加人数",
|
||||||
dataIndex: "teachingTotal",
|
dataIndex: "numOfAnswer",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "teachingTotal",
|
key: "numOfAnswer",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "授课时长(分钟)",
|
title: "参与率",
|
||||||
dataIndex: "teachingTime",
|
dataIndex: "answerRate",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "teachingTime",
|
key: "answerRate",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "案例数",
|
title: "考试次数",
|
||||||
dataIndex: "caseTotal",
|
dataIndex: "testTimes",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "caseTotal",
|
key: "testTimes",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习项目",
|
title: "考试时长",
|
||||||
dataIndex: "studyProject",
|
dataIndex: "testDuration",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyProject",
|
key: "testDuration",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习路径",
|
title: "考试满分",
|
||||||
dataIndex: "studyRouter",
|
dataIndex: "totalScore",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyRouter",
|
key: "totalScore",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "学习课程",
|
title: "考试合格分",
|
||||||
dataIndex: "studyClass",
|
dataIndex: "passLine",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyClass",
|
key: "passLine",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "累计学习时长(分钟)",
|
title: "平均答题时长",
|
||||||
dataIndex: "studyTimeSum",
|
dataIndex: "averageAnswerTime",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "studyTimeSum",
|
key: "averageAnswerTime",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "平均得分",
|
||||||
|
dataIndex: "averageScore",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "averageScore",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "通过人数",
|
||||||
|
dataIndex: "numOfPass",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "numOfPass",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "通过率",
|
||||||
|
dataIndex: "passRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "passRate",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发布时间",
|
||||||
|
dataIndex: "publishTime",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "publishTime",
|
||||||
|
width: 140,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "考试状态",
|
||||||
|
dataIndex: "published",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "published",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建人",
|
||||||
|
dataIndex: "creator",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "creator",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
@@ -300,15 +428,15 @@ export default {
|
|||||||
// 行内单条下载
|
// 行内单条下载
|
||||||
const oneExport = (record) => {
|
const oneExport = (record) => {
|
||||||
axios({
|
axios({
|
||||||
method: "get",
|
method: "post",
|
||||||
url: "/report/boeu/studyData/export",
|
url: "/report/boeu/exam/export/detail/v2",
|
||||||
params: { ids: `${record.record.basicBoeUserId}` },
|
data: { ids: [`${record.record.id}`] },
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
token: Cookies.get("token"),
|
token: Cookies.get("token"),
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
downLoad(res.data, "学习员工数据.xlsx");
|
downLoad(res.data, "考试详细数据.xlsx");
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
//table 分页事件
|
//table 分页事件
|
||||||
@@ -319,17 +447,21 @@ export default {
|
|||||||
// 获取数据
|
// 获取数据
|
||||||
const getTableData = async () => {
|
const getTableData = async () => {
|
||||||
state.tableLoading = true;
|
state.tableLoading = true;
|
||||||
const res = await api.boeuStudyDataPageList({
|
const res = await api.boeuExamPageListV2({
|
||||||
page: state.pageNo,
|
page: state.pageNo,
|
||||||
size: state.pageSize,
|
size: state.pageSize,
|
||||||
userNo: state.userNo,
|
// userNo: state.userNo,
|
||||||
name: state.name,
|
testName: state.testName,
|
||||||
departmentId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
createName: state.creator,
|
||||||
bandCode: state.band,
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
|
// name: state.name,
|
||||||
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
|
// bandCode: state.band,
|
||||||
});
|
});
|
||||||
if (res) {
|
if (res) {
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
const list = res.data.rows?.map((item) => {
|
const list = res.data.result.rows?.map((item) => {
|
||||||
return {
|
return {
|
||||||
key: item.id,
|
key: item.id,
|
||||||
...item,
|
...item,
|
||||||
@@ -342,9 +474,12 @@ export default {
|
|||||||
// 重置按钮
|
// 重置按钮
|
||||||
const reset = async () => {
|
const reset = async () => {
|
||||||
state.tableLoading = true;
|
state.tableLoading = true;
|
||||||
state.name = "";
|
// state.name = "";
|
||||||
state.band = "";
|
// state.band = "";
|
||||||
state.userNo = "";
|
// state.userNo = "";
|
||||||
|
state.testName = "";
|
||||||
|
state.creator = "";
|
||||||
|
state.publishTime = [];
|
||||||
state.orgId = state.resetOrgId;
|
state.orgId = state.resetOrgId;
|
||||||
getTableData();
|
getTableData();
|
||||||
};
|
};
|
||||||
@@ -353,19 +488,23 @@ export default {
|
|||||||
const exportAllbtnz = async () => {
|
const exportAllbtnz = async () => {
|
||||||
axios({
|
axios({
|
||||||
method: "post",
|
method: "post",
|
||||||
url: "/report/boeu/studyData/exportAll",
|
url: "/report/boeu/exam/export/list/v2",
|
||||||
data: {
|
data: {
|
||||||
userNo: state.userNo,
|
// userNo: state.userNo,
|
||||||
name: state.name,
|
// name: state.name,
|
||||||
departmentId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
testName: state.testName,
|
||||||
bandCode: state.band,
|
createName: state.creator,
|
||||||
|
startTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+ " 00:00:00",
|
||||||
|
endTime: typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[1]+ " 23:59:59",
|
||||||
|
orgId: state.orgId ? state.orgId[state.orgId.length - 1] : null,
|
||||||
|
// bandCode: state.band,
|
||||||
},
|
},
|
||||||
responseType: "blob",
|
responseType: "blob",
|
||||||
headers: {
|
headers: {
|
||||||
token: Cookies.get("token"),
|
token: Cookies.get("token"),
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
downLoad(res.data, "学习员工数据.xlsx");
|
downLoad(res.data, "考试列表.xlsx");
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|||||||
@@ -3,6 +3,22 @@
|
|||||||
<div class="project">
|
<div class="project">
|
||||||
<!-- 以下为顶部搜索框 -->
|
<!-- 以下为顶部搜索框 -->
|
||||||
<div class="filter">
|
<div class="filter">
|
||||||
|
<div class="select">
|
||||||
|
<a-cascader
|
||||||
|
change-on-select
|
||||||
|
:options="option"
|
||||||
|
v-model:value="orgId"
|
||||||
|
style="width: 100%"
|
||||||
|
placeholder="请选择归属组织"
|
||||||
|
:allowClear=false
|
||||||
|
:fieldNames="{
|
||||||
|
label: 'orgName',
|
||||||
|
value: 'organizationId',
|
||||||
|
children: 'childList',
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
</a-cascader>
|
||||||
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-input
|
<a-input
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
@@ -14,21 +30,25 @@
|
|||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
<a-cascader
|
<a-input
|
||||||
:options="option"
|
style="width: 100%; height: 40px; border-radius: 8px"
|
||||||
placeholder="请选择组织"
|
placeholder="请输入创建人"
|
||||||
v-model:value="orgId"
|
allowClear
|
||||||
:allowClear="allowClear"
|
showSearch
|
||||||
style="width: 100%"
|
v-model:value="createName"
|
||||||
:fieldNames="{
|
|
||||||
label: 'name',
|
|
||||||
value: 'id',
|
|
||||||
children: 'treeChildList',
|
|
||||||
}"
|
|
||||||
>
|
>
|
||||||
</a-cascader>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
|
<a-range-picker
|
||||||
|
v-model:value="publishTime"
|
||||||
|
type="date"
|
||||||
|
valueFormat="YYYY-MM-DD"
|
||||||
|
:placeholder="['发布开始时间','结束时间']"
|
||||||
|
style="width: 100%; margin-right: 0px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="select">
|
||||||
<a-select
|
<a-select
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="项目状态"
|
placeholder="项目状态"
|
||||||
@@ -36,17 +56,7 @@
|
|||||||
:options="stateOptions"
|
:options="stateOptions"
|
||||||
v-model:value="status"
|
v-model:value="status"
|
||||||
></a-select>
|
></a-select>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="select">
|
|
||||||
<a-input
|
|
||||||
style="width: 100%; height: 40px; border-radius: 8px"
|
|
||||||
placeholder="请输入创建者"
|
|
||||||
allowClear
|
|
||||||
showSearch
|
|
||||||
v-model:value="createName"
|
|
||||||
>
|
|
||||||
</a-input>
|
|
||||||
</div>
|
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<div class="btnzx btnzx1" @click="searchData">
|
<div class="btnzx btnzx1" @click="searchData">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -169,9 +179,11 @@ import axios from "axios";
|
|||||||
import Cookies from "vue-cookies";
|
import Cookies from "vue-cookies";
|
||||||
import downLoad from "../../utils/downLoad";
|
import downLoad from "../../utils/downLoad";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
|
import { useStore } from "vuex";
|
||||||
export default {
|
export default {
|
||||||
name: "reportProject",
|
name: "reportProject",
|
||||||
setup() {
|
setup() {
|
||||||
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableLoading: false, // table加载图标
|
tableLoading: false, // table加载图标
|
||||||
tableDataTotal: 0, // 数据总条数
|
tableDataTotal: 0, // 数据总条数
|
||||||
@@ -183,6 +195,7 @@ export default {
|
|||||||
resetOrgId: [],
|
resetOrgId: [],
|
||||||
projectName: "",
|
projectName: "",
|
||||||
createName: "",
|
createName: "",
|
||||||
|
publishTime: [], // 发布时间
|
||||||
selectedRowKeys: [], // 选中的列
|
selectedRowKeys: [], // 选中的列
|
||||||
status: null,
|
status: null,
|
||||||
stateOptions: [
|
stateOptions: [
|
||||||
@@ -215,6 +228,9 @@ export default {
|
|||||||
params.orgId = state.orgId;
|
params.orgId = state.orgId;
|
||||||
params.createName = state.createName;
|
params.createName = state.createName;
|
||||||
params.projectName = state.projectName;
|
params.projectName = state.projectName;
|
||||||
|
// params.publishTime = state.publishTime;
|
||||||
|
params.startPublishTime =typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+" 00:00:01";
|
||||||
|
params.endPublishTime = typeof state.publishTime[1] === 'undefined' ? null : state.publishTime[1]+" 23:59:59";
|
||||||
params.page = state.pageNo;
|
params.page = state.pageNo;
|
||||||
params.size = state.pageSize;
|
params.size = state.pageSize;
|
||||||
params.orgId = state.orgId ? state.orgId[state.orgId.length - 1] : null;
|
params.orgId = state.orgId ? state.orgId[state.orgId.length - 1] : null;
|
||||||
@@ -261,6 +277,9 @@ export default {
|
|||||||
params.orgId = state.orgId;
|
params.orgId = state.orgId;
|
||||||
params.createName = state.createName;
|
params.createName = state.createName;
|
||||||
params.projectName = state.projectName;
|
params.projectName = state.projectName;
|
||||||
|
// params.publishTime = state.publishTime;
|
||||||
|
params.startPublishTime =typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+" 00:00:01";
|
||||||
|
params.endPublishTime = typeof state.publishTime[1] === 'undefined' ? null : state.publishTime[1]+" 23:59:59";
|
||||||
params.page = state.pageNo;
|
params.page = state.pageNo;
|
||||||
params.size = state.pageSize;
|
params.size = state.pageSize;
|
||||||
params.orgId = state.orgId ? state.orgId[state.orgId.length - 1] : null;
|
params.orgId = state.orgId ? state.orgId[state.orgId.length - 1] : null;
|
||||||
@@ -290,14 +309,43 @@ export default {
|
|||||||
};
|
};
|
||||||
//请求组织接口
|
//请求组织接口
|
||||||
const getOrgList = async () => {
|
const getOrgList = async () => {
|
||||||
const res = await api.userGetUserOrg({});
|
var manageFlag = false;
|
||||||
|
for(let i=0;i<store.state.userInfo.roleList.length;i++){
|
||||||
|
if(store.state.userInfo.roleList[i].roleCode=="system-admin"){
|
||||||
|
manageFlag = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
roleList: store.state.userInfo.roleList,
|
||||||
|
userId: store.state.userInfo.userId
|
||||||
|
}
|
||||||
|
const res = await api.userGetUserOrg(params);
|
||||||
if (res) {
|
if (res) {
|
||||||
state.option = res.data?.result?.list;
|
if(manageFlag){
|
||||||
state.orgId = res.data?.result?.treeNodeList;
|
state.option = [{
|
||||||
state.resetOrgId = res.data?.result?.treeNodeList;
|
orgName:"全部",
|
||||||
res.data?.result?.userType === 1
|
organizationId: null,
|
||||||
? (state.allowClear = true)
|
childList:res.data?.result.orgTreeList
|
||||||
: (state.allowClear = false);
|
}];
|
||||||
|
state.orgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
state.resetOrgId = [null,...res.data?.result.treeNodeList];
|
||||||
|
}else{
|
||||||
|
if(res.data?.result.orgTreeList!=null){
|
||||||
|
state.option = res.data?.result.orgTreeList;
|
||||||
|
state.orgId = res.data?.result.treeNodeList;
|
||||||
|
state.resetOrgId = res.data?.result.treeNodeList;
|
||||||
|
}else{
|
||||||
|
state.option = [{
|
||||||
|
orgName:"无权限",
|
||||||
|
organizationId: "1",
|
||||||
|
childList:[],
|
||||||
|
}];
|
||||||
|
state.orgId = ["1"];
|
||||||
|
state.resetOrgId = ["1"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.allowClear = true
|
||||||
getTableData();
|
getTableData();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -308,6 +356,7 @@ export default {
|
|||||||
state.pageSize = 10;
|
state.pageSize = 10;
|
||||||
state.projectName = "";
|
state.projectName = "";
|
||||||
state.createName = "";
|
state.createName = "";
|
||||||
|
state.publishTime = [];
|
||||||
state.selectedRowKeys = [];
|
state.selectedRowKeys = [];
|
||||||
state.status = null;
|
state.status = null;
|
||||||
getTableData();
|
getTableData();
|
||||||
@@ -324,6 +373,9 @@ export default {
|
|||||||
params.status = state.status;
|
params.status = state.status;
|
||||||
params.createName = state.createName;
|
params.createName = state.createName;
|
||||||
params.projectName = state.projectName;
|
params.projectName = state.projectName;
|
||||||
|
// params.publishTime = state.publishTime;
|
||||||
|
params.startPublishTime =typeof state.publishTime[0] === 'undefined' ? null : state.publishTime[0]+" 00:00:01";
|
||||||
|
params.endPublishTime = typeof state.publishTime[1] === 'undefined' ? null : state.publishTime[1]+" 23:59:59";
|
||||||
params.page = state.pageNo;
|
params.page = state.pageNo;
|
||||||
params.size = state.pageSize;
|
params.size = state.pageSize;
|
||||||
params.orgId = state.orgId ? state.orgId[state.orgId.length - 1] : null;
|
params.orgId = state.orgId ? state.orgId[state.orgId.length - 1] : null;
|
||||||
@@ -343,8 +395,9 @@ export default {
|
|||||||
});
|
});
|
||||||
return list;
|
return list;
|
||||||
};
|
};
|
||||||
tableData.value = fun(res.data.rows);
|
tableData.value = fun(res.data.result.rows);
|
||||||
state.tableDataTotal = res.data.total;
|
state.tableDataTotal = res.data.result.total;
|
||||||
|
console.log("safgaga"+res.data.result.total)
|
||||||
state.tableLoading = false;
|
state.tableLoading = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -356,7 +409,7 @@ export default {
|
|||||||
// cloumns 表头
|
// cloumns 表头
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
{
|
||||||
title: "名称",
|
title: "项目名称",
|
||||||
dataIndex: "projectName",
|
dataIndex: "projectName",
|
||||||
key: "projectName",
|
key: "projectName",
|
||||||
width: 120,
|
width: 120,
|
||||||
@@ -374,7 +427,7 @@ export default {
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "分类",
|
title: "项目分类",
|
||||||
dataIndex: "trainingType",
|
dataIndex: "trainingType",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "trainingType",
|
key: "trainingType",
|
||||||
@@ -383,7 +436,7 @@ export default {
|
|||||||
fixed: "left",
|
fixed: "left",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "阶段总数",
|
title: "阶段数",
|
||||||
dataIndex: "stageTotal",
|
dataIndex: "stageTotal",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "stageTotal",
|
key: "stageTotal",
|
||||||
@@ -391,7 +444,7 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "任务总数",
|
title: "任务数",
|
||||||
dataIndex: "taskTotal",
|
dataIndex: "taskTotal",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "taskTotal",
|
key: "taskTotal",
|
||||||
@@ -414,6 +467,14 @@ export default {
|
|||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "参与率",
|
||||||
|
dataIndex: "participantsRate",
|
||||||
|
ellipsis: true,
|
||||||
|
key: "participantsRate",
|
||||||
|
width: 120,
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "完成人数",
|
title: "完成人数",
|
||||||
dataIndex: "peopleCompletedTotal",
|
dataIndex: "peopleCompletedTotal",
|
||||||
@@ -423,23 +484,31 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "项目时间",
|
title: "完成率",
|
||||||
dataIndex: "proTime",
|
dataIndex: "completedRate",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "proTime",
|
key: "completedRate",
|
||||||
width: 120,
|
width: 120,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "项目时间",
|
||||||
|
// dataIndex: "proTime",
|
||||||
|
// ellipsis: true,
|
||||||
|
// key: "proTime",
|
||||||
|
// width: 120,
|
||||||
|
// align: "center",
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: "发布时间",
|
title: "发布时间",
|
||||||
dataIndex: "publishTime",
|
dataIndex: "publishTime",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "publishTime",
|
key: "publishTime",
|
||||||
width: 120,
|
width: 140,
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "状态",
|
title: "项目状态",
|
||||||
dataIndex: "status",
|
dataIndex: "status",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
key: "projectStatus",
|
key: "projectStatus",
|
||||||
|
|||||||
Reference in New Issue
Block a user