mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-07 01:46:43 +08:00
-- 添加学员
This commit is contained in:
2
.env
2
.env
@@ -3,6 +3,8 @@ VUE_APP_BASE_API=/manageApi
|
||||
VUE_APP_PROXY_URL=http://111.231.196.214:30001/
|
||||
VUE_APP_LOGIN_URL=https://u-pre.boe.com/web
|
||||
|
||||
VUE_APP_BOE_API_URL=https://u-pre.boe.com
|
||||
|
||||
|
||||
VUE_APP_IFRAME_URL=https://u-pre.boe.com/pc/iframe
|
||||
VUE_APP_IFRAME_STUDENT_URL=https://u-pre.boe.com/pc/loading
|
||||
|
||||
28
src/App.vue
28
src/App.vue
@@ -199,6 +199,34 @@ export default defineComponent({
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.07);
|
||||
}
|
||||
|
||||
.cus-btn {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 16px;
|
||||
border: 1px solid #4ea6ff;
|
||||
border-radius: 8px;
|
||||
background: #4ea6ff;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.white {
|
||||
background: #fff;
|
||||
color: #4ea6ff;
|
||||
}
|
||||
|
||||
.cus-input {
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
.cus-select{
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
// @media screen and (max-width: 1366px) {
|
||||
// .cmMain {
|
||||
// width: 750px;
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
export const BASE = 'https://pre.boe.com'
|
||||
export const BASE_DEV = 'https://u-pre.boe.com'
|
||||
|
||||
export const USER_LIST = '/userbasic/user/list post'
|
||||
export const ORG_LIST = '/userbasic/org/list post'
|
||||
export const ORG_CHILD_LIST = '/userbasic/org/info post'
|
||||
|
||||
export const AUDIENCE_LIST = '/userbasic/audience/list post'
|
||||
@@ -131,6 +131,8 @@ export const addStudentCourse = (obj) => http.post("/admin/offcourse/addStudent"
|
||||
// 获取组织结构树
|
||||
export const orgtree = () => http.get("/org/tree");
|
||||
export const saveStu = obj => http.post("/admin/student/addStudent", obj);
|
||||
export const getStuPage = obj => http.get("/admin/student/getStudent", {params: obj});
|
||||
export const delStudentList = obj => http.post("/admin/student/delStudent", obj);
|
||||
export const validateName = obj => http.post("/admin/validate/validateName", obj);
|
||||
|
||||
//获取积分列表
|
||||
|
||||
@@ -122,7 +122,7 @@ export function useRequest(_url, params = {}, init = true) {
|
||||
export async function request(_url, params) {
|
||||
const s = _url.split(' ')
|
||||
let url = s[0]
|
||||
const method = s[1] || 'get'
|
||||
const method = s[1]?.toLowerCase() || 'get'
|
||||
if (method === 'get') {
|
||||
let paramsArray = [];
|
||||
//拼接参数
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-drawer
|
||||
:visible="visiableState"
|
||||
:visible="visiable"
|
||||
class="drawerStyle ProjCheckship"
|
||||
placement="right"
|
||||
width="45%"
|
||||
@@ -8,7 +9,7 @@
|
||||
<div class="drawerMain" id="ProjCheckship">
|
||||
<div class="header">
|
||||
<div class="headerTitle">
|
||||
{{ {1: '查看权', 2: '管理权', 3: '添加学员'}[type] || '' }}
|
||||
{{ {1: '添加学员', 2: '添加学员', 3: '添加学员'}[type] || '' }}
|
||||
</div>
|
||||
<img
|
||||
style="width: 29px; height: 29px; cursor: pointer"
|
||||
@@ -101,16 +102,6 @@
|
||||
multiple
|
||||
>
|
||||
</a-tree>
|
||||
<!-- <div>-->
|
||||
<!-- <a-table-->
|
||||
<!-- :columns="stuColumns"-->
|
||||
<!-- :data-source="stuData"-->
|
||||
<!-- :pagination="stuPagination"-->
|
||||
<!-- :loading="orgLoading"-->
|
||||
<!-- row-key="id"-->
|
||||
<!-- :row-selection="stuRowSelection"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
@@ -159,7 +150,8 @@
|
||||
</div>
|
||||
<div>
|
||||
<div style="margin-top: 20px">组织添加</div>
|
||||
<a-tag :closable="true" color="#4ea6ff" @close="orgDel(i)" v-for="(item,i) in selectsData.deptList" :key="i"
|
||||
<a-tag :closable="true" color="#4ea6ff" @close="orgDel(i)" v-for="(item,i) in selectsData.deptList"
|
||||
:key="i"
|
||||
style="margin-top:20px">
|
||||
{{ item.name }}
|
||||
</a-tag>
|
||||
@@ -179,9 +171,25 @@
|
||||
</div>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<div @click="openDrawer">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</div>
|
||||
<a-modal v-model:visible="stageVisible" width="1000px" title="选择阶段" @ok="handleStageOk">
|
||||
<div>
|
||||
{{ type === 1 ? '选择阶段' : '选择关卡' }}
|
||||
<a-select style="width: 150px" :placeholder="type===1?'选择阶段':'选择关卡'" v-model:value="selectsData.stageId"
|
||||
className="cus-select">
|
||||
<a-select-option v-for="(item,i) in stageIds" :key="i" :value="item.id">{{
|
||||
item.name || '默认'
|
||||
}}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</a-modal>
|
||||
</template>
|
||||
<script setup>
|
||||
import {computed, defineEmits, defineProps, onMounted, ref} from "vue";
|
||||
import {computed, defineEmits, defineProps, ref, watch} from "vue";
|
||||
import {useStore} from "vuex";
|
||||
import {useBoeApi, useBoeApiPage} from "@/api/request";
|
||||
import {AUDIENCE_LIST, ORG_LIST, USER_LIST} from "@/api/ThirdApi";
|
||||
@@ -191,16 +199,17 @@ const store = useStore();
|
||||
const emit = defineEmits({})
|
||||
const props = defineProps({
|
||||
type: Number,
|
||||
visiable: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
id: String,
|
||||
stage: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
})
|
||||
|
||||
const visiableState = computed(() => props.visiable)
|
||||
|
||||
const visiable = ref(false)
|
||||
const activeKey = ref(1)
|
||||
const stageVisible = ref(false)
|
||||
const selectsData = ref({
|
||||
stageId: '',
|
||||
studentList: [],
|
||||
deptList: [],
|
||||
groupList: []
|
||||
@@ -222,6 +231,8 @@ const searchOrgName = ref({
|
||||
pageSize: 10
|
||||
})
|
||||
|
||||
const stageIds = computed(() => props.stage)
|
||||
|
||||
const {
|
||||
data: stuData,
|
||||
fetch: searchStu,
|
||||
@@ -250,7 +261,7 @@ const {
|
||||
total: audiTotal
|
||||
} = useBoeApiPage(AUDIENCE_LIST, audienceName.value, {
|
||||
init: true,
|
||||
result: res => res.result.audienceList,
|
||||
result: res => res.result.audienceList.map(e => ({...e, id: e.id + ''})),
|
||||
totalPage: res => res.result.totalPage,
|
||||
total: res => res.result.totalElement
|
||||
})
|
||||
@@ -367,11 +378,11 @@ const auditRowSelection = computed(() => ({
|
||||
preserveSelectedRowKeys: true,
|
||||
}))
|
||||
|
||||
onMounted(() => {
|
||||
});
|
||||
|
||||
const closeDrawer = () => {
|
||||
|
||||
visiable.value = false
|
||||
};
|
||||
const openDrawer = () => {
|
||||
visiable.value = true
|
||||
};
|
||||
//获取组织树
|
||||
const treeData = computed(() => {
|
||||
@@ -397,6 +408,7 @@ function AuditDel(i) {
|
||||
auditSelectKeys.value = auditSelectKeys.value.filter(e => e !== selectsData.value.groupList[i].id)
|
||||
selectsData.value.groupList.splice(i, 1)
|
||||
}
|
||||
|
||||
//
|
||||
// function orgSelect(key, obj) {
|
||||
// console.log(obj)
|
||||
@@ -432,8 +444,6 @@ const changePagination = (page) => {
|
||||
};
|
||||
|
||||
const auditChangePagination = (page) => {
|
||||
console.log(1111111111)
|
||||
console.log(page)
|
||||
audienceName.value.page = page;
|
||||
searchAudi()
|
||||
};
|
||||
@@ -468,14 +478,50 @@ const resetAudienceInfo = () => {
|
||||
// };
|
||||
//确定添加授权
|
||||
const submitAuth = () => {
|
||||
emit('update:visiable', false)
|
||||
saveStu(selectsData.value)
|
||||
if (props.type !== 3) {
|
||||
stageVisible.value = true
|
||||
} else {
|
||||
handleStageOk()
|
||||
}
|
||||
};
|
||||
|
||||
function handleStageOk() {
|
||||
stageVisible.value = false
|
||||
visiable.value = false
|
||||
emit('finash', false)
|
||||
saveStu({
|
||||
targetId: props.id,
|
||||
type: props.type,
|
||||
deptIds: selectsData.value.deptList?.map(e => e.id),
|
||||
stageId: selectsData.value.stageId,
|
||||
groupIds: selectsData.value.groupList?.map(e => e.id),
|
||||
studentList: selectsData.value.studentList
|
||||
}).then(() => {
|
||||
emit('finash', true)
|
||||
})
|
||||
}
|
||||
|
||||
watch(visiable, () => {
|
||||
stuSelectKeys.value = []
|
||||
orgSelectKeys.value = []
|
||||
auditSelectKeys.value = []
|
||||
selectsData.value = {
|
||||
stageId: '',
|
||||
studentList: [],
|
||||
deptList: [],
|
||||
groupList: []
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.ant-btn-primary {
|
||||
background-color: #4ea6ff !important;
|
||||
}
|
||||
|
||||
.cus-select {
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
</style>
|
||||
213
src/components/student/TableStudent.vue
Normal file
213
src/components/student/TableStudent.vue
Normal file
@@ -0,0 +1,213 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-row type="flex" gutter="12" style="padding-left: 20px">
|
||||
<a-col>
|
||||
<a-form-item title="姓名:" @click="getStuList">
|
||||
<a-input class="cus-input" v-model:value="tableParam.studentName" placeholder="请输入姓名"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col>
|
||||
<a-button class="cus-btn" style="width: 100px">
|
||||
<template #icon>
|
||||
<img style="margin-right: 10px" src="../../assets/images/courseManage/search0.png"/></template>
|
||||
搜索
|
||||
</a-button>
|
||||
</a-col>
|
||||
<a-col :span="2">
|
||||
<a-button class="cus-btn white" style="width: 100px" @click="reset">重置</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-row type="flex" gutter="12" style="padding-left: 20px">
|
||||
<a-col :span="1.5">
|
||||
<CommonStudent :type="type" :id="id" @finash="submitCall" :stage="stage">
|
||||
<a-button class="cus-btn">
|
||||
<template #icon><img style="margin-right: 10px" src="../../assets/images/courseManage/add0.png"/></template>
|
||||
添加学员
|
||||
</a-button>
|
||||
</CommonStudent>
|
||||
</a-col>
|
||||
<a-col :span="1.5">
|
||||
<a-button class="cus-btn white" @click="bathDel">
|
||||
<template #icon><img style="margin-right: 10px" src="../../assets/images/projectadd/delete.png"/></template>
|
||||
批量删除
|
||||
</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<div style="margin-top: 20px">
|
||||
<a-table
|
||||
:columns="tablecolumns"
|
||||
:data-source="tableData.list"
|
||||
:pagination="stuPagination"
|
||||
:loading="tableData.loading"
|
||||
row-key="id"
|
||||
:row-selection="stuRowSelection"
|
||||
>
|
||||
<template #action="{record}">
|
||||
<a-row gutter="12">
|
||||
<a-col>
|
||||
<slot name="extension" v-bind:data="{record}"></slot>
|
||||
</a-col>
|
||||
<a-col>
|
||||
<a-select style="width: 80px" value="更多">
|
||||
<a-select-option value="删除" label="删除">
|
||||
<div @click="del(record.id)">删除</div>
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
</a-table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import {computed, defineProps, onMounted, ref, watch} from "vue";
|
||||
import {delStudentList, getStuPage} from "@/api/index1";
|
||||
import CommonStudent from '@/components/student/CommonStudent'
|
||||
|
||||
const props = defineProps({
|
||||
type: Number,
|
||||
id: String,
|
||||
columns: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
},
|
||||
stage: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
})
|
||||
const tablecolumns = ref([
|
||||
{
|
||||
title: "姓名",
|
||||
dataIndex: "studentName",
|
||||
key: "studentName",
|
||||
width: "20%",
|
||||
align: "left",
|
||||
className: "h",
|
||||
},
|
||||
{
|
||||
title: "工号",
|
||||
dataIndex: "studentUserNo",
|
||||
key: "studentUserNo",
|
||||
width: "10%",
|
||||
align: "center",
|
||||
className: "h",
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: "部门",
|
||||
dataIndex: "studentDepartName",
|
||||
key: "studentDepartName",
|
||||
width: "10%",
|
||||
align: "center",
|
||||
className: "h",
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: "加入方式",
|
||||
dataIndex: "source",
|
||||
key: "source",
|
||||
width: "10%",
|
||||
align: "center",
|
||||
customRender: ({record: {source}}) => ({1: '快速添加', 2: '组织', 3: '受众'}[source])
|
||||
},
|
||||
...props.columns,
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "operation",
|
||||
key: "operation",
|
||||
width: "25%",
|
||||
align: "center",
|
||||
slots: {customRender: 'action'}
|
||||
},
|
||||
]);
|
||||
const tableParam = ref({
|
||||
studentName: "",
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
type: props.type,
|
||||
pid: props.id,
|
||||
})
|
||||
const stuSelectKeys = ref([])
|
||||
const tableData = ref({
|
||||
list: [],
|
||||
total: 0,
|
||||
loading: false
|
||||
})
|
||||
|
||||
const stuRowSelection = computed(() => ({
|
||||
columnWidth: 20,
|
||||
selectedRowKeys: stuSelectKeys.value,
|
||||
onChange: onStuSelectChange,
|
||||
preserveSelectedRowKeys: true,
|
||||
}))
|
||||
|
||||
onMounted(() => {
|
||||
getStuList()
|
||||
})
|
||||
|
||||
function onStuSelectChange(e) {
|
||||
stuSelectKeys.value = e
|
||||
}
|
||||
|
||||
const stuPagination = computed(() => ({
|
||||
total: tableData.value.total,
|
||||
showSizeChanger: false,
|
||||
current: tableParam.value.pageNo,
|
||||
pageSize: tableParam.value.pageSize,
|
||||
onChange: changePagination
|
||||
}))
|
||||
|
||||
function changePagination(page) {
|
||||
tableParam.value.pageNo = page;
|
||||
getStuList()
|
||||
}
|
||||
|
||||
function getStuList() {
|
||||
tableData.value.loading = true
|
||||
getStuPage(tableParam.value).then(res => {
|
||||
tableData.value.total = res.data.data.total;
|
||||
tableData.value.list = res.data.data.records;
|
||||
tableData.value.loading = false;
|
||||
})
|
||||
}
|
||||
|
||||
function reset() {
|
||||
|
||||
}
|
||||
|
||||
function bathDel() {
|
||||
stuSelectKeys.value && stuSelectKeys.value.length && delStudentList({
|
||||
ids: stuSelectKeys.value,
|
||||
}).then(() => {
|
||||
getStuList()
|
||||
})
|
||||
}
|
||||
|
||||
function del(id) {
|
||||
id && delStudentList({
|
||||
ids: [id],
|
||||
}).then(() => {
|
||||
getStuList()
|
||||
})
|
||||
}
|
||||
|
||||
function submitCall(flag) {
|
||||
tableData.value.loading = true
|
||||
flag && getStuList()
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.studentopea1 {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #387df7;
|
||||
line-height: 22px;
|
||||
padding-right: 8px;
|
||||
border-right: 1px solid #e9e9e9;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
@@ -2276,236 +2276,168 @@
|
||||
<span>{{ currentPlanItem.teacher }}</span>
|
||||
</div>
|
||||
<div class="stmm_i5">
|
||||
<div class="i5_left">
|
||||
<!-- <a-input
|
||||
v-model:value="xygl_inputV1"
|
||||
style="
|
||||
width: 270px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
margin-right: 14px;
|
||||
"
|
||||
placeholder="请输入姓名"
|
||||
/> -->
|
||||
<a-input
|
||||
v-model:value="xygl_inputV1"
|
||||
placeholder="请输入姓名"
|
||||
style="
|
||||
width: 400px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
margin-right: 14px;
|
||||
"
|
||||
/>
|
||||
<div class="btn btn1" @click="handleSearchStu">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">搜索</div>
|
||||
</div>
|
||||
<div class="btnn btn2" @click="handleRestStu">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">重置</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<div class="btn btn3" @click="showStuAdd(currentPlanItem)">
|
||||
<div class="search"></div>
|
||||
<div class="btnText">添加学员</div>
|
||||
</div>
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div class="stmm_btn btn4" @click="hideShow">
|
||||
<div class="btn4_sub">
|
||||
<span style="color: #4ea6ff; margin-right: 4px">
|
||||
批量操作
|
||||
</span>
|
||||
<div
|
||||
class="b_zk"
|
||||
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||
></div>
|
||||
<div
|
||||
class="b_sq"
|
||||
:style="{ display: hideshow ? 'none' : 'block' }"
|
||||
></div>
|
||||
</div>
|
||||
<div
|
||||
class="btn4_sup"
|
||||
:style="{ display: hideshow ? 'none' : 'block' }"
|
||||
>
|
||||
<div class="btnsbox">
|
||||
<div class="btn4_tit" @click="handleAllJion">
|
||||
<span style="color: #4ea6ff">批量录入成绩</span>
|
||||
</div>
|
||||
<div class="btn4_op1" @click="handleAllover">
|
||||
<span>批量结业</span>
|
||||
</div>
|
||||
<div class="btn4_op2" @click="handleAllSuc">
|
||||
<span>批量通过</span>
|
||||
</div>
|
||||
<div class="btn4_op3" @click="handleAllReject">
|
||||
<span>批量拒绝</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stmm_btn btn5" @click="handleExportStu">
|
||||
<div class="export"></div>
|
||||
<div class="btnText">导出</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<TableStudent :type="3" :id="offcourseId" :columns="stuColumns">
|
||||
<!-- <template #extension = "data">-->
|
||||
<!-- <div style="display: flex">-->
|
||||
<!-- <button @click="handlJoinStu(data)">成绩录入</button>-->
|
||||
<!-- </div>-->
|
||||
<!-- </template>-->
|
||||
</TableStudent>
|
||||
</div>
|
||||
<div class="tableBox" style="margin-top: 20px">
|
||||
<a-table
|
||||
:columns="columns7"
|
||||
:data-source="tableData7"
|
||||
:loading="tableDataTotal3 === -1 ? true : false"
|
||||
:scroll="{ x: 800 }"
|
||||
expandRowByClick="true"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
:row-selection="{
|
||||
selectedRowKeys: selectedRowKeys7,
|
||||
onChange: onSelectChange7,
|
||||
}"
|
||||
>
|
||||
<template #bodyCell="{ record, column }">
|
||||
<!-- 操作1 -->
|
||||
<template
|
||||
v-if="
|
||||
(String(record.applyStatus) === '0' ||
|
||||
record.status === '待审核') &&
|
||||
column.key === 'overstatus'
|
||||
"
|
||||
>
|
||||
<span class="table-operation">-</span>
|
||||
</template>
|
||||
<template
|
||||
v-if="
|
||||
(String(record.applyStatus) === '-1' ||
|
||||
record.status === '已拒绝') &&
|
||||
column.key === 'overstatus'
|
||||
"
|
||||
>
|
||||
<span class="table-operation">-</span>
|
||||
</template>
|
||||
<template
|
||||
v-if="
|
||||
(String(record.applyStatus) === '1' ||
|
||||
record.status === '已通过') &&
|
||||
column.key === 'overstatus'
|
||||
"
|
||||
>
|
||||
<span class="table-operation">
|
||||
<a
|
||||
@click="
|
||||
() => {
|
||||
handlJoinStu(record);
|
||||
}
|
||||
"
|
||||
>
|
||||
成绩录入
|
||||
</a>
|
||||
<a
|
||||
@click="
|
||||
() => {
|
||||
handleOverStu(record);
|
||||
}
|
||||
"
|
||||
>
|
||||
结业
|
||||
</a>
|
||||
</span>
|
||||
</template>
|
||||
<!-- 操作2 -->
|
||||
<template
|
||||
v-if="
|
||||
(String(record.applyStatus) === '0' ||
|
||||
record.status === '待审核') &&
|
||||
column.key === 'operation'
|
||||
"
|
||||
>
|
||||
<span class="table-operation">
|
||||
<a
|
||||
@click="
|
||||
() => {
|
||||
handleSucessStu(record);
|
||||
}
|
||||
"
|
||||
>
|
||||
通过
|
||||
</a>
|
||||
<a
|
||||
@click="
|
||||
() => {
|
||||
handleRejectStu(record);
|
||||
}
|
||||
"
|
||||
>
|
||||
拒绝
|
||||
</a>
|
||||
<a
|
||||
@click="
|
||||
() => {
|
||||
handleDeleteStu(record);
|
||||
}
|
||||
"
|
||||
>
|
||||
删除
|
||||
</a>
|
||||
</span>
|
||||
</template>
|
||||
<template
|
||||
v-if="
|
||||
(String(record.applyStatus) === '1' ||
|
||||
record.status === '已通过') &&
|
||||
column.key === 'operation'
|
||||
"
|
||||
>
|
||||
<span class="table-operation">
|
||||
<a
|
||||
@click="
|
||||
() => {
|
||||
handleDeleteStu(record);
|
||||
}
|
||||
"
|
||||
>
|
||||
删除
|
||||
</a>
|
||||
</span>
|
||||
</template>
|
||||
<template
|
||||
v-if="
|
||||
(String(record.applyStatus) === '-1' ||
|
||||
record.status === '已拒绝') &&
|
||||
column.key === 'operation'
|
||||
"
|
||||
>
|
||||
<span class="table-operation">
|
||||
<a
|
||||
@click="
|
||||
() => {
|
||||
handleDeleteStu(record);
|
||||
}
|
||||
"
|
||||
>
|
||||
删除
|
||||
</a>
|
||||
</span>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
<div class="tableBox" style="margin-top: 50px">
|
||||
<div class="pa">
|
||||
<a-pagination
|
||||
:showSizeChanger="false"
|
||||
showQuickJumper="true"
|
||||
hideOnSinglePage="true"
|
||||
:pageSize="pageSize3"
|
||||
:current="currentPage3"
|
||||
:total="tableDataTotal3"
|
||||
class="pagination"
|
||||
@change="handelChangePage3"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <a-table-->
|
||||
<!-- :columns="columns7"-->
|
||||
<!-- :data-source="tableData7"-->
|
||||
<!-- :loading="tableDataTotal3 === -1 ? true : false"-->
|
||||
<!-- :scroll="{ x: 800 }"-->
|
||||
<!-- expandRowByClick="true"-->
|
||||
<!-- @expand="expandTable"-->
|
||||
<!-- :pagination="false"-->
|
||||
<!-- :row-selection="{-->
|
||||
<!-- selectedRowKeys: selectedRowKeys7,-->
|
||||
<!-- onChange: onSelectChange7,-->
|
||||
<!-- }"-->
|
||||
<!-- >-->
|
||||
<!-- <template #bodyCell="{ record, column }">-->
|
||||
<!-- <!– 操作1 –>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="-->
|
||||
<!-- (String(record.applyStatus) === '0' ||-->
|
||||
<!-- record.status === '待审核') &&-->
|
||||
<!-- column.key === 'overstatus'-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- <span class="table-operation">-</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="-->
|
||||
<!-- (String(record.applyStatus) === '-1' ||-->
|
||||
<!-- record.status === '已拒绝') &&-->
|
||||
<!-- column.key === 'overstatus'-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- <span class="table-operation">-</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="-->
|
||||
<!-- (String(record.applyStatus) === '1' ||-->
|
||||
<!-- record.status === '已通过') &&-->
|
||||
<!-- column.key === 'overstatus'-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- <span class="table-operation">-->
|
||||
<!-- <a-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- handlJoinStu(record);-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- 成绩录入-->
|
||||
<!-- </a>-->
|
||||
<!-- <a-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- handleOverStu(record);-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- 结业-->
|
||||
<!-- </a>-->
|
||||
<!-- </span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <!– 操作2 –>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="-->
|
||||
<!-- (String(record.applyStatus) === '0' ||-->
|
||||
<!-- record.status === '待审核') &&-->
|
||||
<!-- column.key === 'operation'-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- <span class="table-operation">-->
|
||||
<!-- <a-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- handleSucessStu(record);-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- 通过-->
|
||||
<!-- </a>-->
|
||||
<!-- <a-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- handleRejectStu(record);-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- 拒绝-->
|
||||
<!-- </a>-->
|
||||
<!-- <a-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- handleDeleteStu(record);-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- 删除-->
|
||||
<!-- </a>-->
|
||||
<!-- </span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="-->
|
||||
<!-- (String(record.applyStatus) === '1' ||-->
|
||||
<!-- record.status === '已通过') &&-->
|
||||
<!-- column.key === 'operation'-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- <span class="table-operation">-->
|
||||
<!-- <a-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- handleDeleteStu(record);-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- 删除-->
|
||||
<!-- </a>-->
|
||||
<!-- </span>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="-->
|
||||
<!-- (String(record.applyStatus) === '-1' ||-->
|
||||
<!-- record.status === '已拒绝') &&-->
|
||||
<!-- column.key === 'operation'-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- <span class="table-operation">-->
|
||||
<!-- <a-->
|
||||
<!-- @click="-->
|
||||
<!-- () => {-->
|
||||
<!-- handleDeleteStu(record);-->
|
||||
<!-- }-->
|
||||
<!-- "-->
|
||||
<!-- >-->
|
||||
<!-- 删除-->
|
||||
<!-- </a>-->
|
||||
<!-- </span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </template>-->
|
||||
<!-- </a-table>-->
|
||||
<!-- <div class="tableBox" style="margin-top: 50px">-->
|
||||
<!-- <div class="pa">-->
|
||||
<!-- <a-pagination-->
|
||||
<!-- :showSizeChanger="false"-->
|
||||
<!-- showQuickJumper="true"-->
|
||||
<!-- hideOnSinglePage="true"-->
|
||||
<!-- :pageSize="pageSize3"-->
|
||||
<!-- :current="currentPage3"-->
|
||||
<!-- :total="tableDataTotal3"-->
|
||||
<!-- class="pagination"-->
|
||||
<!-- @change="handelChangePage3"-->
|
||||
<!-- />-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2604,11 +2536,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="qrm_btnbox">
|
||||
<div class="qrm_btn btn1">
|
||||
<div class="btnText" @click="rg_exit">取消</div>
|
||||
<div class="qrm_btn btn1" @click="rg_exit">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="qrm_btn btn2">
|
||||
<div class="btnText" @click="handleJoin">确定</div>
|
||||
<div class="qrm_btn btn2" @click="handleJoin">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2930,6 +2862,7 @@ import { queryWorkDetailById } from "@/api/indexWork";
|
||||
import { queryExaminationDetailById } from "@/api/indexExam";
|
||||
import AddHomework from "../../components/drawers/AddHomework.vue";
|
||||
import AddTest from "../../components/drawers/AddTest.vue";
|
||||
import TableStudent from "@/components/student/TableStudent";
|
||||
//列表表格
|
||||
const columns1 = [
|
||||
// {
|
||||
@@ -3448,6 +3381,7 @@ export default defineComponent({
|
||||
AddHomework,
|
||||
AddTest,
|
||||
NameInput,
|
||||
TableStudent,
|
||||
// VNodes: (_, {attrs}) => {
|
||||
// return attrs.vnodes;
|
||||
// },
|
||||
@@ -3458,6 +3392,72 @@ export default defineComponent({
|
||||
const CourseModalRef = ref(null);
|
||||
|
||||
const state = reactive({
|
||||
stuColumns:[
|
||||
{
|
||||
title: "报名状态",
|
||||
width: '10%',
|
||||
dataIndex: "status",
|
||||
key: "5",
|
||||
align: "center",
|
||||
customRender: ({ record }) => {
|
||||
switch (String(record.source)) {
|
||||
case "0":
|
||||
return "待审核";
|
||||
case "1":
|
||||
return "审核通过";
|
||||
case "2":
|
||||
return "审核拒绝";
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "加入方式",
|
||||
width: '10%',
|
||||
dataIndex: "join",
|
||||
key: "6",
|
||||
align: "center",
|
||||
customRender: ({ record }) => {
|
||||
switch (String(record.source)) {
|
||||
case "1":
|
||||
return "手动加入";
|
||||
case "2":
|
||||
return "报名加入";
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "签到状态",
|
||||
width: '10%',
|
||||
dataIndex: "signstatus",
|
||||
key: "7",
|
||||
align: "center",
|
||||
customRender: ({ record }) => {
|
||||
switch (String(record.signStatus)) {
|
||||
case "0":
|
||||
return "未签到";
|
||||
case "1":
|
||||
return "已签到";
|
||||
case "2":
|
||||
return "请假";
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "评估状态",
|
||||
width: '10%',
|
||||
dataIndex: "evastatus",
|
||||
key: "8",
|
||||
align: "center",
|
||||
customRender: ({ record }) => {
|
||||
switch (String(record.evalStatus)) {
|
||||
case "0":
|
||||
return "未评估";
|
||||
case "1":
|
||||
return "已评估";
|
||||
}
|
||||
},
|
||||
},
|
||||
],
|
||||
shipType: 1,
|
||||
addLoading: false,
|
||||
currentPlanItem: {},
|
||||
@@ -8640,6 +8640,30 @@ export default defineComponent({
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.cus-btn {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 16px;
|
||||
border: 1px solid #4ea6ff;
|
||||
border-radius: 8px;
|
||||
background: #4ea6ff;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.white {
|
||||
background: #fff;
|
||||
color: #4ea6ff;
|
||||
}
|
||||
|
||||
.cus-input {
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
// .tableSelect {
|
||||
// position: relative;
|
||||
// .hoverList {
|
||||
|
||||
@@ -505,127 +505,7 @@
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="3" tab="学员管理" force-render>
|
||||
<div class="split"></div>
|
||||
<div class="xwid">
|
||||
<div class="pad"></div>
|
||||
<div class="xin" style="overflow-x: auto">
|
||||
<div class="xhead">
|
||||
<a-input
|
||||
v-model:value="gatenamee"
|
||||
style="width: 270px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入姓名"
|
||||
/>
|
||||
<div class="btns" @click="searchLevel">
|
||||
<div class="btn btn1">
|
||||
<div class="search"></div>
|
||||
<a-button
|
||||
class="btnText"
|
||||
style="
|
||||
border: none;
|
||||
background: none;
|
||||
transform: translateY(-20%);
|
||||
"
|
||||
>搜索
|
||||
</a-button>
|
||||
</div>
|
||||
<div class="btn btn2" @click="resetLevel">
|
||||
<div class="search"></div>
|
||||
<a-button
|
||||
style="
|
||||
border: none;
|
||||
background: none;
|
||||
transform: translateY(-20%);
|
||||
width: 100%;
|
||||
"
|
||||
class="btnText"
|
||||
>重置</a-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="xheadb">
|
||||
<button class="addx" @click="showAddStu">添加学员</button>
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <button class="addd" @click="showImpStu">导入学员</button> -->
|
||||
<div class="select">
|
||||
<a-button
|
||||
style="
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
background: none;
|
||||
width: 130px;
|
||||
height: 40px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: rgba(64, 158, 255, 1);
|
||||
margin-left: 5px;
|
||||
border-radius: 8px;
|
||||
cursor: pointer;
|
||||
"
|
||||
class="btnText"
|
||||
@click="deleteStu()"
|
||||
>批量删除</a-button
|
||||
>
|
||||
<!-- <a-select
|
||||
style="width: 130px"
|
||||
value="更多操作"
|
||||
@change="handleStuChange"
|
||||
:options="projectNameList"
|
||||
>
|
||||
</a-select> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- 2022-12-11注释 后面放开 -->
|
||||
<!--
|
||||
<div class="talk">
|
||||
<img class="im" src="../../assets/images/leveladd/gan.png" />
|
||||
<div class="xu">
|
||||
<span class="yi">已选择</span>
|
||||
<div style="width: 5px; display: inline-block"></div>
|
||||
<span class="th">{{ selectedRowKeys.length }}</span>
|
||||
<div style="width: 5px; display: inline-block"></div>
|
||||
<span class="yi">项</span>
|
||||
<span class="zon">列表选项总数:</span>
|
||||
<span class="th">{{ stuTotal }}</span>
|
||||
<span class="yi"> 条</span>
|
||||
</div>
|
||||
<div class="clear" @click="clearChooseStu">清空</div>
|
||||
</div>-->
|
||||
<div class="tableBox" style="margin-top: 30px">
|
||||
<a-table
|
||||
style="border: 1px solid #f2f6fe"
|
||||
:columns="tableDataFunc()"
|
||||
:scroll="{ x: 1400 }"
|
||||
:data-source="tableData"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
expandRowByClick="true"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
:row-selection="{
|
||||
columnWidth: 30,
|
||||
selectedRowKeys: selectedRowKeys,
|
||||
onChange: onSelectChange,
|
||||
}"
|
||||
/>
|
||||
|
||||
<div class="pa">
|
||||
<a-pagination
|
||||
v-if="tableDataTotal > 10"
|
||||
:showSizeChanger="false"
|
||||
showQuickJumper="true"
|
||||
hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
:current="currentPage"
|
||||
:total="tableDataTotal"
|
||||
@change="pageChange"
|
||||
class="pagination"
|
||||
style="display: block"
|
||||
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pad"></div>
|
||||
</div>
|
||||
<TableStudent :type="3" :id="routerId"></TableStudent>
|
||||
</a-tab-pane>
|
||||
<!--1211注释 待开放
|
||||
<a-tab-pane key="4" tab="设置">
|
||||
@@ -1232,6 +1112,7 @@ import * as api from "../../api/index1";
|
||||
import { editRoutered } from "../../api/indexLearningPath";
|
||||
import { codeUrl } from "../../api/method";
|
||||
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
||||
import TableStudent from "@/components/student/TableStudent";
|
||||
// import * as student from "@/api/student";
|
||||
export default {
|
||||
name: "LevelAdd",
|
||||
@@ -1248,6 +1129,7 @@ export default {
|
||||
WorkManage,
|
||||
SeeStu,
|
||||
TwoDimensionalCode,
|
||||
TableStudent,
|
||||
},
|
||||
setup() {
|
||||
const router = useRouter();
|
||||
|
||||
@@ -691,271 +691,8 @@
|
||||
<div class="content3">
|
||||
<a-tabs v-model:activeKey="activeKey1">
|
||||
<a-tab-pane key="8" tab="学员管理">
|
||||
<div class="group">
|
||||
<div class="groupleft">
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
"
|
||||
>
|
||||
<div class="groupname" style="width: 42px">姓名:</div>
|
||||
<a-input
|
||||
v-model:value="valuestun"
|
||||
placeholder="请输入姓名"
|
||||
/>
|
||||
</div>
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!--
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
"
|
||||
>
|
||||
|
||||
<div class="groupname">小组名称:</div>
|
||||
<a-input
|
||||
v-model:value="valuestugroup"
|
||||
placeholder="请输入小组名称"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
"
|
||||
>
|
||||
<div class="groupname" style="width: 42px">部门:</div>
|
||||
<a-tree-select
|
||||
:getPopupContainer="
|
||||
(triggerNode) => {
|
||||
return triggerNode.parentNode || document.body;
|
||||
}
|
||||
"
|
||||
v-model:value="valuestub"
|
||||
:dropdown-style="{
|
||||
maxHeight: '400px',
|
||||
overflow: 'auto',
|
||||
}"
|
||||
placeholder="请选择部门"
|
||||
:options="bum"
|
||||
@change="handleChangeBum"
|
||||
:tree-data="bum"
|
||||
:fieldNames="{
|
||||
children: 'treeChildList',
|
||||
label: 'name',
|
||||
value: 'id',
|
||||
}"
|
||||
></a-tree-select>
|
||||
|
||||
</div> -->
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div
|
||||
style="
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
"
|
||||
>
|
||||
<div class="groupname" style="width: 42px">学员:</div>
|
||||
<a-select
|
||||
v-model:value="valuegood"
|
||||
placeholder="是否为优秀学员"
|
||||
:options="goodstuList"
|
||||
@change="handleChangeGood"
|
||||
/>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="groupright">
|
||||
<div class="btn1" @click="searchStu">
|
||||
<img src="../../assets/images/courseManage/search0.png" />
|
||||
<span class="btn1text">搜索</span>
|
||||
</div>
|
||||
<div class="btn2" @click="resetCancel">
|
||||
<img src="../../assets/images/courseManage/reset1.png" />
|
||||
<span class="btn2text">重置</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="second2" style="margin-top: 20px">
|
||||
<div class="btn1" @click="showStuAdd">
|
||||
<img src="../../assets/images/courseManage/add0.png" />
|
||||
<span class="btn1text">添加学员</span>
|
||||
</div>
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
<!-- <div class="btn2" @click="showImportStu">
|
||||
<img src="../../assets/images/courseManage/reset2.png" />
|
||||
<span class="btn2text">导入学员</span>
|
||||
</div> -->
|
||||
<div class="btn2" @click="showAllDelete">
|
||||
<img src="../../assets/images/projectadd/delete.png" />
|
||||
<span class="btn2text">批量删除</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 2022-12-11注释 后面放开 -->
|
||||
<!--
|
||||
<div class="talk">
|
||||
<img class="im" src="../../assets/images/leveladd/gan.png" />
|
||||
<div class="xu">
|
||||
<span class="yi">已选择</span>
|
||||
<div style="width: 5px; display: inline-block"></div>
|
||||
<span class="th">{{ choosed }}</span>
|
||||
<div style="width: 5px; display: inline-block"></div>
|
||||
<span class="yi">项</span>
|
||||
<span class="zon">列表选项总计:</span>
|
||||
<span class="yi">{{ total }}</span>
|
||||
<span class="yi">条</span>
|
||||
</div>
|
||||
<div class="clear" @click="clearChooseStu">清空</div>
|
||||
</div>-->
|
||||
<div class="tab" style="margin: 20px 32px 30px 32px">
|
||||
<a-table
|
||||
style="border: 1px solid #f2f6fe"
|
||||
:columns="studentColumns()"
|
||||
:data-source="tabledata"
|
||||
expandRowByClick="true"
|
||||
:scroll="{ x: 1400 }"
|
||||
@expand="expandTable"
|
||||
:pagination="false"
|
||||
:loading="loading"
|
||||
:row-selection="{
|
||||
columnWidth: 30,
|
||||
selectedRowKeys: selectedRowKeys,
|
||||
onChange: onSelectChange,
|
||||
}"
|
||||
/>
|
||||
<!-- 列表无数据样式
|
||||
<div
|
||||
class="nostu"
|
||||
:style="{ display: total > 0 ? 'none' : 'block' }"
|
||||
> -->
|
||||
<div class="nostu" style="display: none">
|
||||
<div class="nostuimg"></div>
|
||||
</div>
|
||||
<div class="tableBox">
|
||||
<div class="pa">
|
||||
<a-pagination
|
||||
v-if="total > 10"
|
||||
:showSizeChanger="false"
|
||||
showQuickJumper="true"
|
||||
hideOnSinglePage="true"
|
||||
:pageSize="stupageSize"
|
||||
:current="currentPageStu"
|
||||
:total="total"
|
||||
class="pagination"
|
||||
@change="changePaginationStu"
|
||||
/>
|
||||
</div></div>
|
||||
</div>
|
||||
<TableStudent :type="1" :id="projectId" :columns="stuColumns" :stage="stage"></TableStudent>
|
||||
</a-tab-pane>
|
||||
<!--
|
||||
<a-tab-pane key="9" tab="小组管理" force-render>
|
||||
<div class="group">
|
||||
<div class="groupleft">
|
||||
<div class="groupname">小组名称:</div>
|
||||
<a-input
|
||||
v-model:value="valuestugn"
|
||||
placeholder="请输入小组名称"
|
||||
/>
|
||||
</div>
|
||||
<div class="groupright">
|
||||
<div class="btn1" @click="searchGroup">
|
||||
<img src="../../assets/images/courseManage/search0.png" />
|
||||
<span class="btn1text">搜索</span>
|
||||
</div>
|
||||
<div class="btn2" @click="resetGroupName">
|
||||
<img src="../../assets/images/courseManage/reset1.png" />
|
||||
<span class="btn2text">重置</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="second2">
|
||||
<div class="btn1" @click="showModal2(1, null)">
|
||||
<img src="../../assets/images/courseManage/add0.png" />
|
||||
<span class="btn1text">创建小组</span>
|
||||
</div>-->
|
||||
<!-- 2022-12-2注释 后面放开 -->
|
||||
<!-- <div class="btn2" @click="showSubset">
|
||||
<img src="../../assets/images/courseManage/reset2.png" />
|
||||
<span class="btn2text">随机分组</span>
|
||||
</div>
|
||||
</div>-->
|
||||
<!-- 小组列表
|
||||
<div class="groupmain">
|
||||
<div
|
||||
class="groupbox"
|
||||
v-for="item in groupList"
|
||||
:key="item.projectGroupId"
|
||||
>
|
||||
<div style="width: 90%">
|
||||
<div class="grouptitle">
|
||||
<div class="goodgruop">{{ item.groupName }}</div>
|
||||
<div class="more">
|
||||
<span
|
||||
style="color: rgba(0, 0, 0, 0.45); cursor: pointer"
|
||||
>. . .</span
|
||||
>
|
||||
<div class="moreItems">
|
||||
<div class="sammo" @click="showModal2(2, item)">
|
||||
编辑
|
||||
</div>
|
||||
<div
|
||||
class="sammo"
|
||||
@click="deleteGroupBtn(item.projectGroupId)"
|
||||
>
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leader">组长:{{ item.leaderName }}</div>
|
||||
<div class="grocenter">
|
||||
<div class="leader1">进度</div>
|
||||
<a-progress :percent="item.completeRatio" />
|
||||
</div>
|
||||
<div
|
||||
class="grofooter"
|
||||
@click="showMemberList(item.projectGroupId)"
|
||||
>
|
||||
<div class="ftext">组员名单 ></div>-->
|
||||
<!-- <div class="peoples">
|
||||
<div class="people1">
|
||||
<img
|
||||
src="../../assets/images/taskpage/people1.png"
|
||||
/>
|
||||
</div>
|
||||
<div class="people2">
|
||||
<img
|
||||
src="../../assets/images/taskpage/people2.png"
|
||||
/>
|
||||
</div>
|
||||
<div class="people3">
|
||||
<img
|
||||
src="../../assets/images/taskpage/people3.png"
|
||||
/>
|
||||
</div>
|
||||
<div class="people4">
|
||||
<img
|
||||
src="../../assets/images/taskpage/people4.png"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
|
||||
-->
|
||||
|
||||
|
||||
</a-tabs>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
@@ -1950,6 +1687,7 @@ import { useStore } from "vuex";
|
||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||
import TrainClass from "@/components/project/TrainClass";
|
||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||
import TableStudent from "@/components/student/TableStudent";
|
||||
|
||||
export default {
|
||||
name: "taskPage",
|
||||
@@ -1976,11 +1714,30 @@ export default {
|
||||
NoticeHis,
|
||||
TwoDimensionalCode,
|
||||
ProjectManager,
|
||||
TableStudent
|
||||
},
|
||||
setup() {
|
||||
const store = useStore();
|
||||
const route = useRoute();
|
||||
const state = reactive({
|
||||
stage: [],
|
||||
stuColumns: [{
|
||||
title: "进度",
|
||||
dataIndex: "progress",
|
||||
key: "progress",
|
||||
width: 80,
|
||||
align: "center",
|
||||
className: "h",
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: "最近学习时间",
|
||||
dataIndex: "stutime",
|
||||
key: "stutime",
|
||||
width: 80,
|
||||
align: "center",
|
||||
className: "h",
|
||||
}],
|
||||
loading: false,
|
||||
projectId: route.query.projectId,
|
||||
isbj: storage.get("isbj") ? JSON.parse(storage.get("isbj")) : null,
|
||||
@@ -3599,7 +3356,9 @@ export default {
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
state.stage = res.data.data.stageList.map(e => ({id: e.stageId, name: e.name}))
|
||||
console.log(1111111111111)
|
||||
console.log(state.stage)
|
||||
let info = res.data.data.projectInfo;
|
||||
// let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
|
||||
let start = info.beginTime;
|
||||
@@ -4192,7 +3951,7 @@ export default {
|
||||
}
|
||||
);
|
||||
onMounted(() => {
|
||||
getStu();
|
||||
// getStu();
|
||||
getTaskList();
|
||||
getTaskInfo();
|
||||
getGroup();
|
||||
|
||||
@@ -22,6 +22,9 @@ module.exports = defineConfig({
|
||||
pathRewrite: {
|
||||
"^/manageApi": "",
|
||||
},
|
||||
},"/userbasic": {
|
||||
target: process.env.VUE_APP_BOE_API_URL,
|
||||
changeOrigin: true, //表示是否改变原域名
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user