mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 20:06:47 +08:00
--fix 权限名单
This commit is contained in:
1
src/api/apis.js
Normal file
1
src/api/apis.js
Normal file
@@ -0,0 +1 @@
|
|||||||
|
export const STUDENT_LIST = '/admin/student/getStudent'
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import {reactive, ref, toRefs, watch} from "vue";
|
import {isRef, reactive, ref, toRefs, unref, watch, watchEffect} from "vue";
|
||||||
import {getCookieForName, throttle} from "@/api/method";
|
import {getCookieForName, throttle} from "@/api/method";
|
||||||
import JSONBigInt from 'json-bigint';
|
import JSONBigInt from 'json-bigint';
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ export function useBoeApiPage(_url, params = {}, config = {
|
|||||||
|
|
||||||
function fetch() {
|
function fetch() {
|
||||||
state.loading = true
|
state.loading = true
|
||||||
return request(_url, params).then(r => {
|
return boeRequest(_url, params).then(r => {
|
||||||
state.data = config.result(r)
|
state.data = config.result(r)
|
||||||
state.totalPage = config.totalPage(r)
|
state.totalPage = config.totalPage(r)
|
||||||
state.total = config.total(r)
|
state.total = config.total(r)
|
||||||
@@ -62,7 +62,7 @@ export function useBoeApi(_url, params = {}, config = {
|
|||||||
|
|
||||||
function fetch() {
|
function fetch() {
|
||||||
state.loading = true
|
state.loading = true
|
||||||
return request(_url, params).then(r => {
|
return boeRequest(_url, params).then(r => {
|
||||||
state.data = config.result(r)
|
state.data = config.result(r)
|
||||||
state.loading = false
|
state.loading = false
|
||||||
})
|
})
|
||||||
@@ -95,7 +95,7 @@ export function useBoeUserListPage(_url, params = {}, init = true) {
|
|||||||
state.loading = false
|
state.loading = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
return request(_url, params).then(r => {
|
return boeRequest(_url, params).then(r => {
|
||||||
state.data = params.page === 1 ? r.result.userInfoList : [...state.data, ...r.result.userInfoList]
|
state.data = params.page === 1 ? r.result.userInfoList : [...state.data, ...r.result.userInfoList]
|
||||||
state.totalPage = r.result.totalPage
|
state.totalPage = r.result.totalPage
|
||||||
state.total = r.result.totalElement
|
state.total = r.result.totalElement
|
||||||
@@ -110,31 +110,48 @@ export function useBoeUserListPage(_url, params = {}, init = true) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function usePage(_url, params = {}, init = true) {
|
export function usePage(_url, params, init = true) {
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
data: [],
|
data: [],
|
||||||
|
total:1,
|
||||||
|
current:1,
|
||||||
|
pages:1,
|
||||||
loading: false
|
loading: false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (isRef(params)) {
|
||||||
watch(params, () => {
|
watch(params, () => {
|
||||||
fetch()
|
fetch()
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function reset(){
|
||||||
|
state.data = []
|
||||||
|
state.loading = false
|
||||||
|
}
|
||||||
|
|
||||||
function fetch() {
|
function fetch() {
|
||||||
state.loading = true
|
state.loading = true
|
||||||
return request(_url, params).then(r => {
|
return request(unref(_url), unref(params)).then(r => {
|
||||||
console.log('fetch')
|
state.data = r.data.records
|
||||||
console.log(r)
|
state.current = r.data.current
|
||||||
state.data = r.result
|
state.pages = r.data.pages
|
||||||
|
state.total = r.data.total
|
||||||
state.loading = false
|
state.loading = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isRef(_url)) {
|
||||||
|
watchEffect(fetch)
|
||||||
|
} else {
|
||||||
init && fetch()
|
init && fetch()
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
fetch,
|
fetch,
|
||||||
|
reset,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,7 +180,7 @@ export function useRequest(_url, params = {}, init = true) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function request(_url, params) {
|
export async function boeRequest(_url, params) {
|
||||||
const s = _url.split(' ')
|
const s = _url.split(' ')
|
||||||
let url = s[0]
|
let url = s[0]
|
||||||
const method = s[1]?.toLowerCase() || 'get'
|
const method = s[1]?.toLowerCase() || 'get'
|
||||||
@@ -193,23 +210,34 @@ export async function request(_url, params) {
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
return JSONBigIntStr.parse(res)
|
return JSONBigIntStr.parse(res)
|
||||||
})
|
})
|
||||||
// return axios({
|
}
|
||||||
// url,
|
|
||||||
// method,
|
export async function request(_url, params) {
|
||||||
// headers: {
|
const s = _url.split(' ')
|
||||||
// token: getCookie('token'),
|
let url = s[0]
|
||||||
// ...method !== 'get' ? {'Content-Type': 'application/json'} : {}
|
const method = s[1]?.toLowerCase() || 'get'
|
||||||
// },
|
if (method === 'get') {
|
||||||
// baseURL: '',
|
let paramsArray = [];
|
||||||
// ...method !== 'get' ? {data: JSON.stringify(body)} : {}
|
if (params) {
|
||||||
// }).then(resp => {
|
Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key]))
|
||||||
// return resp.data
|
if (url.search(/\?/) === -1) {
|
||||||
// }).then(response => {
|
url += '?' + paramsArray.join('&')
|
||||||
// console.log(response)
|
} else {
|
||||||
// return response
|
url += '&' + paramsArray.join('&')
|
||||||
// }).catch(e => {
|
}
|
||||||
// console.log(2222)
|
}
|
||||||
// console.log(e)
|
}
|
||||||
// // router.push({path: '/login'})
|
const body = method !== 'get' ? params || {} : {}
|
||||||
// })
|
return fetch(process.env.VUE_APP_BASE_API + url, {
|
||||||
|
method,
|
||||||
|
headers: {
|
||||||
|
token: getCookieForName('token'),
|
||||||
|
...method !== 'get' ? {'Content-Type': 'application/json'} : {}
|
||||||
|
},
|
||||||
|
...method !== 'get' ? {body: JSON.stringify(body)} : {}
|
||||||
|
}).then(res => {
|
||||||
|
return res.text()
|
||||||
|
}).then(res => {
|
||||||
|
return JSONBigIntStr.parse(res)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { defineEmits, defineProps, ref, watch } from "vue";
|
import { defineEmits, defineProps, ref, watch } from "vue";
|
||||||
import { request, useBoeApi } from "@/api/request";
|
import {boeRequest, request, useBoeApi} from "@/api/request";
|
||||||
import { ORG_CHILD_LIST, ORG_LIST } from "@/api/ThirdApi";
|
import { ORG_CHILD_LIST, ORG_LIST } from "@/api/ThirdApi";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -62,7 +62,7 @@ watch(props, () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function onLoadData(treeNode) {
|
function onLoadData(treeNode) {
|
||||||
return request(ORG_CHILD_LIST, { keyword: "", orgId: treeNode.id }).then(
|
return boeRequest(ORG_CHILD_LIST, { keyword: "", orgId: treeNode.id }).then(
|
||||||
(r) => {
|
(r) => {
|
||||||
treeNode.dataRef.treeChildList = r.result.directChildList;
|
treeNode.dataRef.treeChildList = r.result.directChildList;
|
||||||
options.value = [...options.value];
|
options.value = [...options.value];
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<div class="drawerMain" id="ProjCheckship" style="">
|
<div class="drawerMain" id="ProjCheckship" style="">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">
|
<div class="headerTitle">
|
||||||
{{ {1: "添加学员", 2: "添加学员", 3: "添加学员"}[type] || "" }}
|
{{ {1: "添加学员", 2: "添加学员", 3: "添加学员",4: "查看权",5: "管理权"}[type] || "" }}
|
||||||
</div>
|
</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
@@ -406,7 +406,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {computed, defineEmits, defineProps, ref, watch} from "vue";
|
import {computed, defineEmits, defineProps, ref, watch} from "vue";
|
||||||
import {request, useBoeApi, useBoeApiPage} from "@/api/request";
|
import {boeRequest, useBoeApi, useBoeApiPage} from "@/api/request";
|
||||||
import {
|
import {
|
||||||
AUDIENCE_LIST,
|
AUDIENCE_LIST,
|
||||||
ORG_CHILD_LIST,
|
ORG_CHILD_LIST,
|
||||||
@@ -616,7 +616,7 @@ const closeDrawer = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function onLoadData(treeNode) {
|
function onLoadData(treeNode) {
|
||||||
return request(ORG_CHILD_LIST, {keyword: "", orgId: treeNode.id}).then(
|
return boeRequest(ORG_CHILD_LIST, {keyword: "", orgId: treeNode.id}).then(
|
||||||
(r) => {
|
(r) => {
|
||||||
treeNode.dataRef.treeChildList = r.result.directChildList;
|
treeNode.dataRef.treeChildList = r.result.directChildList;
|
||||||
treeData.value = [...treeData.value];
|
treeData.value = [...treeData.value];
|
||||||
@@ -625,7 +625,7 @@ function onLoadData(treeNode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onLoadOrgData(treeNode) {
|
function onLoadOrgData(treeNode) {
|
||||||
return request(ORG_CHILD_LIST, {keyword: "", orgId: treeNode.id}).then(
|
return boeRequest(ORG_CHILD_LIST, {keyword: "", orgId: treeNode.id}).then(
|
||||||
(r) => {
|
(r) => {
|
||||||
treeNode.dataRef.treeChildList = r.result.directChildList;
|
treeNode.dataRef.treeChildList = r.result.directChildList;
|
||||||
treeOrgData.value = [...treeOrgData.value];
|
treeOrgData.value = [...treeOrgData.value];
|
||||||
|
|||||||
460
src/components/student/TableModelStudent.vue
Normal file
460
src/components/student/TableModelStudent.vue
Normal file
@@ -0,0 +1,460 @@
|
|||||||
|
<template>
|
||||||
|
<div class="CommonStudent">
|
||||||
|
<a-drawer
|
||||||
|
:visible="visiable"
|
||||||
|
class="drawerStyle ProjCheckship"
|
||||||
|
placement="right"
|
||||||
|
width="40%"
|
||||||
|
>
|
||||||
|
<div class="drawerMain" id="ProjCheckship" style="">
|
||||||
|
<div class="header">
|
||||||
|
<div class="headerTitle">
|
||||||
|
权限名单
|
||||||
|
</div>
|
||||||
|
<img
|
||||||
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
|
src="../../assets/images/basicinfo/close.png"
|
||||||
|
@click="closeDrawer"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="TableStudent">
|
||||||
|
<a-row
|
||||||
|
type="flex"
|
||||||
|
gutter="12"
|
||||||
|
style="padding-left: 20px; margin-right: 0px"
|
||||||
|
>
|
||||||
|
<a-col>
|
||||||
|
<a-form-item title="姓名:">
|
||||||
|
<a-input
|
||||||
|
class="cus-input"
|
||||||
|
v-model:value="searchParams.studentName"
|
||||||
|
placeholder="请输入姓名"
|
||||||
|
/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col>
|
||||||
|
<a-button
|
||||||
|
class="cus-btn"
|
||||||
|
style="background: #4ea6ff; color: #fff; width: 100px"
|
||||||
|
@click="searchStu"
|
||||||
|
>
|
||||||
|
<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">
|
||||||
|
<template #icon><img style="margin-right: 10px" src="../../assets/images/leveladd/reset.png"/>
|
||||||
|
</template>
|
||||||
|
重置
|
||||||
|
</a-button>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<div style="margin-top: 20px">
|
||||||
|
<a-table
|
||||||
|
:columns="columns"
|
||||||
|
:data-source="studentList"
|
||||||
|
:pagination="stuPagination"
|
||||||
|
:loading="loading"
|
||||||
|
row-key="id"
|
||||||
|
>
|
||||||
|
<template #action="{ record }">
|
||||||
|
<a-space :size="2">
|
||||||
|
<slot name="extension" v-bind:data="{ record }"></slot>
|
||||||
|
<a-button @click="del(record.id)" type="link" danger>删除</a-button>
|
||||||
|
</a-space>
|
||||||
|
</template>
|
||||||
|
</a-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btnn">
|
||||||
|
<button class="btn1" @click="closeDrawer">取消</button>
|
||||||
|
<button class="btn2" @click="closeDrawer">确定</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
|
<div @click="openDrawer">
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import {computed, createVNode, defineProps, ref, watch} from "vue";
|
||||||
|
import {usePage} from "@/api/request";
|
||||||
|
import {STUDENT_LIST} from "@/api/apis";
|
||||||
|
import {delStudentList} from "@/api/index1";
|
||||||
|
import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
|
||||||
|
import {Modal} from "ant-design-vue";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
type: Number,
|
||||||
|
id: String,
|
||||||
|
stage: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
types: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const visiable = ref(false);
|
||||||
|
|
||||||
|
const initParams = {
|
||||||
|
studentName: "",
|
||||||
|
page: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
type: props.type || '',
|
||||||
|
types: props.types,
|
||||||
|
pid: props.id || '',
|
||||||
|
}
|
||||||
|
|
||||||
|
const searchParams = ref(initParams)
|
||||||
|
|
||||||
|
const columns = ref([
|
||||||
|
{
|
||||||
|
title: "姓名",
|
||||||
|
dataIndex: "studentName",
|
||||||
|
key: "studentName",
|
||||||
|
width: 30,
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "工号",
|
||||||
|
dataIndex: "studentUserNo",
|
||||||
|
key: "studentUserNo",
|
||||||
|
width: 50,
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "部门",
|
||||||
|
dataIndex: "studentDepartName",
|
||||||
|
key: "studentDepartName",
|
||||||
|
width: 80,
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "权限",
|
||||||
|
dataIndex: "type",
|
||||||
|
key: "type",
|
||||||
|
width: 30,
|
||||||
|
align: "center",
|
||||||
|
customRender: ({record: {type}}) => ({4: "查看权", 5: "管理权", 6: "归属权"}[type]),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
dataIndex: "operation",
|
||||||
|
key: "operation",
|
||||||
|
width: 50,
|
||||||
|
align: "center",
|
||||||
|
slots: {customRender: "action"},
|
||||||
|
},
|
||||||
|
])
|
||||||
|
|
||||||
|
const {data: studentList, fetch: searchStu, total, loading} = usePage(STUDENT_LIST, searchParams.value)
|
||||||
|
|
||||||
|
const stuPagination = computed(() => ({
|
||||||
|
total: total,
|
||||||
|
showSizeChanger: false,
|
||||||
|
current: searchParams.value.page,
|
||||||
|
pageSize: searchParams.value.pageSize,
|
||||||
|
onChange: changePagination,
|
||||||
|
}));
|
||||||
|
const openDrawer = () => {
|
||||||
|
visiable.value = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
const changePagination = (page) => {
|
||||||
|
searchParams.value.page = page;
|
||||||
|
searchStu();
|
||||||
|
};
|
||||||
|
|
||||||
|
function del(id) {
|
||||||
|
Modal.confirm({
|
||||||
|
title: () => '确定删除?',
|
||||||
|
icon: () => createVNode(ExclamationCircleOutlined),
|
||||||
|
content: () => '数据删除后不可恢复!',
|
||||||
|
okText: () => '确定',
|
||||||
|
okType: 'danger',
|
||||||
|
cancelText: () => '取消',
|
||||||
|
onOk() {
|
||||||
|
id && delStudentList({ids: [id]}).then(() => searchStu())
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const closeDrawer = () => {
|
||||||
|
visiable.value = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
function reset(){
|
||||||
|
searchParams.value = initParams
|
||||||
|
searchStu()
|
||||||
|
}
|
||||||
|
|
||||||
|
watch(visiable, () => {
|
||||||
|
visiable.value && searchStu()
|
||||||
|
searchParams.value = initParams
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CommonStudent {
|
||||||
|
.ant-btn-primary {
|
||||||
|
background-color: #4ea6ff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cus-select {
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tableBox .ant-table-row .ant-table-cell {
|
||||||
|
height: 48px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #4f5156;
|
||||||
|
line-height: 29px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tableBox .ant-table-thead tr th {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-tabs-tabpane {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-tabs {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right1 {
|
||||||
|
border-left: 1px solid #f2f6fe;
|
||||||
|
margin-left: 20px;
|
||||||
|
|
||||||
|
.onerow {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 40px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.onleft {
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.already {
|
||||||
|
color: rgba(51, 51, 51, 1);
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-left: 32px;
|
||||||
|
white-space: nowrap;
|
||||||
|
// margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.count {
|
||||||
|
color: #4ea6ff;
|
||||||
|
font-size: 16px;
|
||||||
|
margin: 0 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.peo {
|
||||||
|
color: rgba(51, 51, 51, 1);
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.clbox {
|
||||||
|
margin-right: 50px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 104px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: #4ea6ff;
|
||||||
|
|
||||||
|
.colose {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
// border-radius: 8px;
|
||||||
|
// background: #ffffff;
|
||||||
|
// position: relative;
|
||||||
|
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||||
|
background-size: 100%;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.allclear {
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.selecteds {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-left: 32px;
|
||||||
|
|
||||||
|
.person {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 20px;
|
||||||
|
border-top: 1px solid #f2f6fe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chose {
|
||||||
|
width: 64px;
|
||||||
|
height: 24px;
|
||||||
|
margin-top: 25px;
|
||||||
|
margin-right: 25px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid rgba(56, 139, 225, 1);
|
||||||
|
color: rgba(56, 139, 225, 1);
|
||||||
|
font-size: 12px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.ch {
|
||||||
|
position: absolute;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||||
|
right: -8px;
|
||||||
|
top: -8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ifsw {
|
||||||
|
display: flex;
|
||||||
|
align-items: end;
|
||||||
|
justify-content: center;
|
||||||
|
color: #4ea6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sw {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: justify;
|
||||||
|
color: #4ea6ff;
|
||||||
|
margin-top: 23px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dept {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 30px;
|
||||||
|
border-top: 1px solid #f2f6fe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chose1 {
|
||||||
|
//width: 90px;
|
||||||
|
height: 24px;
|
||||||
|
margin-top: 25px;
|
||||||
|
margin-right: 25px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid rgba(56, 139, 225, 1);
|
||||||
|
color: rgba(56, 139, 225, 1);
|
||||||
|
font-size: 12px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.span {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ch1 {
|
||||||
|
position: absolute;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||||
|
right: -8px;
|
||||||
|
top: -8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.group {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 30px;
|
||||||
|
border-top: 1px solid #f2f6fe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chose2 {
|
||||||
|
//width: 120px;
|
||||||
|
height: 24px;
|
||||||
|
margin-top: 25px;
|
||||||
|
margin-right: 25px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px solid rgba(56, 139, 225, 1);
|
||||||
|
color: rgba(56, 139, 225, 1);
|
||||||
|
font-size: 12px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.span {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ch2 {
|
||||||
|
position: absolute;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
background-image: url(../../assets/images/basicinfo/ch.png);
|
||||||
|
right: -8px;
|
||||||
|
top: -8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -214,50 +214,13 @@
|
|||||||
调整
|
调整
|
||||||
</div> -->
|
</div> -->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<a-row gutter="12">
|
<a-space :size="2">
|
||||||
<a-col>
|
|
||||||
<slot name="extension" v-bind:data="{ record }"></slot>
|
<slot name="extension" v-bind:data="{ record }"></slot>
|
||||||
</a-col>
|
<a-button v-if="type === 1" @click="updateStatus(0, record.id)" type="link">换组</a-button>
|
||||||
<!-- 新加 换组 通过 拒绝
|
<a-button v-if="type === 3 && record.status!==0" @click="updateStatus(0, record.id)" type="link">通过</a-button>
|
||||||
<a-col v-if="type === 1">
|
<a-button v-if="type === 3 && record.status!==0" @click="updateStatus(2, record.id)" type="link">拒绝</a-button>
|
||||||
<div
|
<a-button @click="del(record.id)" type="link" danger>删除</a-button>
|
||||||
style="
|
</a-space>
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
换组
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
-->
|
|
||||||
<a-col v-if="type === 3 && record.status!==0">
|
|
||||||
<div
|
|
||||||
style=" color: #4ea6ff; font-size: 14px;text-align: center; margin-left: 10px; cursor: pointer; "
|
|
||||||
@click="updateStatus(0, record.id)"
|
|
||||||
>
|
|
||||||
通过
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col v-if="type === 3 && record.status!==0">
|
|
||||||
<div
|
|
||||||
style=" color: #4ea6ff;font-size: 14px;text-align: center; margin-left: 10px;cursor: pointer; "
|
|
||||||
@click="updateStatus(2, record.id)"
|
|
||||||
>
|
|
||||||
拒绝
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
<a-col>
|
|
||||||
<div
|
|
||||||
@click="del(record.id)"
|
|
||||||
style=" color: #4ea6ff;font-size: 14px;text-align: center; margin-left: 10px; cursor: pointer;"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</div>
|
|
||||||
</a-col>
|
|
||||||
</a-row>
|
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
@@ -366,11 +329,11 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, defineProps, onMounted, ref, watch } from "vue";
|
import {computed, createVNode, defineProps, onMounted, ref, watch} from "vue";
|
||||||
import { delStudentList, getStuPage, batchUpdateStatus } from "@/api/index1";
|
import { delStudentList, getStuPage, batchUpdateStatus } from "@/api/index1";
|
||||||
import CommonStudent from "@/components/student/CommonStudent";
|
import CommonStudent from "@/components/student/CommonStudent";
|
||||||
import ChangeLevelModal from "./ChangeLevelModal.vue";
|
import ChangeLevelModal from "./ChangeLevelModal.vue";
|
||||||
import { message } from "ant-design-vue";
|
import {message, Modal} from "ant-design-vue";
|
||||||
// import { topStudent } from "../../api/indexProjStu";
|
// import { topStudent } from "../../api/indexProjStu";
|
||||||
import SeeStu from "../../components/drawers/SeeStu";
|
import SeeStu from "../../components/drawers/SeeStu";
|
||||||
import EScore from "../drawers/ExportScore.vue";
|
import EScore from "../drawers/ExportScore.vue";
|
||||||
@@ -378,6 +341,8 @@ import OrgClass from "@/components/project/OrgClass";
|
|||||||
import ExportHomeWork from "../Modals/ExportHomeWork.vue";
|
import ExportHomeWork from "../Modals/ExportHomeWork.vue";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import ImpStu from "../drawers/AddLevelImportStu";
|
import ImpStu from "../drawers/AddLevelImportStu";
|
||||||
|
import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
type: Number,
|
type: Number,
|
||||||
id: String,
|
id: String,
|
||||||
@@ -599,11 +564,16 @@ function bathDel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function del(id) {
|
function del(id) {
|
||||||
id &&
|
Modal.confirm({
|
||||||
delStudentList({
|
title: () => '确定删除?',
|
||||||
ids: [id],
|
icon: () => createVNode(ExclamationCircleOutlined),
|
||||||
}).then(() => {
|
content: () => '数据删除后不可恢复!',
|
||||||
getStuList();
|
okText: () => '确定',
|
||||||
|
okType: 'danger',
|
||||||
|
cancelText: () => '取消',
|
||||||
|
onOk() {
|
||||||
|
id && delStudentList({ids: [id]}).then(() => getStuList())
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -309,628 +309,48 @@
|
|||||||
<a-table
|
<a-table
|
||||||
:columns="columns1"
|
:columns="columns1"
|
||||||
:data-source="tableData1"
|
:data-source="tableData1"
|
||||||
:loading="tableDataTotal1 === -1 ? true : false"
|
:loading="tableDataTotal1 === -1"
|
||||||
:scroll="{ x: 600 }"
|
:scroll="{ x: 600 }"
|
||||||
expandRowByClick="true"
|
|
||||||
@expand="expandTable"
|
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
>
|
>
|
||||||
<template #bodyCell="{ record, column }">
|
<template #bodyCell="{ record, column }">
|
||||||
<template
|
<template v-if="column.key === 'operation'">
|
||||||
v-if="
|
<a-space :size="0">
|
||||||
(String(record.status) === '0' || record.status === '未提交') &&
|
<a-button v-if="record.status===0 || record.status===-1 || !record.kkty" @click="() => handleEdit(record, String(record.courseform))" type="link">编辑</a-button>
|
||||||
column.key === 'operation'
|
<a-button block v-if="record.status===2" @click="() => handleStart(record, String(record.courseform))" type="link">开课</a-button>
|
||||||
"
|
<a-button v-if="record.status===2" @click="() => handleLook(record, String(record.courseform))" type="link">查看</a-button>
|
||||||
>
|
<a-button v-if="record.status===2" @click="() => handleGuan22(record, String(record.courseform))" type="link">管理</a-button>
|
||||||
<div
|
<div className="tableSelect" style="margin-left: 0">
|
||||||
style="margin-right: 24px"
|
<a-select value="授权" dropdownClassName="tabledropdown">
|
||||||
:class="[
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
String(record.courseform) === '1'
|
<TableModelStudent :types="[10,11,12]" :id="record.offcourseId">权限名单</TableModelStudent>
|
||||||
? 'disabled operation'
|
</a-select-option>
|
||||||
: 'operation',
|
<a-select-option value="查看权" label="查看权">
|
||||||
]"
|
<CommonStudent :type="10" :id="record.offcourseId">查看权</CommonStudent>
|
||||||
>
|
</a-select-option>
|
||||||
<div class="fb">
|
<a-select-option value="管理权" label="管理权">
|
||||||
<div
|
<CommonStudent :type="11" :id="record.offcourseId">管理权</CommonStudent>
|
||||||
class="jc"
|
</a-select-option>
|
||||||
@click="
|
</a-select>
|
||||||
() => {
|
|
||||||
handleEdit(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
编辑
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleCopy(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
复制
|
|
||||||
</div>
|
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
|
||||||
<!-- <a-dropdown>
|
|
||||||
<template #overlay>
|
|
||||||
<a-menu>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
权限名单
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showOwnPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
归属权
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showViewPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>查看权</a-menu-item
|
|
||||||
>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showManagePrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>管理权</a-menu-item
|
|
||||||
>
|
|
||||||
</a-menu>
|
|
||||||
</template>
|
|
||||||
<a>
|
|
||||||
授权
|
|
||||||
<down-outlined />
|
|
||||||
</a>
|
|
||||||
</a-dropdown> -->
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleDelete(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template
|
|
||||||
v-if="
|
|
||||||
(String(record.status) === '1' || record.status === '待审核') &&
|
|
||||||
column.key === 'operation'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
style="margin-right: 24px"
|
|
||||||
:class="[
|
|
||||||
String(record.courseform) === '1'
|
|
||||||
? 'disabled operation'
|
|
||||||
: 'operation',
|
|
||||||
]"
|
|
||||||
>
|
|
||||||
<div class="fb">
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleRejectExit(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
撤回
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleCopy(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
复制
|
|
||||||
</div>
|
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
|
||||||
<!-- <a-dropdown>
|
|
||||||
<template #overlay>
|
|
||||||
<a-menu>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
权限名单
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showOwnPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
归属权
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showViewPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>查看权</a-menu-item
|
|
||||||
>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showManagePrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>管理权</a-menu-item
|
|
||||||
>
|
|
||||||
</a-menu>
|
|
||||||
</template>
|
|
||||||
<a>
|
|
||||||
授权
|
|
||||||
<down-outlined />
|
|
||||||
</a>
|
|
||||||
</a-dropdown> -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template
|
|
||||||
v-if="
|
|
||||||
(String(record.status) === '2' || record.status === '已审核') &&
|
|
||||||
String(record.kkty) === '1' &&
|
|
||||||
column.key === 'operation'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
style="margin-right: 24px"
|
|
||||||
:class="[
|
|
||||||
String(record.courseform) === '1'
|
|
||||||
? 'disabled operation'
|
|
||||||
: 'operation',
|
|
||||||
]"
|
|
||||||
>
|
|
||||||
<div class="fb">
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleStart(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
开课
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleLook(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
查看
|
|
||||||
</div>
|
|
||||||
<!-- 2022-12-11注释 后面放开 -->
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (String(record.courseform) === ('1' || '线上')) {
|
|
||||||
om_1 = true;
|
|
||||||
ft_1 = false;
|
|
||||||
} else if (
|
|
||||||
String(record.courseform) === ('2' || '面授')
|
|
||||||
) {
|
|
||||||
om_1 = true;
|
|
||||||
ft_1 = true;
|
|
||||||
}
|
|
||||||
handleGuan22(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
管理
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleCopy(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
复制
|
|
||||||
</div>
|
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
|
||||||
<!-- <a-dropdown>
|
|
||||||
<template #overlay>
|
|
||||||
<a-menu>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
权限名单
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showOwnPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
归属权
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showViewPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>查看权</a-menu-item
|
|
||||||
>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showManagePrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>管理权</a-menu-item
|
|
||||||
>
|
|
||||||
</a-menu>
|
|
||||||
</template>
|
|
||||||
<a>
|
|
||||||
授权
|
|
||||||
<down-outlined />
|
|
||||||
</a>
|
|
||||||
</a-dropdown> -->
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleStop(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
停用
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template
|
|
||||||
v-if="
|
|
||||||
(String(record.status) === '2' || record.status === '已审核') &&
|
|
||||||
String(record.kkty) === '0' &&
|
|
||||||
column.key === 'operation'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
style="margin-right: 24px"
|
|
||||||
:class="[
|
|
||||||
String(record.courseform) === '1'
|
|
||||||
? 'disabled operation'
|
|
||||||
: 'operation',
|
|
||||||
]"
|
|
||||||
>
|
|
||||||
<div class="fb">
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleStart(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
开课
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleEdit(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
编辑
|
|
||||||
</div>
|
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (String(record.courseform) === ('1' || '线上')) {
|
|
||||||
om_1 = true;
|
|
||||||
ft_1 = false;
|
|
||||||
} else if (
|
|
||||||
String(record.courseform) === ('2' || '面授')
|
|
||||||
) {
|
|
||||||
om_1 = true;
|
|
||||||
ft_1 = true;
|
|
||||||
}
|
|
||||||
handleGuan22(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
管理
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleCopy(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
复制
|
|
||||||
</div>
|
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
|
||||||
<!-- <a-dropdown>
|
|
||||||
<template #overlay>
|
|
||||||
<a-menu>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
权限名单
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showOwnPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
归属权
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showViewPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>查看权</a-menu-item
|
|
||||||
>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showManagePrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>管理权</a-menu-item
|
|
||||||
>
|
|
||||||
</a-menu>
|
|
||||||
</template>
|
|
||||||
<a>
|
|
||||||
授权
|
|
||||||
<down-outlined />
|
|
||||||
</a>
|
|
||||||
</a-dropdown> -->
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleOpen(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
启用
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleDelete(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template
|
|
||||||
v-if="
|
|
||||||
(String(record.status) === '-1' ||
|
|
||||||
record.status === '审核未通过') &&
|
|
||||||
column.key === 'operation'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
style="margin-right: 24px"
|
|
||||||
:class="[
|
|
||||||
String(record.courseform) === '1'
|
|
||||||
? 'disabled operation'
|
|
||||||
: 'operation',
|
|
||||||
]"
|
|
||||||
>
|
|
||||||
<div class="fb">
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleEdit(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
编辑
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleCopy(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
复制
|
|
||||||
</div>
|
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
|
||||||
<!-- <a-dropdown>
|
|
||||||
<template #overlay>
|
|
||||||
<a-menu>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
权限名单
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showOwnPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
|
||||||
归属权
|
|
||||||
</a-menu-item>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showViewPrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>查看权</a-menu-item
|
|
||||||
>
|
|
||||||
<a-menu-item
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
if (String(record.courseform) === '1') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
showManagePrower(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>管理权</a-menu-item
|
|
||||||
>
|
|
||||||
</a-menu>
|
|
||||||
</template>
|
|
||||||
<a>
|
|
||||||
授权
|
|
||||||
<down-outlined />
|
|
||||||
</a>
|
|
||||||
</a-dropdown> -->
|
|
||||||
<div
|
|
||||||
class="jc"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
handleDelete(record, String(record.courseform));
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="display: inline-block; margin-left: 20px"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className="tableSelect">
|
||||||
|
<a-select value="更多" dropdownClassName="tabledropdown">
|
||||||
|
<a-select-option value="复制" label="复制">
|
||||||
|
<a-button @click="() => handleCopy(record, String(record.courseform))" type="link">复制</a-button>
|
||||||
|
</a-select-option>
|
||||||
|
<a-select-option v-if="record.status===1" value="撤回" label="撤回">
|
||||||
|
<a-button @click="() => handleRejectExit(record, String(record.courseform))" type="link">撤回</a-button>
|
||||||
|
</a-select-option>
|
||||||
|
<a-select-option v-if="record.status===2" value="停用" label="停用">
|
||||||
|
<a-button v-if="record.status===2 && record.kkty" @click="() => handleStop(record, String(record.courseform))" type="link">停用</a-button>
|
||||||
|
<a-button v-if="record.status===2 && !record.kkty" @click="() => handleOpen(record, String(record.courseform))" type="link">启用</a-button>
|
||||||
|
</a-select-option>
|
||||||
|
<a-select-option value="删除" label="删除">
|
||||||
|
<a-button @click="() => handleDelete(record, String(record.courseform))" type="link" danger>删除</a-button>
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
@@ -1702,65 +1122,9 @@
|
|||||||
:isgetStudent="isgetStudent"
|
:isgetStudent="isgetStudent"
|
||||||
>
|
>
|
||||||
<template #extension="{ data: { record } }">
|
<template #extension="{ data: { record } }">
|
||||||
<div style="display: flex">
|
<a-button v-if="record.source === 4 && record.status === 1" @click="() => {record.status = 0;auditStudent(record);}" type="link">审核通过</a-button>
|
||||||
<div
|
<a-button v-if="record.source === 4 && record.status === 1" @click="() => {record.status = 2;auditStudent(record);}" type="link">拒绝</a-button>
|
||||||
v-if="record.source === 4 && record.status === 1"
|
<a-button v-if="record.source === 4 && (record.status === 0 || record.status === 2)" @click="() => {record.status = 1;auditStudent(record);}" type="link">撤回</a-button>
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
record.status = 0;
|
|
||||||
auditStudent(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
审核通过
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
v-if="record.source === 4 && record.status === 1"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
record.status = 2;
|
|
||||||
auditStudent(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
拒绝
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
v-if="
|
|
||||||
record.source === 4 &&
|
|
||||||
(record.status === 0 || record.status === 2)
|
|
||||||
"
|
|
||||||
@click="
|
|
||||||
() => {
|
|
||||||
record.status = 1;
|
|
||||||
auditStudent(record);
|
|
||||||
}
|
|
||||||
"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
撤回
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</TableStudent>
|
</TableStudent>
|
||||||
</div>
|
</div>
|
||||||
@@ -2295,6 +1659,8 @@ import * as api from "../../api/indexInvist.js";
|
|||||||
import * as apis from "../../api/indexTaskManage";
|
import * as apis from "../../api/indexTaskManage";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { useRouter, useRoute } from "vue-router";
|
import { useRouter, useRoute } from "vue-router";
|
||||||
|
import CommonStudent from "@/components/student/CommonStudent";
|
||||||
|
import TableModelStudent from "@/components/student/TableModelStudent";
|
||||||
// import StuAdd from "../../components/drawers/StuAdd";
|
// import StuAdd from "../../components/drawers/StuAdd";
|
||||||
// import OwnPower from "../../components/drawers/OwnPower.vue";
|
// import OwnPower from "../../components/drawers/OwnPower.vue";
|
||||||
// import Corpowerlist from "../../components/drawers/CorPowerlist.vue";
|
// import Corpowerlist from "../../components/drawers/CorPowerlist.vue";
|
||||||
@@ -2525,8 +1891,7 @@ const columns1 = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "操作",
|
title: "操作",
|
||||||
width: 315,
|
width: 370,
|
||||||
className: "h",
|
|
||||||
dataIndex: "operation",
|
dataIndex: "operation",
|
||||||
key: "operation",
|
key: "operation",
|
||||||
fixed: "right",
|
fixed: "right",
|
||||||
@@ -2913,7 +2278,8 @@ export default defineComponent({
|
|||||||
components: {
|
components: {
|
||||||
// OwnPower,
|
// OwnPower,
|
||||||
// Corpowerlist,
|
// Corpowerlist,
|
||||||
|
CommonStudent,
|
||||||
|
TableModelStudent,
|
||||||
SeeModal,
|
SeeModal,
|
||||||
CourseModal,
|
CourseModal,
|
||||||
FJUpload,
|
FJUpload,
|
||||||
@@ -8093,24 +7459,24 @@ export default defineComponent({
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .tableSelect {
|
.tableSelect {
|
||||||
// position: relative;
|
position: relative;
|
||||||
// .hoverList {
|
.hoverList {
|
||||||
// display: none;
|
display: none;
|
||||||
// }
|
}
|
||||||
// &:hover {
|
&:hover {
|
||||||
// .hoverList {
|
.hoverList {
|
||||||
// display: block;
|
display: block;
|
||||||
// position: absolute;
|
position: absolute;
|
||||||
// top: 20px;
|
top: 20px;
|
||||||
// left: -20px;
|
left: -20px;
|
||||||
// background: #fff;
|
background: #fff;
|
||||||
// box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
// // padding: 20px;
|
// padding: 20px;
|
||||||
// color: #000000;
|
color: #000000;
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
// ::v-deep .w-e-toolbar {
|
// ::v-deep .w-e-toolbar {
|
||||||
// .w-e-bar-item {
|
// .w-e-bar-item {
|
||||||
|
|||||||
@@ -690,26 +690,24 @@
|
|||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, onMounted, watch, computed } from "vue";
|
import { reactive, toRefs, onMounted, watch, computed } from "vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
// import OwnerShip from "../../components/drawers/Ownership";
|
import CommonStudent from "@/components/student/CommonStudent";
|
||||||
// import PowerList from "../../components/drawers/PowerList";
|
import TableModelStudent from "@/components/student/TableModelStudent";
|
||||||
// import QueryRight from "../../components/drawers/QueryRight";
|
|
||||||
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
|
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
|
||||||
import ProjPowerList from "../../components/drawers/ProjPowerList";
|
import ProjPowerList from "../../components/drawers/ProjPowerList";
|
||||||
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
|
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
|
||||||
// import ManageRight from "../../components/drawers/ManageRight";
|
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import * as apiStu from "../../api/index";
|
import * as apiStu from "../../api/index";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import {
|
import {
|
||||||
commonData,
|
commonData,
|
||||||
changeOwnership,
|
changeOwnership,
|
||||||
// setCookie
|
} from "@/api/method";
|
||||||
} from "../../api/method";
|
import { storage } from "@/api/storage";
|
||||||
import { storage } from "../../api/storage";
|
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import NameInput from "@/components/project/NameInput";
|
import NameInput from "@/components/project/NameInput";
|
||||||
import {validateName} from "../../api/index1";
|
import {validateName} from "@/api/index1";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "learningPath",
|
name: "learningPath",
|
||||||
@@ -1249,51 +1247,23 @@ export default {
|
|||||||
>
|
>
|
||||||
管理
|
管理
|
||||||
</div>
|
</div>
|
||||||
{/**
|
{
|
||||||
// <!-- 2022-12-10注释 后面放开 -->
|
|
||||||
<a-select
|
<a-select
|
||||||
style="width: 50px;margin-top:2px;margin-left:25px"
|
style="width: 50px;margin-top:2px;margin-left:25px"
|
||||||
value="授权"
|
value="授权"
|
||||||
dropdownClassName="tabledropdown"
|
dropdownClassName="tabledropdown"
|
||||||
>
|
>
|
||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<TableModelStudent types={[7,8,9]} id={text.record.id}>权限名单</TableModelStudent>
|
||||||
onClick={() => {
|
|
||||||
showPower(text.record.id);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
权限名单
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
|
||||||
<a-select-option value="归属权" label="归属权">
|
|
||||||
<div
|
|
||||||
onClick={() => {
|
|
||||||
showOwner(text.record.id);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
归属权
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="查看权" label="查看权">
|
<a-select-option value="查看权" label="查看权">
|
||||||
<div
|
<CommonStudent type={7} id={text.record.id}>查看权</CommonStudent>
|
||||||
onClick={() => {
|
|
||||||
showQuery(text.record.id);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
查看权
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="管理权" label="管理权">
|
<a-select-option value="管理权" label="管理权">
|
||||||
<div
|
<CommonStudent type={8} id={text.record.id}>管理权</CommonStudent>
|
||||||
onClick={() => {
|
|
||||||
showManage(text.record.id);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
管理权
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
*/}
|
}
|
||||||
</div>
|
</div>
|
||||||
<div class="tableSelect">
|
<div class="tableSelect">
|
||||||
{text.record.state === "草稿" ? (
|
{text.record.state === "草稿" ? (
|
||||||
|
|||||||
@@ -523,32 +523,8 @@
|
|||||||
:columns="tableDataFunc()"
|
:columns="tableDataFunc()"
|
||||||
>
|
>
|
||||||
<template #extension="{ data: { record } }">
|
<template #extension="{ data: { record } }">
|
||||||
<div style="display: flex">
|
<a-button type="link" @click="showStudent(record)">查看</a-button>
|
||||||
<div
|
<a-button type="link" @click="setLevels(record)">调整</a-button>
|
||||||
@click="showStudent(record)"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
查看
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
@click="setLevels(record)"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
调整
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</TableStudent>
|
</TableStudent>
|
||||||
<TableStudent
|
<TableStudent
|
||||||
@@ -559,32 +535,8 @@
|
|||||||
:columns="tableDataFunc()"
|
:columns="tableDataFunc()"
|
||||||
>
|
>
|
||||||
<template #extension="{ data: { record } }">
|
<template #extension="{ data: { record } }">
|
||||||
<div style="display: flex">
|
<a-button type="link" @click="showStudent(record)">查看</a-button>
|
||||||
<div
|
<a-button type="link" @click="setLevels(record)">调整</a-button>
|
||||||
@click="showStudent(record)"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
查看
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
@click="setLevels(record)"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
调整
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</TableStudent>
|
</TableStudent>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
|||||||
@@ -830,7 +830,6 @@ import * as api from "../../api/index";
|
|||||||
import * as api1 from "../../api/index1";
|
import * as api1 from "../../api/index1";
|
||||||
import { storage } from "../../api/storage";
|
import { storage } from "../../api/storage";
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
// import ProjectClass from "@/components/project/ProjectClass";
|
|
||||||
import TrainClass from "@/components/project/TrainClass";
|
import TrainClass from "@/components/project/TrainClass";
|
||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
@@ -838,7 +837,8 @@ import * as moment from "moment";
|
|||||||
import { changeOwnership } from "@/api/method";
|
import { changeOwnership } from "@/api/method";
|
||||||
import NameInput from "@/components/project/NameInput";
|
import NameInput from "@/components/project/NameInput";
|
||||||
import { validateName } from "@/api/index1";
|
import { validateName } from "@/api/index1";
|
||||||
//import { toDate } from "../../api/method";
|
import CommonStudent from "@/components/student/CommonStudent";
|
||||||
|
import TableModelStudent from "@/components/student/TableModelStudent";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "projectManage",
|
name: "projectManage",
|
||||||
@@ -1510,57 +1510,21 @@ export default {
|
|||||||
) : (
|
) : (
|
||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
|
{
|
||||||
{/**
|
|
||||||
//<!-- 2022-12-10注释 后面放开 -->
|
|
||||||
<div className="tableSelect">
|
<div className="tableSelect">
|
||||||
<a-select
|
<a-select style="width: 50px;" value="授权" dropdownClassName="tabledropdown">
|
||||||
style="width: 50px"
|
|
||||||
value="授权"
|
|
||||||
// options={state.projectNameList}
|
|
||||||
dropdownClassName="tabledropdown"
|
|
||||||
>
|
|
||||||
<a-select-option value="权限名单" label="权限名单">
|
<a-select-option value="权限名单" label="权限名单">
|
||||||
<div
|
<TableModelStudent types={[4,5,6]} id={value.record.projectId}>权限名单</TableModelStudent>
|
||||||
onClick={() => {
|
|
||||||
showProjPrower(value.record.projectId);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
权限名单
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
|
||||||
<a-select-option value="归属权" label="归属权">
|
|
||||||
<div
|
|
||||||
onClick={() => {
|
|
||||||
console.log("点击了111");
|
|
||||||
showProjOwner(value.record.projectId);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
归属权
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="查看权" label="查看权">
|
<a-select-option value="查看权" label="查看权">
|
||||||
<div
|
<CommonStudent type={4} id={value.record.projectId}>查看权</CommonStudent>
|
||||||
onClick={() => {
|
|
||||||
console.log("点击了111");
|
|
||||||
showProjCheck(value.record.projectId);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
查看权
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
<a-select-option value="管理权" label="管理权">
|
<a-select-option value="管理权" label="管理权">
|
||||||
<div
|
<CommonStudent type={5} id={value.record.projectId}>管理权</CommonStudent>
|
||||||
onClick={() => {
|
|
||||||
showProjManage(value.record.projectId);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
管理权
|
|
||||||
</div>
|
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
*/}
|
}
|
||||||
{value.record.type === 1 ? (
|
{value.record.type === 1 ? (
|
||||||
<span
|
<span
|
||||||
className="operation3"
|
className="operation3"
|
||||||
|
|||||||
@@ -701,32 +701,8 @@
|
|||||||
:visable="tabFlag"
|
:visable="tabFlag"
|
||||||
>
|
>
|
||||||
<template #extension="{ data: { record } }">
|
<template #extension="{ data: { record } }">
|
||||||
<div style="display: flex">
|
<a-button @click="showStudent(record)" type="link">查看</a-button>
|
||||||
<div
|
<a-button @click="settingTopFlag(record)" type="link">{{ record.topFlag ? "取消优秀" : "优秀学员" }}</a-button>
|
||||||
@click="showStudent(record)"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
查看
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
@click="settingTopFlag(record)"
|
|
||||||
style="
|
|
||||||
color: #4ea6ff;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
margin-left: 20px;
|
|
||||||
cursor: pointer;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
{{ record.topFlag ? "取消优秀" : "优秀学员" }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</TableStudent>
|
</TableStudent>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
|||||||
Reference in New Issue
Block a user