Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	src/components/student/TableModelStudent.vue
#	src/views/projectcenter/ProjectAdd.vue
#	src/views/projectcenter/ProjectManage.vue
This commit is contained in:
yuping
2023-01-31 17:32:10 +08:00
11 changed files with 1488 additions and 286 deletions

View File

@@ -0,0 +1,94 @@
<!--
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-12-20 17:00:37
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2023-01-31 15:51:36
* @FilePath: /fe-manage/src/components/student/ChangeLevelModal.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<a-modal
style="padding: 0"
:closable="true"
:visible="changegroupV"
:footer="null"
centered="true"
wrapClassName="changeModal"
>
<div class="con">
<div class="header">
<div class="inhe">
<div class="mod"></div>
<div class="tz">换组</div>
<div class="mg" @click="closeChangeModal"></div>
</div>
</div>
<div class="mid">
<div class="inher">
<!-- <div class="cur">当前关卡关卡2</div> -->
<div class="select">
<a-select
v-model:value="selectStage"
style="width: 100%"
placeholder="请选择小组"
:options="option"
allowClear
></a-select>
</div>
<div class="btn">
<button
class="sameb btn1"
@click="closeChangeModal"
style="cursor: pointer"
>
取消
</button>
<button
class="sameb btn2"
@click="changeGroup"
style="cursor: pointer"
>
确定
</button>
</div>
</div>
</div>
</div>
</a-modal>
</template>
<script setup>
import { computed, defineEmits, defineProps, ref } from "vue";
// import { moveStudent } from "@/api/index1";
// import { message } from "ant-design-vue";
const props = defineProps({
changegroupV: {
type: Boolean,
default: false,
},
stage: {
type: Array,
default: () => [],
},
ids: {
type: Array,
default: () => [],
},
});
const option = computed(() => {
return props.stage.map((e) => ({ label: e.name, value: e.id }));
});
console.log("changegroupV", props.changegroupV);
const selectStage = ref();
const emit = defineEmits({});
const closeChangeModal = () => {
emit("update:changegroupV", false);
};
//确认换组
const changeGroup = (item) => {
console.log("换组", item);
};
</script>

View File

@@ -1,15 +1,31 @@
<!--
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2023-01-31 13:41:35
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2023-01-31 13:45:07
* @FilePath: /fe-manage/src/components/student/OwnerTableModelStudent.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<TableModelStudent :types="types" :id="id" ref="tableModelRef">
<template #extension="{ data: { record } }">
<CommonStudent v-if="record.type===type" :type="type" :id="id" @finash="submitCall" :clear="true" :select-stu="true" :select-one="true">
<a-button type="link">转移归属权</a-button>
</CommonStudent>
<CommonStudent
v-if="record.type === type"
:type="type"
:id="id"
@finash="submitCall"
:clear="true"
:select-stu="true"
:select-one="true"
>
<a-button type="link">转移归属权</a-button>
</CommonStudent>
</template>
<slot></slot>
</TableModelStudent>
</template>
<script setup>
import {defineProps, ref} from "vue";
import { defineProps, ref } from "vue";
import TableModelStudent from "@/components/student/TableModelStudent";
import CommonStudent from "@/components/student/CommonStudent";
@@ -21,12 +37,11 @@ defineProps({
default: () => [],
},
});
const tableModelRef = ref()
console.log("props", props.types);
const tableModelRef = ref();
function submitCall(flag) {
tableModelRef.value.loading = true
tableModelRef.value.loading = true;
flag && tableModelRef.value.searchStu();
}
</script>

View File

@@ -117,7 +117,7 @@
导出学习信息
</a-button>
</a-col>
<a-col :span="1.5" v-if="type === 2">
<a-button class="cus-btn white" @click="exportTaskStuRouter">
导出学习信息
@@ -196,7 +196,7 @@
:scroll="{ x: 1500 }"
row-key="id"
:row-selection="stuRowSelection"
>
>
<template #action="{ record }">
<!-- <div style="display:flex;justify-content: center;align-items: center;">-->
<!-- <div v-if="props.type == 1" @click="excellentStudent(record)"
@@ -216,9 +216,19 @@
<!-- </div>-->
<a-space :size="2">
<slot name="extension" v-bind:data="{ record }"></slot>
<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-button v-if="type === 3 && record.status!==0" @click="updateStatus(2, 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-button
v-if="type === 3 && record.status !== 0"
@click="updateStatus(2, record.id)"
type="link"
>拒绝</a-button
>
<a-button @click="del(record.id)" type="link" danger>删除</a-button>
</a-space>
</template>
@@ -329,11 +339,11 @@
/>
</template>
<script setup>
import {computed, createVNode, defineProps, onMounted, ref, watch} from "vue";
import { computed, createVNode, defineProps, onMounted, ref, watch } from "vue";
import { delStudentList, getStuPage, batchUpdateStatus } from "@/api/index1";
import CommonStudent from "@/components/student/CommonStudent";
import ChangeLevelModal from "./ChangeLevelModal.vue";
import {message, Modal} from "ant-design-vue";
import { message, Modal } from "ant-design-vue";
// import { topStudent } from "../../api/indexProjStu";
import SeeStu from "../../components/drawers/SeeStu";
import EScore from "../drawers/ExportScore.vue";
@@ -341,7 +351,7 @@ import OrgClass from "@/components/project/OrgClass";
import ExportHomeWork from "../Modals/ExportHomeWork.vue";
import * as api from "../../api/index1";
import ImpStu from "../drawers/AddLevelImportStu";
import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
const props = defineProps({
type: Number,
@@ -423,7 +433,7 @@ const tablecolumns = ref([
className: "h",
ellipsis: true,
customRender: ({ record: { studentOrgName, studentDepartName } }) =>
(allDepartShow(studentOrgName, studentDepartName)),
allDepartShow(studentOrgName, studentDepartName),
},
{
title: "加入方式",
@@ -433,7 +443,15 @@ const tablecolumns = ref([
align: "center",
customRender: ({ record: { source } }) =>
// ({ 1: "快速添加", 2: "组织", 3: "受众", 4: "报名" }[source]),
({ 0: "手动加入", 1: "手动加入", 2: "手动加入", 3: "手动加入", 4: "报名", 5: "手动加入", 6: "手动加入"}[source]),
({
0: "手动加入",
1: "手动加入",
2: "手动加入",
3: "手动加入",
4: "报名",
5: "手动加入",
6: "手动加入",
}[source]),
},
...props.columns,
{
@@ -446,10 +464,15 @@ const tablecolumns = ref([
},
]);
function allDepartShow(a,b) {
let org = (a=="" || a == null || a == undefined) ? a = "" : a.slice(0,1) =='/' ? a.slice(1,a.length) : a;
let depart = (b=="" || b == null || b == undefined) ? b = "" : b;
let allname = org == "" && depart == "" ? '-' : org + depart;
function allDepartShow(a, b) {
let org =
a == "" || a == null || a == undefined
? (a = "")
: a.slice(0, 1) == "/"
? a.slice(1, a.length)
: a;
let depart = b == "" || b == null || b == undefined ? (b = "") : b;
let allname = org == "" && depart == "" ? "-" : org + depart;
return allname;
}
@@ -486,7 +509,7 @@ function exportTaskStu() {
}/admin/student/exportTaskStudent?type=${1}&pid=${props.id}`
);
}
function exportTaskStuRouter() {
console.log("props.datasource", props);
window.open(
@@ -565,14 +588,14 @@ function bathDel() {
function del(id) {
Modal.confirm({
title: () => '确定删除?',
title: () => "确定删除?",
icon: () => createVNode(ExclamationCircleOutlined),
content: () => '数据删除后不可恢复!',
okText: () => '确定',
okType: 'danger',
cancelText: () => '取消',
content: () => "数据删除后不可恢复!",
okText: () => "确定",
okType: "danger",
cancelText: () => "取消",
onOk() {
id && delStudentList({ids: [id]}).then(() => getStuList())
id && delStudentList({ ids: [id] }).then(() => getStuList());
},
});
}
@@ -913,8 +936,6 @@ const AddImpStuvisibleClose = (isget) => {
background-image: url("@/assets/images/coursewareManage/export.png");
}
}
}
/*.delete {
z-index: 9999;