--fix 复制

This commit is contained in:
yuping
2023-02-17 21:18:09 +08:00
parent b29e31721f
commit 2d3a95f1bd
2 changed files with 764 additions and 761 deletions

View File

@@ -32,6 +32,7 @@ export const edit = (obj) => http.post("/admin/offcourse/edit", obj);
//7新建或编辑面授课开课
export const editPlan = (obj) => http.post("/admin/offcourse/editPlan", obj);
export const copyCoursePlan = (params) => http.get("/admin/offcourse/copyCoursePlan", {params});
export const copyCourse = (params) => http.get("/admin/offcourse/copyCourse", {params});
//8课程导出
export const exportP = (obj) => http.post("/admin/offcourse/export", obj);
//9操作面授课(发布,撤回,删除,审核,停用)

View File

@@ -196,10 +196,10 @@
:style="{ display: hideshow ? 'block' : 'none' }"
>
<span style="color: #999ba3">
1课程名称统一不加书名号<br />
1课程名称统一不加书名号<br/>
2项目名称属地等信息如需体现在课程名称中请放在课程名称信息
之后时间管理GROW180项目时间管理B*确保首先
看到的是课程内容主题<br />
看到的是课程内容主题<br/>
3同一课程如先后有多个版本原则上仅开放最新版本旧版本应停用
版本如必须以年份标明请以沟通技巧2022的方式呈现
</span>
@@ -318,10 +318,18 @@
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'">
<a-space>
<a-button v-if="(record.status===0 || record.status===-1 || !record.kkty) && checkPer(record.permissions)" @click="() => handleEdit(record, String(record.courseform))" type="link">编辑</a-button>
<a-button v-if="record.status===2 && checkPer(record.permissions)" @click="() => handleStart(record, String(record.courseform))" type="link">开课</a-button>
<a-button v-if="record.status===2 && checkPer(record.permissions)" @click="() => handleLook(record, String(record.courseform))" type="link">查看</a-button>
<a-button v-if="record.status===2 && checkPer(record.permissions)" @click="() => handleGuan22(record, String(record.courseform))" type="link">管理</a-button>
<a-button v-if="(record.status===0 || record.status===-1 || !record.kkty) && checkPer(record.permissions)"
@click="() => handleEdit(record, String(record.courseform))" type="link">编辑
</a-button>
<a-button v-if="record.status===2 && checkPer(record.permissions)"
@click="() => handleStart(record, String(record.courseform))" type="link">开课
</a-button>
<a-button v-if="record.status===2 && checkPer(record.permissions)"
@click="() => handleLook(record, String(record.courseform))" type="link">查看
</a-button>
<a-button v-if="record.status===2 && checkPer(record.permissions)"
@click="() => handleGuan22(record, String(record.courseform))" type="link">管理
</a-button>
<DropDown v-if="checkPer(record.permissions)" value="授权">
<OwnerTableModelStudent :types="[10,11,12]" :id="record.offcourseId">权限名单</OwnerTableModelStudent>
<CommonStudent :type="10" :id="record.offcourseId" title="查看权">查看权</CommonStudent>
@@ -330,9 +338,14 @@
<DropDown v-if="checkPer(record.permissions)" value="更多">
<a-button @click="() => handleCopy(record, String(record.courseform))" type="link">复制</a-button>
<a-button @click="() => handleRejectExit(record, String(record.courseform))" type="link">撤回</a-button>
<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-button @click="() => handleDelete(record, String(record.courseform))" type="link" danger>删除</a-button>
<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-button @click="() => handleDelete(record, String(record.courseform))" type="link" danger>删除
</a-button>
</DropDown>
</a-space>
</template>
@@ -765,7 +778,7 @@
<div class="fb" style="margin-left: -20px">
<div class="jc">
更多
<down-outlined />
<down-outlined/>
</div>
</div>
</a-dropdown>
@@ -1028,7 +1041,7 @@
<span style="margin-right: 3px"></span>
</div>
<div class="b_input">
<FJUpload v-model:value="attach" @changevalue="changevalue" />
<FJUpload v-model:value="attach" @changevalue="changevalue"/>
</div>
</div>
@@ -1106,9 +1119,15 @@
:isgetStudent="isgetStudent"
>
<template #extension="{ data: { record } }">
<a-button v-if="record.source === 4 && record.status === 1" @click="() => {record.status = 0;auditStudent(record);}" type="link">审核通过</a-button>
<a-button v-if="record.source === 4 && record.status === 1" @click="() => {record.status = 2;auditStudent(record);}" type="link">拒绝</a-button>
<a-button v-if="record.source === 4 && (record.status === 0 || record.status === 2)" @click="() => {record.status = 1;auditStudent(record);}" type="link">撤回</a-button>
<a-button v-if="record.source === 4 && record.status === 1"
@click="() => {record.status = 0;auditStudent(record);}" type="link">审核通过
</a-button>
<a-button v-if="record.source === 4 && record.status === 1"
@click="() => {record.status = 2;auditStudent(record);}" type="link">拒绝
</a-button>
<a-button v-if="record.source === 4 && (record.status === 0 || record.status === 2)"
@click="() => {record.status = 1;auditStudent(record);}" type="link">撤回
</a-button>
</template>
</TableStudent>
</div>
@@ -1361,13 +1380,13 @@
class="del-icons"
:style="{ display: del_hs ? 'block' : 'none' }"
>
<img src="@/assets/images/coursewareManage/notice.png" alt="" />
<img src="@/assets/images/coursewareManage/notice.png" alt=""/>
</div>
<div
class="del-icons"
:style="{ display: copy_hs || nouse_hs ? 'block' : 'none' }"
>
<img src="@/assets/images/coursewareManage/QR.png" alt="" />
<img src="@/assets/images/coursewareManage/QR.png" alt=""/>
</div>
<span>提示</span>
<div class="close_exit" @click="delete_exit1"></div>
@@ -1459,7 +1478,7 @@
</div>
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">
<a-spin :spinning="addLoading" tip="" />
<a-spin :spinning="addLoading" tip=""/>
</div>
<!-- 二维码弹窗 -->
@@ -1486,8 +1505,8 @@ import {
import * as api from "../../api/indexInvist.js";
import * as apis from "../../api/indexTaskManage";
import { message } from "ant-design-vue";
import { useRouter, useRoute } from "vue-router";
import {message} from "ant-design-vue";
import {useRouter, useRoute} from "vue-router";
import CommonStudent from "@/components/student/CommonStudent";
import OwnerTableModelStudent from "@/components/student/OwnerTableModelStudent";
// import StuAdd from "../../components/drawers/StuAdd";
@@ -1514,7 +1533,7 @@ import {
studentExport,
handleStudent,
getMemberInfoApi,
copyCoursePlan,
copyCoursePlan, copyCourse,
} from "@/api/indexCourse";
import {
traverseArr,
@@ -1522,7 +1541,7 @@ import {
newFile,
getdateToDate,
} from "../../utils/utils";
import { fileUp } from "../../api/indexEval";
import {fileUp} from "../../api/indexEval";
import * as api1 from "../../api/index1";
import "@wangeditor/editor/dist/css/style.css";
@@ -1532,17 +1551,17 @@ import SeeModal from "./components/seeModal.vue";
import CourseModal from "./courseModal.vue";
import * as moment from "moment";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import { codeUrl, toDate } from "../../api/method";
import { queryWorkDetailById } from "@/api/indexWork";
import { queryExaminationDetailById } from "@/api/indexExam";
import {codeUrl, toDate} from "../../api/method";
import {queryWorkDetailById} from "@/api/indexWork";
import {queryExaminationDetailById} from "@/api/indexExam";
import AddHomework from "../../components/drawers/AddHomework.vue";
import AddTest from "../../components/drawers/AddTest.vue";
import TableStudent from "@/components/student/TableStudent";
import FJUpload from "@/components/common/FJUpload";
import { updateStudent } from "@/api/indexProjStu";
import { useStore } from "vuex";
import {updateStudent} from "@/api/indexProjStu";
import {useStore} from "vuex";
import DropDown from "@/components/common/DropDown";
import { checkPer } from "@/utils/utils";
import {checkPer} from "@/utils/utils";
import dayjs from "dayjs";
// import { commonExport } from '@/utils/commonExcel'
@@ -1555,7 +1574,7 @@ const columns1 = [
key: "name",
ellipsis: true,
align: "left",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1580,7 +1599,7 @@ const columns1 = [
dataIndex: "courseform",
key: "2",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
switch (String(record.courseform)) {
case "1":
return "线上";
@@ -1596,7 +1615,7 @@ const columns1 = [
key: "3",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1607,7 +1626,7 @@ const columns1 = [
key: "3",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1617,7 +1636,7 @@ const columns1 = [
dataIndex: "studentCnt",
key: "4",
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "0";
},
},
@@ -1637,7 +1656,7 @@ const columns1 = [
dataIndex: "status",
key: "6",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
switch (String(record.status)) {
case "0":
return "未提交";
@@ -1656,7 +1675,7 @@ const columns1 = [
dataIndex: "ynpub",
key: "7",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
switch (String(record.ynpub)) {
case "0":
return "未发布";
@@ -1672,7 +1691,7 @@ const columns1 = [
key: "8",
ellipsis: true,
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1683,7 +1702,7 @@ const columns1 = [
key: "9",
ellipsis: true,
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1694,7 +1713,7 @@ const columns1 = [
dataIndex: "pubtime",
key: "10",
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1704,7 +1723,7 @@ const columns1 = [
key: "either",
dataIndex: "kkty",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
switch (String(record.kkty)) {
case "0":
return "停用";
@@ -1730,7 +1749,7 @@ const columns2 = [
key: "studentName",
width: "6%",
align: "center",
customRender: ({ record: { studentName } }) => studentName || "-",
customRender: ({record: {studentName}}) => studentName || "-",
},
{
title: "工号",
@@ -1739,7 +1758,7 @@ const columns2 = [
width: "12%",
ellipsis: true,
align: "center",
customRender: ({ record: { studentUserNo } }) => studentUserNo || "-",
customRender: ({record: {studentUserNo}}) => studentUserNo || "-",
},
{
title: "开课名称",
@@ -1748,7 +1767,7 @@ const columns2 = [
width: "12%",
ellipsis: true,
align: "center",
customRender: ({ record: { name } }) => name || "-",
customRender: ({record: {name}}) => name || "-",
},
{
title: "地点",
@@ -1757,7 +1776,7 @@ const columns2 = [
width: "12%",
ellipsis: true,
align: "center",
customRender: ({ record: { address } }) => address || "-",
customRender: ({record: {address}}) => address || "-",
},
{
title: "数据来源",
@@ -1766,7 +1785,7 @@ const columns2 = [
ellipsis: true,
width: "12%",
align: "center",
customRender: ({ record: { courseName, routerName } }) =>
customRender: ({record: {courseName, routerName}}) =>
courseName || routerName || "开课",
},
{
@@ -1776,7 +1795,7 @@ const columns2 = [
width: "10%",
align: "center",
ellipsis: true,
customRender: ({ record: { lastStudyTime } }) => lastStudyTime || "-",
customRender: ({record: {lastStudyTime}}) => lastStudyTime || "-",
},
{
title: "签到时间",
@@ -1785,7 +1804,7 @@ const columns2 = [
width: "10%",
align: "center",
ellipsis: true,
customRender: ({ record: { signTime } }) => signTime || "-",
customRender: ({record: {signTime}}) => signTime || "-",
},
{
title: "状态",
@@ -1860,7 +1879,7 @@ const columns6 = [
width: "15%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1871,7 +1890,7 @@ const columns6 = [
width: "15%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1882,7 +1901,7 @@ const columns6 = [
width: "8%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1894,7 +1913,7 @@ const columns6 = [
width: "12%",
ellipsis: true,
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
// return text ? getdateToTime(text * 1000) : "-";
return text ? text : "-";
},
@@ -1906,7 +1925,7 @@ const columns6 = [
width: "12%",
ellipsis: true,
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
// return text ? getdateToTime(text * 1000) : "-";
return text ? text : "-";
},
@@ -1918,7 +1937,7 @@ const columns6 = [
width: "8%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1929,7 +1948,7 @@ const columns6 = [
width: 100,
align: "center",
ellipsis: true,
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1960,7 +1979,7 @@ const columns7 = [
width: 200,
dataIndex: "name",
key: "name",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1970,7 +1989,7 @@ const columns7 = [
dataIndex: "number",
key: "1",
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -1980,7 +1999,7 @@ const columns7 = [
dataIndex: "department",
key: "2",
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -2000,7 +2019,7 @@ const columns7 = [
dataIndex: "band",
key: "4",
align: "center",
customRender: ({ text }) => {
customRender: ({text}) => {
return text ? text : "-";
},
},
@@ -2010,7 +2029,7 @@ const columns7 = [
dataIndex: "status",
key: "5",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
switch (String(record.status)) {
case "0":
return "审核通过";
@@ -2027,7 +2046,7 @@ const columns7 = [
dataIndex: "join",
key: "6",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
switch (String(record.source)) {
case "1":
return "导入";
@@ -2171,7 +2190,7 @@ export default defineComponent({
dataIndex: "status",
key: "5",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
switch (String(record.status)) {
case "0":
return "审核通过";
@@ -2189,7 +2208,7 @@ export default defineComponent({
dataIndex: "signstatus",
key: "7",
align: "center",
customRender: ({ record }) =>
customRender: ({record}) =>
record.signStatus ? "已签到" : "未签到",
},
{
@@ -2198,7 +2217,7 @@ export default defineComponent({
dataIndex: "evastatus",
key: "8",
align: "center",
customRender: ({ record }) =>
customRender: ({record}) =>
record.assessmentStatus ? "已评估" : "未评估",
},
{
@@ -2207,7 +2226,7 @@ export default defineComponent({
dataIndex: "workScore",
key: "7",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
return (
<div class="racona">
{record.workScore === -2 ? (
@@ -2216,7 +2235,7 @@ export default defineComponent({
<span>{record.workScore}</span>
) : (
<span
style={{ color: "#4EA6FF", cursor: "pointer" }}
style={{color: "#4EA6FF", cursor: "pointer"}}
onClick={() => {
handlJoinStu(record);
}}
@@ -2258,14 +2277,14 @@ export default defineComponent({
dataIndex: "completionStatus",
key: "8",
align: "center",
customRender: ({ record }) => {
customRender: ({record}) => {
return (
<div>
{record.finishStatus == 1 &&
record.workScore != -2 &&
record.signStatus == 1 ? (
<div
style={{ color: "#4EA6FF", cursor: "pointer" }}
style={{color: "#4EA6FF", cursor: "pointer"}}
onClick={() => {
handleOverStu(record);
}}
@@ -2290,7 +2309,7 @@ export default defineComponent({
selectedRowKeys7: [],
auditDescription: "",
isEdit: 0,
member: { name: "", value: "" },
member: {name: "", value: ""},
//列表表格
tableData1: [
// {
@@ -2756,7 +2775,7 @@ export default defineComponent({
const toolbarConfig = {
excludeKeys: ["insertVideo", "insertImage"],
};
const editorConfig = { placeholder: "请输入内容...", MENU_CONF: {} };
const editorConfig = {placeholder: "请输入内容...", MENU_CONF: {}};
editorConfig.MENU_CONF["uploadImage"] = {
// 自定义上传
async customUpload(file, insertFn) {
@@ -2929,7 +2948,7 @@ export default defineComponent({
beginTime: startTime,
});
console.log("获取面授课列表", res);
const { rows, total, pageNo } = res.data.data;
const {rows, total, pageNo} = res.data.data;
console.log(res.data.data);
state.tableDataTotal1 = total;
for (let i = 0; i < rows.length; i++) {
@@ -3222,7 +3241,7 @@ export default defineComponent({
console.log("获取学员信息", obj);
let res = await studentList(obj);
console.log("获取学员列表", res);
const { rows, total, pageNo } = res.data.data;
const {rows, total, pageNo} = res.data.data;
state.tableDataTotal3 = total;
for (let i = 0; i < rows.length; i++) {
@@ -3356,7 +3375,7 @@ export default defineComponent({
console.log("获取开obj", obj, state.selectTime);
let res = await planList(obj);
console.log("开课res", res);
const { rows, total, pageNo } = res.data.data;
const {rows, total, pageNo} = res.data.data;
state.tableDataTotal222 = total;
for (let i = 0; i < rows.length; i++) {
@@ -3679,19 +3698,19 @@ export default defineComponent({
if (item.evaluateId) {
api
.queryAppraiseDetailById({ assessmentId: item.evaluateId })
.queryAppraiseDetailById({assessmentId: item.evaluateId})
.then((res) => {
state.assessmentName = res.data.data.assessmentName;
})
.catch();
}
if (item.homeWorkId) {
queryWorkDetailById({ workId: item.homeWorkId }).then((res) => {
queryWorkDetailById({workId: item.homeWorkId}).then((res) => {
state.workName = res.data.data.workName;
});
}
if (item.testId) {
queryExaminationDetailById({ examinationId: item.testId }).then(
queryExaminationDetailById({examinationId: item.testId}).then(
(res) => {
state.testName = res.data.data.examinationName;
}
@@ -3740,7 +3759,7 @@ export default defineComponent({
state.xjkkradioV1 = "";
}
*/
state.member = { value: item.teacherId, name: item.teacher };
state.member = {value: item.teacherId, name: item.teacher};
state.cstm_hs = true;
state.kk_eidt = true;
@@ -3966,48 +3985,20 @@ export default defineComponent({
}
}
if (state.copy_hs) {
console.log(2222222);
if (state.offcourseId && state.offcoursePlanId) {
copyCoursePlan({offcoursePlanId:state.offcoursePlanId}).then(() => {
message.destroy();
state.tableLoading = true;
message.success("复制成功");
delete_exit1();
rest();
await copyCoursePlan({offcoursePlanId: state.offcoursePlanId})
getTableDate3();
delete_exit1();
rest();
});
} else if (state.offcourseId) {
console.log(87887);
// 拿数据
const item = await detail({
offcourseId: Number(state.offcourseId),
}).then((res) => {
if (res.data.code === 200) return res.data.data;
});
const postData = {
offcourseId: null, //不传代表新增
name: item.name + "(1)",
picUrl: item.picUrl,
targetUser: item.targetUser,
meaning: item.meaning,
// categoryId: item.categoryId,
sysTypeId: item.sysTypeId,
sceneId: item.sceneId,
tips: item.tips,
teacherId: item.teacherId, //?
intro: item.intro,
attach: item.attach,
outline: item.outline,
teacher: item.teacher,
};
edit(postData).then((res) => {
if (res.data.code === 200) {
message.destroy();
message.success("复制成功");
getTableDate();
delete_exit1();
rest();
}
});
message.success("复制成功");
state.tableLoading = true;
await copyCourse({courseId: state.offcourseId})
getTableDate();
}
}
if (state.nouse_hs) {
@@ -4053,7 +4044,7 @@ export default defineComponent({
);
endTime = parseInt(new Date(state.projectTime[1].$d).getTime() / 1000);
}
console.log(startTime,endTime)
console.log(startTime, endTime)
// list({
// pageNo: 1,
@@ -4147,7 +4138,7 @@ export default defineComponent({
.catch((err) => {
console.log("获取授课教师失败", err);
});
const { rows, total } = item1;
const {rows, total} = item1;
state.tableDataTotalTea1 = total;
state.tableDataTotalTea2 = total;
let newArr = [];
@@ -4209,17 +4200,17 @@ export default defineComponent({
state.teacher = item.teacher;
state.teacherId = item.teacherId;
state.qdms_inputV6 = item.intro;
state.member = { value: item.teacherId, name: item.teacher };
state.member = {value: item.teacherId, name: item.teacher};
if (item.attach == "") {
state.imgList = [];
} else {
if (item.attach.indexOf(",")) {
const arr = item.attach.split(",");
arr.forEach((item) => {
state.imgList.push({ img: item });
state.imgList.push({img: item});
});
} else {
state.imgList = [{ img: item.attach }];
state.imgList = [{img: item.attach}];
}
}
@@ -4656,6 +4647,7 @@ export default defineComponent({
disabledSeconds: () => [55, 56],
};
};
function auditStudent(record) {
updateStudent(record);
}
@@ -4959,6 +4951,7 @@ export default defineComponent({
height: 18px;
background-image: url("../../assets/images/courseManage/reset1.png");
}
.daochu {
width: 16px;
height: 18px;
@@ -4975,6 +4968,7 @@ export default defineComponent({
color: #ffffff;
}
}
/**
.btn1:active {
background: #0982ff;
@@ -5342,9 +5336,11 @@ export default defineComponent({
.items_fj {
margin-bottom: 1px;
.fujian {
display: none;
}
.mbl_items12 {
width: 440px;
margin-right: 56px;
@@ -6718,6 +6714,7 @@ export default defineComponent({
line-height: 36px;
margin-left: 5px;
}
.btn2 {
margin-right: 0px;
@@ -6728,6 +6725,7 @@ export default defineComponent({
}
}
}
.btn3 {
.search {
width: 17px;
@@ -6741,6 +6739,7 @@ export default defineComponent({
}
}
}
/**
.btn3 {
width: 130px;
@@ -6896,6 +6895,7 @@ export default defineComponent({
.stusmanageModal {
.ant-modal {
max-width: 1800px;
.ant-modal-content {
// width:1358px !important;
.ant-modal-body {
@@ -7279,9 +7279,11 @@ export default defineComponent({
.tableSelect {
position: relative;
.hoverList {
display: none;
}
&:hover {
.hoverList {
display: block;