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

This commit is contained in:
yuping
2023-02-01 13:21:24 +08:00
6 changed files with 143 additions and 108 deletions

View File

@@ -43,3 +43,6 @@ export const AttendanceLeave = (obj) => http.post('/stu/task/attendance/leave',
// 直播考勤签到 // 直播考勤签到
export const AttendanceSign = (obj) => http.post('/stu/task/attendance/sign', obj) export const AttendanceSign = (obj) => http.post('/stu/task/attendance/sign', obj)
// 查询项目管理的信息
export const QueryProjectManageDetail = (obj) => http.post('/project/management/queryProjectManageDetail', obj)

View File

@@ -112,11 +112,12 @@
</div>--> </div>-->
</div> </div>
</a-drawer> </a-drawer>
<CVote <!-- 学员查看抽屉 -->
v-model:CVvisible="CVvisible" <check-stu
:voteID="voteID" v-model:CheckStuvisible="CheckStuvisible"
:courseID="courseID" v-model:routerId="routerId"
/> v-model:studentId="studentId"
/>
</template> </template>
<script> <script>
@@ -124,12 +125,12 @@
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
// import * as api from "../../../api/index"; // import * as api from "../../../api/index";
import * as api from "../../../api/indexTaskManage"; import * as api from "../../../api/indexTaskManage";
import CVote from "../CheckVote.vue" import CheckStu from "../CheckStu";
export default { export default {
name: "RouterProjectManage", name: "RouterProjectManage",
components:{ components:{
CVote, CheckStu,
}, },
props: { props: {
PjModelVisible: { PjModelVisible: {
@@ -185,25 +186,25 @@
id: 3, id: 3,
value: "3", value: "3",
label: "已完成", label: "已完成",
}, }
{
id: 4,
value: "4",
label: "未完成",
},
], ],
tabledata: [], tabledata: [],
tableDataTotalLoading: true, // 表格loading加载配置 tableDataTotalLoading: true, // 表格loading加载配置
CVvisible:false, //查看投票抽屉 CVvisible:false, //查看投票抽屉
voteID: "", voteID: "",
courseID: "" courseID: "",
routerId: '',
studentId: '',
CheckStuvisible: false,
}); });
const tableDataFunc = () => { const tableDataFunc = () => {
const columns = [ const columns = [
{ {
title: "工号", title: "工号",
dataIndex: "studentUserNo", dataIndex: "studentCode",
key: "studentUserNo", key: "studentCode",
width: "20%", width: "20%",
align: "center", align: "center",
ellipsis: true, ellipsis: true,
@@ -211,7 +212,7 @@
customRender: (text) => { customRender: (text) => {
return ( return (
<div class="racona"> <div class="racona">
<span> {text.record.studentUserNo?text.record.studentUserNo:"-"}</span> <span> {text.record.studentCode?text.record.studentCode:"-"}</span>
</div> </div>
); );
}, },
@@ -267,24 +268,72 @@
}, },
{ {
title: "学员关卡", title: "学员关卡",
dataIndex: "chapterName",
key: "chapterName",
width: "10%",
align: "center",
ellipsis: true,
className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {text.record.chapterName?text.record.chapterName:"-"}</span>
</div>
);
},
},
{
title: "当前阶段",
dataIndex: "currentStageName", dataIndex: "currentStageName",
key: "currentStageName", key: "currentStageName",
width: "10%", width: "10%",
align: "center", align: "center",
ellipsis: true, ellipsis: true,
className: "h", className: "h",
customRender: () => { customRender: (text) => {
return ( return (
<div class="racona"> <div class="racona">
<span> {props.levelName}</span> <span> {text.record.currentStageName?text.record.currentStageName:"-"}</span>
</div>
);
},
},
{
title: "当前任务",
dataIndex: "currentTaskName",
key: "currentTaskName",
width: "10%",
align: "center",
ellipsis: true,
className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {text.record.currentTaskName?text.record.currentTaskName:"-"}</span>
</div>
);
},
},
{
title: "进度",
dataIndex: "process",
key: "process",
width: "10%",
align: "center",
ellipsis: true,
className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {text.record.process?text.record.process:"-"}</span>
</div> </div>
); );
}, },
}, },
{ {
title: "完成时间", title: "完成时间",
dataIndex: "lastStudyTime", dataIndex: "finishEdTime",
key: "lastStudyTime", key: "finishEdTime",
width: "15%", width: "15%",
align: "center", align: "center",
ellipsis: true, ellipsis: true,
@@ -292,7 +341,7 @@
customRender: (text) => { customRender: (text) => {
return ( return (
<div class="racona"> <div class="racona">
<span> {text.record.lastStudyTime?text.record.lastStudyTime:"-"}</span> <span> {text.record.finishEdTime?text.record.finishEdTime:"-"}</span>
</div> </div>
); );
}, },
@@ -327,20 +376,13 @@
style="color:#387df7;cursor:pointer" style="color:#387df7;cursor:pointer"
onClick={ onClick={
() => { () => {
if(value.record.finishStatus !== 3){ {/* 当前学员 用来查看学员详情 */}
message.destroy() state.routerId = value.record.routerId;
message.error("当前任务未完成") state.studentId = value.record.studentId;
return state.CheckStuvisible = true;
} console.log(value);
{/* 当前投票提交的ID 用来查看投票详情 */}
console.log(value.record.voteSubmitId);
state.voteID = value.record.voteSubmitId;
state.CVvisible = true;
}}> }}>
{value.record.finishStatus == 3 ?
<span style='color:#387df7;'> 查看 </span> <span style='color:#387df7;'> 查看 </span>
:
<span style='color:#999;'> 查看 </span>}
</div> </div>
); );
}, },
@@ -359,8 +401,9 @@
const afterVisibleChange = (bol) => { const afterVisibleChange = (bol) => {
if (bol == true) { if (bol == true) {
console.log("当前是什么类型", props.datasource.type); console.log("当前是什么类型", props.datasource.type);
console.log("当前是什么类型", props.datasource);
state.tableDataTotalLoading = true; state.tableDataTotalLoading = true;
{/* getData(); */} getData();
} }
}; };
const selectProjectName = (value) => { const selectProjectName = (value) => {
@@ -377,51 +420,34 @@
// 获取数据 // 获取数据
function getData() { function getData() {
if(props.datasource.type == 12){ if(props.datasource.type == 13){
console.log("我是传递的查询参数", { console.log("我是传递的查询参数", {
"pageNo": state.currentPage, "courseId": props.datasource.courseId,
"pageSize": state.pageSize,
"chapterId": props.datasource.stageId=="0"?"":props.datasource.stageId,
"status": state.projectName,
"studentName": state.name,
"targetId":props.datasource.projectId,
"taskId": props.datasource.courseId,
"type": 1
});
api.QueryVoteManagementDetail({
"pageNo": state.currentPage, "pageNo": state.currentPage,
"pageSize": state.pageSize, "pageSize": state.pageSize,
"chapterId": props.datasource.chapterId, "chapterId": props.datasource.chapterId,
"status": state.projectName, "status": state.projectName,
"studentName": state.name, "studentName": state.name
"targetId":props.datasource.routerId, });
"taskId": props.datasource.courseId, api.QueryProjectManageDetail({
"type": 1 "courseId": props.datasource.courseId,
"pageNo": state.currentPage,
"pageSize": state.pageSize,
"chapterId": props.datasource.chapterId,
"status": state.projectName,
"studentName": state.name
}).then(res=>{ }).then(res=>{
console.log('投票数据获取', res) console.log('投票数据获取', res)
if(res.data.code==200){ if(res.data.code==200){
state.tableDataTotalLoading = false; state.tableDataTotalLoading = false;
let newData = [] state.tabledata = res.data.data.rows;
for(let i=0;i<res.data.data.rows.length;i++){
// 处理在线课字段和表格中字段保持一致
let obj = {
studentUserNo: res.data.data.rows[i].studentCode,
studentName: res.data.data.rows[i].studentName,
studentDepartName: res.data.data.rows[i].studentDepartName,
studentJobName: res.data.data.rows[i].studentJobName,
lastStudyTime: res.data.data.rows[i].submitTime,
finishStatus: res.data.data.rows[i].status?res.data.data.rows[i].status:0,
voteSubmitId: res.data.data.rows[i].voteSubmitId
}
newData.push(obj)
}
state.tabledata = newData;
state.courseID = props.datasource.courseId; state.courseID = props.datasource.courseId;
state.tableDataTotal = res.data.data.total; state.tableDataTotal = res.data.data.total;
} }
}).catch(err=>{ }).catch(err=>{
console.log(err) console.log(err)
state.tableDataTotalLoading = false; state.tableDataTotalLoading = false;
state.tabledata = [];
}) })
}else{ }else{
state.tableDataTotalLoading = false; state.tableDataTotalLoading = false;
@@ -453,8 +479,8 @@
// 导出数据 // 导出数据
function exportTaskStu() { function exportTaskStu() {
console.log(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${1}&voteId=${props.datasource.routerTaskId}`) console.log(`${process.env.VUE_APP_BASE_API}/project/management/exportProjectManage?courseId=${props.datasource.courseId}`)
window.open(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${1}&voteId=${props.datasource.routerTaskId}`) window.open(`${process.env.VUE_APP_BASE_API}/project/management/exportProjectManage?courseId=${props.datasource.courseId}`)
} }
return { return {
@@ -477,8 +503,13 @@
</script> </script>
<style lang="scss"> <style lang="scss">
.ant-drawer-content-wrapper {
max-width: 80% !important;
}
.RouterProjectManage { .RouterProjectManage {
// overflow-x: auto; // overflow-x: auto;
max-width: auto;
.drawerMain { .drawerMain {
min-width: 550px; min-width: 550px;
margin: 0px 32px 0px 32px; margin: 0px 32px 0px 32px;

View File

@@ -78,7 +78,7 @@
</div> </div>
</template> </template>
<script setup> <script setup>
import {computed, createVNode, defineProps, ref, watch} from "vue"; import {computed, createVNode, defineProps, defineExpose, ref, watch} from "vue";
import {usePage} from "@/api/request"; import {usePage} from "@/api/request";
import {STUDENT_LIST} from "@/api/apis"; import {STUDENT_LIST} from "@/api/apis";
import {delStudentList} from "@/api/index1"; import {delStudentList} from "@/api/index1";

View File

@@ -192,7 +192,7 @@
</div> </div>
<div class="rightt"> <div class="rightt">
<!-- 2022-11-30注释 后面放开 --> <!-- 2022-11-30注释 后面放开 -->
<!-- <div class="select"> <div class="select" style="margin-right:90px;">
<span>学习模式</span> <span>学习模式</span>
<div class="inputbox"> <div class="inputbox">
<input type="text" placeholder="按学习时间解锁" /> <input type="text" placeholder="按学习时间解锁" />
@@ -201,7 +201,7 @@
</div> </div>
</div> </div>
<unlock-mode v-model:unlockModeVisible="unlockModeVisible" /> <unlock-mode v-model:unlockModeVisible="unlockModeVisible" />
</div> --> </div>
<div class="line"></div> <div class="line"></div>
<router-link to="/leveladd"> <router-link to="/leveladd">
<div style="display: flex"> <div style="display: flex">
@@ -781,7 +781,7 @@
</div> </div>
<div class="rightt"> <div class="rightt">
<!-- 2022-11-30注释 后面放开 --> <!-- 2022-11-30注释 后面放开 -->
<!-- <div class="select"> <div class="select">
<span>学习模式</span> <span>学习模式</span>
<div class="inputbox"> <div class="inputbox">
<input type="text" placeholder="按学习时间解锁" /> <input type="text" placeholder="按学习时间解锁" />
@@ -790,7 +790,7 @@
</div> </div>
</div> </div>
<unlock-mode v-model:unlockModeVisible="unlockModeVisible" /> <unlock-mode v-model:unlockModeVisible="unlockModeVisible" />
</div> --> </div>
<div class="line"></div> <div class="line"></div>
<router-link to="/leveladd"> <router-link to="/leveladd">
<div style="display: flex"> <div style="display: flex">
@@ -898,7 +898,7 @@
</div> </div>
</div> </div>
<!-- <div class="footbtn"> <div class="footbtn">
<div class="btnbox"> <div class="btnbox">
<div class="btn btn2" @click="temporaryStorage"> <div class="btn btn2" @click="temporaryStorage">
<div class="btnText">暂存</div> <div class="btnText">暂存</div>
@@ -910,7 +910,7 @@
<div class="btnText">取消</div> <div class="btnText">取消</div>
</div> </div>
</div> </div>
</div> --> </div>
<!-- 添加学员抽屉 --> <!-- 添加学员抽屉 -->
<add-stu v-model:AddSvisible="AddSvisible" /> <add-stu v-model:AddSvisible="AddSvisible" />
<!-- 导入学员抽屉 --> <!-- 导入学员抽屉 -->
@@ -1087,7 +1087,7 @@ import { editTask } from "../../api/indexTaskadd";
// import { RouterEditTask } from "@/api/indexTask"; // import { RouterEditTask } from "@/api/indexTask";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
// import UnlockMode from "../../components/drawers/UnlockMode.vue"; import UnlockMode from "../../components/drawers/UnlockMode.vue";
export default { export default {
name: "LevelAddDetail", name: "LevelAddDetail",
components: { components: {
@@ -1105,7 +1105,7 @@ export default {
AddLive, AddLive,
AddRef, AddRef,
draggable, draggable,
// UnlockMode, UnlockMode,
AddFaceteach, AddFaceteach,
AddProject, AddProject,
}, },

View File

@@ -105,16 +105,16 @@
</div> </div>
<div class="rightt"> <div class="rightt">
<!-- 2022-11-30注释 后面放开 --> <!-- 2022-11-30注释 后面放开 -->
<!-- <div class="select"> <div class="select" style="margin-right:90px;">
<span>学习模式</span> <span>学习模式</span>
<div class="inputbox"> <div class="inputbox">
<input type="text" placeholder="按学习时间解锁" /> <input type="text" placeholder="按学习时间解锁" style="padding-left:12px;" />
<div class="bottonbox" @click="showModeVisible"> <div class="bottonbox" @click="showModeVisible">
<div class="btnText">切换模式</div> <div class="btnText">切换模式</div>
</div> </div>
<unlock-mode v-model:unlockModeVisible="unlockModeVisible" /> <unlock-mode v-model:unlockModeVisible="unlockModeVisible" />
</div> </div>
</div> --> </div>
<div class="line"></div> <div class="line"></div>
<!-- <img class="img2" src="../../assets/images/projectadd/keep.png" /> <!-- <img class="img2" src="../../assets/images/projectadd/keep.png" />
<div class="pub">保存</div> <div class="pub">保存</div>
@@ -570,19 +570,19 @@
</div> </div>
</div> </div>
<!-- <div class="footbtn"> <div class="footbtn">
<div class="btnbox"> <div class="btnbox">
<div class="btn btn2" @click="temporaryStorage"> <div class="btn btn2" @click="temporaryStorage">
<div class="btnText">暂存</div> <div class="btnText">暂存</div>
</div> </div>
<div class="btn btn2" @click="submitStorage"> <div class="btn btn2" @click="submitStorage">
<div class="btnText">确定</div> <div class="btnText">确定</div>
</div> </div>
<div class="btn btn1" @click="cancelStorage"> <div class="btn btn1" @click="cancelStorage">
<div class="btnText">取消</div> <div class="btnText">取消</div>
</div> </div>
</div> </div>
</div> --> </div>
<!-- 添加阶段弹窗 --> <!-- 添加阶段弹窗 -->
<div> <div>
@@ -841,6 +841,7 @@ import * as api from "../../api/indexTaskadd";
import * as apistage from "../../api/indexStage"; import * as apistage from "../../api/indexStage";
import * as apimove from "../../api/indexMovetask"; import * as apimove from "../../api/indexMovetask";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import UnlockMode from "../../components/drawers/UnlockMode.vue";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
@@ -860,7 +861,7 @@ export default {
AddEval, AddEval,
AddInvist, AddInvist,
AddVote, AddVote,
// UnlockMode, UnlockMode,
}, },
setup() { setup() {
const router = useRouter(); const router = useRouter();

View File

@@ -134,16 +134,16 @@
</div> </div>
<div class="rightt"> <div class="rightt">
<!-- 2022-11-30注释 后面放开 --> <!-- 2022-11-30注释 后面放开 -->
<!-- <div class="select"> <div class="select" style="margin-right:90px;">
<span>学习模式</span> <span>学习模式</span>
<div class="inputbox"> <div class="inputbox">
<input type="text" placeholder="按学习时间解锁" /> <input type="text" placeholder="按学习时间解锁" style="padding-left:12px;"/>
<div class="bottonbox" @click="showModeVisible"> <div class="bottonbox" @click="showModeVisible">
<div class="btnText">切换模式</div> <div class="btnText">切换模式</div>
</div> </div>
<unlock-mode v-model:unlockModeVisible="unlockModeVisible" /> <unlock-mode v-model:unlockModeVisible="unlockModeVisible" />
</div> </div>
</div> --> </div>
<div class="line"></div> <div class="line"></div>
<!-- <img class="img2" src="../../assets/images/projectadd/keep.png" /> <!-- <img class="img2" src="../../assets/images/projectadd/keep.png" />
<div class="pub">保存</div> <div class="pub">保存</div>
@@ -735,7 +735,7 @@
</div> </div>
</div> </div>
<!-- <div class="footbtn"> <div class="footbtn">
<div class="btnbox"> <div class="btnbox">
<div class="btn btn2" @click="temporaryStorage"> <div class="btn btn2" @click="temporaryStorage">
<div class="btnText">暂存</div> <div class="btnText">暂存</div>
@@ -747,7 +747,7 @@
<div class="btnText">取消</div> <div class="btnText">取消</div>
</div> </div>
</div> </div>
</div> --> </div>
<!-- 添加阶段弹窗 --> <!-- 添加阶段弹窗 -->
<div> <div>
@@ -1091,7 +1091,7 @@ import { message } from "ant-design-vue";
import * as api from "../../api/indexTemplate"; import * as api from "../../api/indexTemplate";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import { storage } from "../../api/storage"; import { storage } from "../../api/storage";
// import UnlockMode from "../../components/drawers/UnlockMode.vue"; import UnlockMode from "../../components/drawers/UnlockMode.vue";
// import * as api1 from "../../api/index1"; // import * as api1 from "../../api/index1";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
const drawercolumns = [ const drawercolumns = [
@@ -1149,7 +1149,7 @@ export default {
AddEval, AddEval,
AddInvist, AddInvist,
AddVote, AddVote,
// UnlockMode, UnlockMode,
}, },
setup() { setup() {
const route = useRoute(); const route = useRoute();