mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
Merge branch 'develop' of http://gitlab.dongwu-inc.com:10080/BOE/fe-manage into develop
This commit is contained in:
@@ -252,12 +252,12 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-sub-menu>
|
</a-sub-menu>
|
||||||
|
|
||||||
<a-menu-item key="sub5" v-if="checkMenu('researchmanage')">
|
<!-- <a-menu-item key="sub5" v-if="checkMenu('researchmanage')">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img style="width: 16px; height: 16px" src="../assets/images/navleft/system.png"/>
|
<img style="width: 16px; height: 16px" src="../assets/images/navleft/system.png"/>
|
||||||
</div>
|
</div>
|
||||||
<router-link to="/researchmanage">评估管理</router-link>
|
<router-link to="/researchmanage">评估管理</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item> -->
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
<!-- 2022-12-10注释 后面放开 -->
|
||||||
<!-- <a-menu-item key="sub6" @titleClick="titleClick">
|
<!-- <a-menu-item key="sub6" @titleClick="titleClick">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
@@ -502,18 +502,18 @@
|
|||||||
mode="inline"
|
mode="inline"
|
||||||
@click="handleClick"
|
@click="handleClick"
|
||||||
>
|
>
|
||||||
<a-menu-item key="sub10" @titleClick="titleClick">
|
<a-menu-item key="sub10" @titleClick="titleClick" v-if="checkMenu('coursereviewedn')">
|
||||||
<router-link to="/coursereviewedn">审核</router-link>
|
<router-link to="/coursereviewedn">审核</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub1" @titleClick="titleClick">
|
<a-menu-item key="sub1" @titleClick="titleClick" v-if="checkMenu('learningpath')">
|
||||||
<router-link to="/learningpath">学习</router-link>
|
<router-link to="/learningpath">学习</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
|
||||||
<a-menu-item key="sub2" @titleClick="titleClick">
|
<a-menu-item key="sub2" @titleClick="titleClick" v-if="checkMenu('projectmanage')">
|
||||||
<router-link to="/projectmanage">项目</router-link>
|
<router-link to="/projectmanage">项目</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
|
||||||
<a-menu-item key="sub3" @titleClick="titleClick">
|
<a-menu-item key="sub3" @titleClick="titleClick" v-if="checkMenu('coursewaremanage')">
|
||||||
<router-link to="/coursewaremanage">课程</router-link>
|
<router-link to="/coursewaremanage">课程</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
<!-- 2022-12-10注释 后面放开 -->
|
||||||
@@ -521,7 +521,7 @@
|
|||||||
<span>考试</span>
|
<span>考试</span>
|
||||||
</a-menu-item> -->
|
</a-menu-item> -->
|
||||||
|
|
||||||
<a-menu-item key="sub5" @titleClick="titleClick">
|
<a-menu-item key="sub5" @titleClick="titleClick" v-if="checkMenu('researchmanage')">
|
||||||
<router-link to="/researchmanage">评估</router-link>
|
<router-link to="/researchmanage">评估</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<!-- 2022-12-10注释 后面放开 -->
|
<!-- 2022-12-10注释 后面放开 -->
|
||||||
@@ -540,20 +540,20 @@
|
|||||||
<span>系统</span>
|
<span>系统</span>
|
||||||
</a-menu-item> -->
|
</a-menu-item> -->
|
||||||
|
|
||||||
<a-menu-item key="sub11" @titleClick="titleClick">
|
<a-menu-item key="sub11" @titleClick="titleClick" v-if="checkMenu('examinationcenter')">
|
||||||
<router-link to="/examinationcenter">考试</router-link>
|
<router-link to="/examinationcenter">考试</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub12" @titleClick="titleClick">
|
<a-menu-item key="sub12" @titleClick="titleClick" v-if="checkMenu('casemanage')">
|
||||||
<router-link to="/casemanage">案例</router-link>
|
<router-link to="/casemanage">案例</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub13" @titleClick="titleClick">
|
<a-menu-item key="sub13" @titleClick="titleClick" v-if="checkMenu('articlemanage')">
|
||||||
<router-link to="/articlemanage">文章</router-link>
|
<router-link to="/articlemanage">文章</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub14" @titleClick="titleClick">
|
<a-menu-item key="sub14" @titleClick="titleClick" v-if="checkMenu('qamanage')">
|
||||||
<router-link to="/qamanage">问答</router-link>
|
<router-link to="/qamanage">问答</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="sub15" @titleClick="titleClick">
|
<a-menu-item key="sub15" @titleClick="titleClick" v-if="checkMenu('download')">
|
||||||
<router-link to="/download">问答</router-link>
|
<router-link to="/download">下载</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -38,11 +38,11 @@
|
|||||||
:multiple="false"
|
:multiple="false"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
:data="{
|
:data="{
|
||||||
targetId: Number(courseId),
|
targetId: Number(courseId),
|
||||||
type: courseType,
|
type: courseType,
|
||||||
userId: userInfo.id,
|
userId: userInfo.id,
|
||||||
userName: userInfo.realName,
|
userName: userInfo.realName,
|
||||||
} "
|
}"
|
||||||
:showUploadList="false"
|
:showUploadList="false"
|
||||||
>
|
>
|
||||||
<p class="ant-upload-drag-icon">
|
<p class="ant-upload-drag-icon">
|
||||||
@@ -182,7 +182,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {computed, reactive, toRefs} from "vue";
|
import { computed, reactive, toRefs } from "vue";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import { BATCH_IMPORT_SCORE } from "@/api/config";
|
import { BATCH_IMPORT_SCORE } from "@/api/config";
|
||||||
@@ -209,7 +209,8 @@ export default {
|
|||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
location.href.indexOf("http://") !== -1
|
||||||
? "http://43.143.139.204:12016/"
|
? "http://43.143.139.204:12016/"
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
: location.href.slice(0, location.href.indexOf("/m")) +
|
||||||
|
process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
||||||
importStudent:
|
importStudent:
|
||||||
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
||||||
@@ -226,7 +227,7 @@ export default {
|
|||||||
fileName: "",
|
fileName: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
const userInfo = computed(()=>store.state.userInfo)
|
const userInfo = computed(() => store.state.userInfo);
|
||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
clearInterval(state.timers);
|
clearInterval(state.timers);
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ import {message} from "ant-design-vue";
|
|||||||
import CreateOnline from "@/components/drawers/CreateOnline.vue";
|
import CreateOnline from "@/components/drawers/CreateOnline.vue";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
type: Number,
|
||||||
infoType: Number,
|
infoType: Number,
|
||||||
courseSyncFlag: Number,
|
courseSyncFlag: Number,
|
||||||
id: Number,
|
id: Number,
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input v-model:value="formData.examinationName" style="width: 400px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="formData.examinationName" style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入考试名称" :maxlength="20" :disabled="taskIndex >= 0 && isEdit" />
|
placeholder="请输入考试名称" :maxlength="20" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
<span style="margin-right: 3px">考试名称:</span>
|
<span style="margin-right: 3px">考试名称:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input v-model:value="formData.examinationName" style="width: 400px; height: 40px; border-radius: 8px" :disabled="taskIndex >= 0 && isEdit"
|
<a-input v-model:value="formData.examinationName" style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入考试名称" :maxlength="20" />
|
placeholder="请输入考试名称" :maxlength="20" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
<div class="tit">{{ fileName }}</div>
|
<div class="tit">{{ fileName }}</div>
|
||||||
<div class="stateloading">正在上传</div>
|
<div class="stateloading">正在上传</div>
|
||||||
</div>
|
</div>
|
||||||
<a-progress :percent="uploadpercent"/>
|
<a-progress :percent="uploadpercent" />
|
||||||
<!-- <div class="prog">
|
<!-- <div class="prog">
|
||||||
<div class="inprogloading"></div>
|
<div class="inprogloading"></div>
|
||||||
</div> -->
|
</div> -->
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
<div class="tit">{{ fileName }}</div>
|
<div class="tit">{{ fileName }}</div>
|
||||||
<div class="statedefeat">上传失败</div>
|
<div class="statedefeat">上传失败</div>
|
||||||
</div>
|
</div>
|
||||||
<a-progress :percent="uploadpercent"/>
|
<a-progress :percent="uploadpercent" />
|
||||||
<!-- <div class="prog">
|
<!-- <div class="prog">
|
||||||
<div class="inprogdefeat"></div>
|
<div class="inprogdefeat"></div>
|
||||||
</div> -->
|
</div> -->
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<div class="tit">{{ fileName }}</div>
|
<div class="tit">{{ fileName }}</div>
|
||||||
<div class="statesucce">上传成功</div>
|
<div class="statesucce">上传成功</div>
|
||||||
</div>
|
</div>
|
||||||
<a-progress :percent="uploadpercent"/>
|
<a-progress :percent="uploadpercent" />
|
||||||
<!-- <div class="prog">
|
<!-- <div class="prog">
|
||||||
<div class="inprogsucce"></div>
|
<div class="inprogsucce"></div>
|
||||||
</div> -->
|
</div> -->
|
||||||
@@ -186,15 +186,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 加载动画 -->
|
<!-- 加载动画 -->
|
||||||
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
|
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
|
||||||
<a-spin :spinning="addLoading" tip=""/>
|
<a-spin :spinning="addLoading" tip="" />
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {reactive, toRefs} from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
import {message} from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import {BATCH_IMPORT_SCORE} from "@/api/config";
|
import { BATCH_IMPORT_SCORE } from "@/api/config";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "EScore",
|
name: "EScore",
|
||||||
@@ -254,7 +254,8 @@ export default {
|
|||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
location.href.indexOf("http://") !== -1
|
||||||
? "http://43.143.139.204:12016/"
|
? "http://43.143.139.204:12016/"
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
: location.href.slice(0, location.href.indexOf("/m")) +
|
||||||
|
process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
@@ -392,7 +393,10 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function downTemplate() {
|
function downTemplate() {
|
||||||
window.open(process.env.VUE_APP_FILE_PATH + process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE);
|
window.open(
|
||||||
|
process.env.VUE_APP_FILE_PATH +
|
||||||
|
process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
console.log(1222)
|
console.log(1222);
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
fileType: ["xls", "xlsx"],
|
fileType: ["xls", "xlsx"],
|
||||||
importLeader:
|
importLeader:
|
||||||
@@ -278,11 +278,11 @@ export default {
|
|||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
location.href.indexOf("http://") !== -1
|
||||||
? "http://43.143.139.204:12016/"
|
? "http://43.143.139.204:12016/"
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
: location.href.slice(0, location.href.indexOf("/m")) +
|
||||||
|
process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
|
|
||||||
ctx.emit("closeDraw", true);
|
ctx.emit("closeDraw", true);
|
||||||
ctx.emit("update:TaskFaceImpStuvisible", false);
|
ctx.emit("update:TaskFaceImpStuvisible", false);
|
||||||
state.fileList = [];
|
state.fileList = [];
|
||||||
|
|||||||
@@ -107,28 +107,29 @@
|
|||||||
<a-list :data-source="stuValue === 1 ? datascoreg : datascore" :loading="scoreRankLoading">
|
<a-list :data-source="stuValue === 1 ? datascoreg : datascore" :loading="scoreRankLoading">
|
||||||
<template #renderItem="{ item }">
|
<template #renderItem="{ item }">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div v-if="item.index == 1" class="itemleft">
|
<div v-if="!isSearchRank">
|
||||||
<div class="itemimage">
|
<div v-if="item.index == 1" class="itemleft">
|
||||||
<img src="../../assets/images/taskpage/gold.png" />
|
<div class="itemimage">
|
||||||
|
<img src="../../assets/images/taskpage/gold.png" />
|
||||||
|
</div>
|
||||||
|
<div class="itemid">{{ item.index }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="itemid">{{ item.index }}</div>
|
<div v-else-if="item.index == 2" class="itemleft">
|
||||||
</div>
|
<div class="itemimage">
|
||||||
<div v-else-if="item.index == 2" class="itemleft">
|
<img src="../../assets/images/taskpage/siler.png" />
|
||||||
<div class="itemimage">
|
</div>
|
||||||
<img src="../../assets/images/taskpage/siler.png" />
|
<div class="itemid">{{ item.index }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="itemid">{{ item.index }}</div>
|
<div v-else-if="item.index == 3" class="itemleft">
|
||||||
</div>
|
<div class="itemimage">
|
||||||
<div v-else-if="item.index == 3" class="itemleft">
|
<img src="../../assets/images/taskpage/copper.png" />
|
||||||
<div class="itemimage">
|
</div>
|
||||||
<img src="../../assets/images/taskpage/copper.png" />
|
<div class="itemid">{{ item.index }}</div>
|
||||||
|
</div>
|
||||||
|
<div v-else class="itemleft">
|
||||||
|
<div class="elseid">{{ item.index }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="itemid">{{ item.index }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="itemleft">
|
|
||||||
<div class="elseid">{{ item.index }}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="itemcenter">{{ item.name }}</div>
|
<div class="itemcenter">{{ item.name }}</div>
|
||||||
<div class="itemright">{{ item.pointsCountStr }}</div>
|
<div class="itemright">{{ item.pointsCountStr }}</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -428,7 +429,8 @@ export default {
|
|||||||
checkStuId: null,
|
checkStuId: null,
|
||||||
proId: null,
|
proId: null,
|
||||||
startTime: (new Date(new Date(new Date().toLocaleDateString()).getTime())).getTime().toString(),
|
startTime: (new Date(new Date(new Date().toLocaleDateString()).getTime())).getTime().toString(),
|
||||||
scoresum: 0
|
scoresum: 0,
|
||||||
|
isSearchRank: false
|
||||||
});
|
});
|
||||||
const getTableData = () => {
|
const getTableData = () => {
|
||||||
let datas = state.tabledataStu;
|
let datas = state.tabledataStu;
|
||||||
@@ -524,6 +526,11 @@ export default {
|
|||||||
state.datascore = res.data.data;
|
state.datascore = res.data.data;
|
||||||
state.datascoreg = res.data.data;
|
state.datascoreg = res.data.data;
|
||||||
state.scoreRankLoading = false;
|
state.scoreRankLoading = false;
|
||||||
|
if(state.searchRankName==""){
|
||||||
|
state.isSearchRank = false;
|
||||||
|
}else{
|
||||||
|
state.isSearchRank = true;
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
state.datascore = [];
|
state.datascore = [];
|
||||||
state.datascoreg = [];
|
state.datascoreg = [];
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<!-- 2022-11-30注释 后面放开 -->
|
<!-- 2022-11-30注释 后面放开 -->
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">批量面授报名</div>
|
<div class="headerTitle">批量面授报名</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
@@ -220,11 +220,11 @@ export default {
|
|||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
location.href.indexOf("http://") !== -1
|
||||||
? "http://43.143.139.204:12016/"
|
? "http://43.143.139.204:12016/"
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
: location.href.slice(0, location.href.indexOf("/m")) +
|
||||||
|
process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
|
|
||||||
ctx.emit("closeDraw", true);
|
ctx.emit("closeDraw", true);
|
||||||
ctx.emit("update:TaskFaceImpStuvisible", false);
|
ctx.emit("update:TaskFaceImpStuvisible", false);
|
||||||
state.fileList = [];
|
state.fileList = [];
|
||||||
|
|||||||
@@ -39,27 +39,6 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="main_item">
|
|
||||||
<div class="signbox">
|
|
||||||
<div class="sign">
|
|
||||||
<img
|
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<span style="margin-right: 3px">证书:</span>
|
|
||||||
</div>
|
|
||||||
<div class="btnbox">
|
|
||||||
<button
|
|
||||||
class="xkbtn11"
|
|
||||||
@click="CreateCertificate"
|
|
||||||
style="margin-top: 0px"
|
|
||||||
>
|
|
||||||
创建证书
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
<div class="main_item" style="align-items: flex-start">
|
<div class="main_item" style="align-items: flex-start">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -141,7 +120,6 @@
|
|||||||
class="main_item"
|
class="main_item"
|
||||||
style="
|
style="
|
||||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||||
width: ;
|
|
||||||
margin-left: 35px;
|
margin-left: 35px;
|
||||||
padding-top: 30px;
|
padding-top: 30px;
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
@@ -326,39 +304,11 @@
|
|||||||
分可获得,当前项目积分为 {{ projectPoints }} 分
|
分可获得,当前项目积分为 {{ projectPoints }} 分
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <a-radio v-model:checked="checked" :value="6" >
|
|
||||||
完成作业
|
|
||||||
</a-radio>
|
|
||||||
<br/>
|
|
||||||
<div style="height:60px;margin-left: 24px;display: flex;align-items: center;">
|
|
||||||
<a-button style="border:0px solid red;box-shadow: none;">高于</a-button>
|
|
||||||
<a-input-number id="inputNumber" v-model:value="value" :min="1" :max="100" style="width:70px;" />
|
|
||||||
<a-button style="border:0px solid red;box-shadow: none;">分可获得证书</a-button>
|
|
||||||
</div>
|
|
||||||
<a-radio v-model:checked="checked" :value="7" >
|
|
||||||
优秀小组长
|
|
||||||
</a-radio>
|
|
||||||
<br/>
|
|
||||||
<div style="height:60px;margin-left: 24px;display: flex;align-items: center;">
|
|
||||||
<a-button style="border:0px solid red;box-shadow: none;">小组积分高于</a-button>
|
|
||||||
<a-input-number id="inputNumber" v-model:value="value" :min="1" :max="100" style="width:70px;" />
|
|
||||||
<a-button style="border:0px solid red;box-shadow: none;">分小组长可获得证书</a-button>
|
|
||||||
</div>
|
|
||||||
<a-radio v-model:checked="checked" :value="8" >
|
|
||||||
考勤按时签到可获得证书
|
|
||||||
</a-radio> -->
|
|
||||||
<br />
|
<br />
|
||||||
<div style="height: 40px"></div>
|
<div style="height: 40px"></div>
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="main_item" style="height: 40px">
|
|
||||||
<div class="signbox">
|
|
||||||
<span style="margin-right: 3px"></span>
|
|
||||||
</div>
|
|
||||||
<div class="btnbox"></div>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
@@ -531,7 +481,7 @@ export default {
|
|||||||
const selectStage = (e, k) => {
|
const selectStage = (e, k) => {
|
||||||
console.log("选择阶段", e, k);
|
console.log("选择阶段", e, k);
|
||||||
state.selectStageName = e;
|
state.selectStageName = e;
|
||||||
state.selectStageId = k.stageId;
|
state.selectStageId = k.id;
|
||||||
state.selectTaskName = null;
|
state.selectTaskName = null;
|
||||||
state.selectTaskId = null;
|
state.selectTaskId = null;
|
||||||
state.selectExamName = null;
|
state.selectExamName = null;
|
||||||
@@ -543,7 +493,7 @@ export default {
|
|||||||
state.selectStageName = null;
|
state.selectStageName = null;
|
||||||
state.selectStageId = null;
|
state.selectStageId = null;
|
||||||
state.selectTaskName = e;
|
state.selectTaskName = e;
|
||||||
state.selectTaskId = k.projectTaskId;
|
state.selectTaskId = k.id;
|
||||||
state.selectExamName = null;
|
state.selectExamName = null;
|
||||||
state.selectExamId = null;
|
state.selectExamId = null;
|
||||||
};
|
};
|
||||||
@@ -555,7 +505,7 @@ export default {
|
|||||||
state.selectTaskName = null;
|
state.selectTaskName = null;
|
||||||
state.selectTaskId = null;
|
state.selectTaskId = null;
|
||||||
state.selectExamName = e;
|
state.selectExamName = e;
|
||||||
state.selectExamId = k.projectTaskId;
|
state.selectExamId = k.id;
|
||||||
};
|
};
|
||||||
//选择的获得条件
|
//选择的获得条件
|
||||||
const selectCondition = (e) => {
|
const selectCondition = (e) => {
|
||||||
@@ -639,19 +589,19 @@ export default {
|
|||||||
) {
|
) {
|
||||||
if (info.finishType == 2) {
|
if (info.finishType == 2) {
|
||||||
let stageItem = state.stageList.filter((item) => {
|
let stageItem = state.stageList.filter((item) => {
|
||||||
return item.stageId == info.finishValue;
|
return item.id == info.finishValue;
|
||||||
});
|
});
|
||||||
state.selectStageName = stageItem ? stageItem[0].name : null;
|
state.selectStageName = stageItem ? stageItem[0].name : null;
|
||||||
}
|
}
|
||||||
if (info.finishType == 3) {
|
if (info.finishType == 3) {
|
||||||
let taskItem = state.taskList.filter((item) => {
|
let taskItem = state.taskList.filter((item) => {
|
||||||
return item.projectTaskId == info.finishValue;
|
return item.id == info.finishValue;
|
||||||
});
|
});
|
||||||
state.selectTaskName = taskItem ? taskItem[0].name : null;
|
state.selectTaskName = taskItem ? taskItem[0].name : null;
|
||||||
}
|
}
|
||||||
if (info.finishType == 4) {
|
if (info.finishType == 4) {
|
||||||
let taskItem = state.examList.filter((item) => {
|
let taskItem = state.examList.filter((item) => {
|
||||||
return item.projectTaskId == info.finishValue;
|
return item.id == info.finishValue;
|
||||||
});
|
});
|
||||||
console.log("taskItem", taskItem);
|
console.log("taskItem", taskItem);
|
||||||
state.selectExamName = taskItem ? taskItem[0].name : null;
|
state.selectExamName = taskItem ? taskItem[0].name : null;
|
||||||
|
|||||||
@@ -219,14 +219,14 @@
|
|||||||
<slot name="extension" v-bind:data="{ record }"></slot>
|
<slot name="extension" v-bind:data="{ record }"></slot>
|
||||||
|
|
||||||
<a-button
|
<a-button
|
||||||
v-if="type === 3 && record.status !== 0 && checkPer(permissions)"
|
v-if="type === 3 && record.status !== 2 && record.status !== 0 && checkPer(permissions)"
|
||||||
@click="updateStatus(0, record.id)"
|
@click="updateStatus(0, record.id)"
|
||||||
type="link"
|
type="link"
|
||||||
>通过
|
>通过
|
||||||
</a-button
|
</a-button
|
||||||
>
|
>
|
||||||
<a-button
|
<a-button
|
||||||
v-if="type === 3 && record.status !== 0 && checkPer(permissions)"
|
v-if="type === 3 && record.status !== 2 && record.status !== 0 && checkPer(permissions)"
|
||||||
@click="updateStatus(2, record.id)"
|
@click="updateStatus(2, record.id)"
|
||||||
type="link"
|
type="link"
|
||||||
>拒绝
|
>拒绝
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ const admin = [5, 6, 8, 9, 11, 12];
|
|||||||
|
|
||||||
//检查 管理权和归属权
|
//检查 管理权和归属权
|
||||||
export function checkPer(per) {
|
export function checkPer(per) {
|
||||||
if (store?.state?.userInfo?.roleList.some(t => t.code === "learning-admin")) {
|
if (store?.state?.userInfo?.roleList.some(t => t.code === "system-admin")) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!per) {
|
if (!per) {
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">搜索</div>
|
<div class="btnText">搜索</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnn btn2" @click="handleRest1" style="width: 103px">
|
<div class="btnn btn2" @click="handleRest1" style="width: 110px">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">重置</div>
|
<div class="btnText">重置</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -757,7 +757,7 @@
|
|||||||
<div
|
<div
|
||||||
class="btnn btn2"
|
class="btnn btn2"
|
||||||
@click="handleRestTable"
|
@click="handleRestTable"
|
||||||
style="width: 103px"
|
style="width: 110px"
|
||||||
>
|
>
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
<div class="btnText">重置</div>
|
<div class="btnText">重置</div>
|
||||||
|
|||||||
@@ -372,7 +372,8 @@ export default defineComponent({
|
|||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
location.href.indexOf("http://") !== -1
|
||||||
? "http://43.143.139.204:12016/"
|
? "http://43.143.139.204:12016/"
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
: location.href.slice(0, location.href.indexOf("/m")) +
|
||||||
|
process.env.VUE_APP_FILE_PATH,
|
||||||
|
|
||||||
//目标任务
|
//目标任务
|
||||||
orgSelect: [],
|
orgSelect: [],
|
||||||
|
|||||||
@@ -713,7 +713,7 @@
|
|||||||
v-if="docChecked == true"
|
v-if="docChecked == true"
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
name="file"
|
name="file"
|
||||||
action="/manageApi/file/uploadunlimit"
|
:action="process.env.VUE_APP_BASE_API + '/file/uploadunlimit'"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
@@ -1629,7 +1629,7 @@ export default {
|
|||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
location.href.indexOf("http://") !== -1
|
||||||
? "http://43.143.139.204:12016/"
|
? "http://43.143.139.204:12016/"
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
|
: location.href.slice(0, location.href.indexOf("/m")) + process.env.VUE_APP_FILE_PATH,
|
||||||
isreload: true,
|
isreload: true,
|
||||||
TaskFaceImpStuvisible: false,
|
TaskFaceImpStuvisible: false,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -623,7 +623,7 @@
|
|||||||
v-if="attachSwitch == true"
|
v-if="attachSwitch == true"
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
name="file"
|
name="file"
|
||||||
action="/manageApi/file/uploadunlimit"
|
:action="process.env.VUE_APP_BASE_API + '/file/uploadunlimit'"
|
||||||
@change="handleChange2"
|
@change="handleChange2"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
|
|||||||
@@ -1299,7 +1299,7 @@
|
|||||||
v-if="docChecked == true"
|
v-if="docChecked == true"
|
||||||
v-model:file-list="fileList"
|
v-model:file-list="fileList"
|
||||||
name="file"
|
name="file"
|
||||||
action="/manageApi/file/uploadunlimit"
|
:action="process.env.VUE_APP_BASE_API + '/file/uploadunlimit'"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
@@ -1765,7 +1765,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="pubtn">
|
<div class="pubtn">
|
||||||
<a-button class="pubtn1" @click="closeModal2">取消</a-button>
|
<a-button class="pubtn1" @click="closeModal2">取消</a-button>
|
||||||
<a-button class="pubtn2" @click="createG">确定</a-button>
|
<a-button class="pubtn2" :loading="buttonLoading" @click="createG">确定</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
@@ -2262,6 +2262,7 @@ export default {
|
|||||||
choosedStageIndex: 0,
|
choosedStageIndex: 0,
|
||||||
hasTask: false,
|
hasTask: false,
|
||||||
tabFlag: true,
|
tabFlag: true,
|
||||||
|
buttonLoading: false,
|
||||||
stage: [],
|
stage: [],
|
||||||
stuColumns: [
|
stuColumns: [
|
||||||
{
|
{
|
||||||
@@ -3948,14 +3949,15 @@ export default {
|
|||||||
return message.warn(d[0].leaderName + "已是小组长,请重新选择");
|
return message.warn(d[0].leaderName + "已是小组长,请重新选择");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
state.isEdit = false;
|
state.isEdit = false;
|
||||||
|
state.buttonLoading = true;
|
||||||
await editGroup({ ...state.groupInfo, projectId: state.projectId });
|
await editGroup({ ...state.groupInfo, projectId: state.projectId });
|
||||||
message.success(id ? "小组编辑成功" : "小组创建成功");
|
message.success(id ? "小组编辑成功" : "小组创建成功");
|
||||||
getGroup();
|
getGroup();
|
||||||
console.log("state.groupPageList:");
|
console.log("state.groupPageList:");
|
||||||
getStu();
|
getStu();
|
||||||
closeModal2();
|
closeModal2();
|
||||||
|
state.buttonLoading = false;
|
||||||
};
|
};
|
||||||
//搜索小组重置
|
//搜索小组重置
|
||||||
const resetGroupName = () => {
|
const resetGroupName = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user