面授连同周边修改

This commit is contained in:
zhangsir
2024-10-09 18:03:01 +08:00
parent e4145f08e0
commit 29876bd0f3
3 changed files with 420 additions and 59 deletions

View File

@@ -755,7 +755,7 @@
v-model:value="selectTime"
type="date"
style="width: 300px; margin-right: 14px"
:placeholder="[' 课程开始时间', ' 课程结束时间']"
:placeholder="[' 面授开始时间', ' 面授结束时间']"
:show-time="{
defaultValue: [
moment('00:00', 'HH:mm'),
@@ -819,7 +819,7 @@
<template #action="{ record, column }">
<div class="operation">
<div class="fb">
<div class="jc" @click="qrcodeVisible(record, 3)" v-if="checkPer(permissions,createId)">
<div class="jc" @click="qrcodeVisible(record, 3)" v-if="checkPer(permissions,createId)&&record.evalFlag">
评估码
</div>
<!--新加 签到 -->
@@ -879,7 +879,7 @@
<div class="fb" style="margin-left: -20px">
<div class="jc">
更多
<down-outlined />
<DownOutlined />
</div>
</div>
</a-dropdown>
@@ -1120,15 +1120,14 @@
</div>
</div>
<div class="cstm_items">
<div class="signbox" style="margin-left: 14px;">
<span style="margin-right: 3px">签到设置</span>
<div class="signbox">
<span style="margin-right: 3px">签到设置</span>
</div>
<div style="display: flex; align-items: center">
<div style="margin-right: 10px">签到</div>
<div
style="display: flex; align-items: center; margin-right: 20px"
>
<span>开始前:</span>
<span style="color: #6d7584">开始前:</span>
<a-input-number
:min="0"
:max="999999"
@@ -1144,7 +1143,7 @@
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
<div style="display: flex; align-items: center">
<span>开始后:</span>
<span style="color: #6d7584">开始后:</span>
<a-input-number
:min="0"
:max="999999"
@@ -1167,16 +1166,16 @@
</div>
<div class="b_input">
<a-checkbox v-model:checked="xjkkradioVEnd" :disabled = "itemType!=3">
<span style="color: #6d7584">是否允许自动结业</span>
<span style="color: #6d7584;margin-right:16px;">是否允许自动结业</span>
</a-checkbox>
<span>面授时间结束后</span>
<a-input-number :precision="0" :min="0" v-model:value="xjkkradioVEndTime" style="
<span style="color: #6d7584" v-if="xjkkradioVEnd">面授时间结束后</span>
<a-input-number v-if="xjkkradioVEnd" :precision="0" :min="0" v-model:value="xjkkradioVEndTime" style="
width: 60px;
height: 32px;
border-radius: 8px;
margin: 0 10px;"
/>
<span v-if="xjkkradioVEnd" style="color: #6d7584">天</span>
</div>
</div>
@@ -1849,7 +1848,7 @@ import ProjectManager from "@/components/project/ProjectManagerNewTeacher";
import SeeModal from "./components/seeModal.vue";
import CourseModal from "./courseModal.vue";
import * as moment from "moment";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import TwoDimensionalCode from "../../components/TwoDimensionalCodeNew.vue";
import { codeUrl, toDate } from "@/api/method";
import { queryWorkDetailById } from "@/api/indexWork";
import { queryExaminationDetailById } from "@/api/indexExam";
@@ -1863,7 +1862,7 @@ import DropDown from "@/components/common/DropDown";
import { checkPer, checkOwner } from "@/utils/utils";
import dayjs from "dayjs";
import {duration} from "moment";
import { DeleteOutlined } from '@ant-design/icons-vue';
import { DeleteOutlined,DownOutlined } from '@ant-design/icons-vue';
//列表表格
const moreLine = (item) => {
@@ -2032,17 +2031,6 @@ const columns6 = [
ellipsis: true,
slots: { customRender: "teacherName" },
},
{
title: "时长",
dataIndex: "duration",
key: "duration",
width: "12%",
ellipsis: true,
align: "center",
customRender: ({ text }) => {
return text ? Math.floor(text / 60) : "-";
},
},
{
title: "面授时间",
dataIndex: "starttime",
@@ -2054,6 +2042,17 @@ const columns6 = [
return text.record.beginTime + ' ~ ' + text.record.endTime
},
},
{
title: "时长",
dataIndex: "duration",
key: "duration",
width: "12%",
ellipsis: true,
align: "center",
customRender: ({ text }) => {
return text ? text : "-";
},
},
{
title: "学员数",
dataIndex: "studentCnt",
@@ -2095,8 +2094,8 @@ const columns6 = [
width: "10%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
return text ? text : "-";
customRender: ( text ) => {
return <a-tooltip color="white" placement="bottom" title = {text.record.createName} >{text.record.createName ? text.record.createName : "-"}</a-tooltip>
},
},
{
@@ -2105,9 +2104,9 @@ const columns6 = [
key: "saddress",
width: "30%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
return text ? text : "-";
customCell:() => {return {style: {maxWidth: '200px',minWidth: '100px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow:'ellipsis',cursor:'pointer',padding:'0px 10px'}}},
customRender: ( {text} ) => {
return <a-tooltip color="white" placement="bottom" title = {text} >{text ? text : "-"}</a-tooltip>
},
},
{
@@ -2320,13 +2319,14 @@ export default defineComponent({
// },
addOnlineCourse,
TwoDimensionalCode,
DeleteOutlined
DeleteOutlined,
DownOutlined
},
setup() {
const CourseModalRef = ref(null);
const store = useStore();
const sysTypeOptions = computed(() => store.state.content_type);
const durationText = computed(() => state.xjkkinputV3?.length?dayjs(state.xjkkinputV3[1]).diff(dayjs(state.xjkkinputV3[0]),'minute'):'请输入持续时间');
const durationText = computed(() => state.xjkkinputV3?.length==2?dayjs(state.xjkkinputV3[1]).diff(dayjs(state.xjkkinputV3[0]),'minute')|| '请输入持续时间':'请输入持续时间');
const state = reactive({
tableCoursePlanLoading: false,
@@ -2981,6 +2981,10 @@ export default defineComponent({
watch(durationText,(val)=>{
nums.value++
if(nums.value>1){
if(val == '请输入持续时间'){
state.duration = null;
return
}
state.duration = val;
}
})
@@ -4043,6 +4047,9 @@ function onFocusEnd(){
message.error('请填写结业时间')
return
}
if(state.checked4 && !state.assessmentId){
return message.error('请选择评估');
}
console.log(postData,'传输的数据')
// if(!postData.duration){
// return message.error("请输入持续时间");
@@ -4133,7 +4140,7 @@ function onFocusEnd(){
state.stuColumns = [
{
title: "岗位",
width: "8%",
width: "160px",
dataIndex: "studentJobName",
key: "7",
align: "center",
@@ -4151,10 +4158,11 @@ function onFocusEnd(){
},
{
title: "Band",
width: "8%",
width: "120px",
dataIndex: "studentBandDesc",
key: "7",
align: "center",
ellipsis: true,
customRender: (text) => {
return (
<div class="racona">
@@ -4167,10 +4175,11 @@ function onFocusEnd(){
},
{
title: "报名状态",
width: "8%",
width: "120px",
dataIndex: "status",
key: "5",
align: "center",
ellipsis: true,
customRender: ({ record }) => {
switch (String(record.status)) {
case "0":
@@ -4185,28 +4194,31 @@ function onFocusEnd(){
{
title: "签到状态",
width: "8%",
width: "120px",
dataIndex: "signstatus",
key: "7",
align: "center",
ellipsis: true,
customRender: ({ record }) =>
record.signStatus ? "已签到" : "未签到",
},
{
title: "评估状态",
width: "8%",
width: "120px",
dataIndex: "evastatus",
key: "8",
align: "center",
ellipsis: true,
customRender: ({ record }) =>
record.assessmentStatus?"已评估" : "未评估",
},
{
title: "评分",
width: "8%",
width: "120px",
dataIndex: "studentScore",
key: "8",
align: "center",
ellipsis: true,
customRender: ({ record }) => {
return (
<div class="racona">
@@ -4270,36 +4282,39 @@ function onFocusEnd(){
// },
{
title: "作业状态",
width: "8%",
width: "120px",
dataIndex: "workStatus",
key: "5",
align: "center",
ellipsis: true,
customRender: ({ record }) => {
switch (String(record.workStatus)) {
case "null":
return "未完成";
return "未提交";
case "0":
return "未完成";
return "未提交";
case "1":
return "已完成";
return "已提交";
case "2":
return "未完成";
return "未提交";
}
},
},
{
title: "考试成绩",
width: "8%",
width: "120px",
dataIndex: "examinationScore",
key: "8",
align: "center",
ellipsis: true,
},
{
title: "结业状态",
width: "15%",
width: "120px",
dataIndex: "completionStatus",
key: "8",
align: "center",
ellipsis: true,
customRender: ({ record }) => {
return (
<div>
@@ -5222,11 +5237,11 @@ function onFocusEnd(){
const qrcodeVisible = (record, type) => {
// `${location.protocol}//${location.host}${import.meta.env.VUE_APP_BASE_API}/stu/project/redirectDetail?courseId=${record.id}`
state.codevisible = true;
let teacherNames = record.offteachers?.filter(teacher => teacher.teacherName !== null).map(teacher => teacher.teacherName);
let teacherNames = record.offteachers?.filter(teacher => teacher.name !== null).map(teacher => teacher.name);
state.codeInfo = {
title: type == 1 ? "【课程】二维码" : type == 2 ? "【签到】二维码" : "【评估】二维码",
name: record.name ? record.name + type == 2 ?'签到' : '评估' : "",
teacherName: teacherNames.length > 0 ? teacherNames.join(' ') : "",
name: record.name,
teacherName: teacherNames.length > 3 ? teacherNames.slice(0,3).join(',')+'...' : teacherNames.join(','),
url:
type == 1
? process.env.VUE_APP_BASE_API +
@@ -5236,7 +5251,8 @@ function onFocusEnd(){
record.id
}&taskType=${2}&type=${3}&openCourseId=${
record.id
}` : `${location.protocol}//${location.host}/student-h5/investigatpage?id=${record.id}&type=3&infoId=${record.id}&courseId=${record.assessmentId}&chapterOrStageId=0&level=${record.name}`
}` : `${location.protocol}//${location.host}/student-h5/investigatpage?id=${record.id}&type=3&infoId=${record.id}&courseId=${record.assessmentId}&chapterOrStageId=0&level=${record.name}`,
titleTeacherName: moreLine(record.offteachers),
};
console.log("codeInfo", state.codeInfo, record);
state.codeIndex = 0;
@@ -7585,8 +7601,9 @@ function onFocusEnd(){
}
.stmm_i5 {
display: flex;
justify-content: space-between;
// display: flex;
// justify-content: space-between;
margin-right: 20px;
}
.stmm_i6 {