feat:增加面授课成绩录入结业批量结业

This commit is contained in:
lixg
2023-02-01 17:31:29 +08:00
parent 8beb086909
commit 511f8cced3
7 changed files with 386 additions and 131 deletions

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-04 22:45:31 * @Date: 2022-11-04 22:45:31
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2023-01-10 17:38:43 * @LastEditTime: 2023-02-01 11:07:17
* @FilePath: /fe-manage/src/api/index1.js * @FilePath: /fe-manage/src/api/index1.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@@ -78,7 +78,7 @@ export const delStudent = (obj) =>
http.post("/admin/router/deleteStudent", obj); http.post("/admin/router/deleteStudent", obj);
// 获取学员路径图进度明细 // 获取学员路径图进度明细
export const stuProgress = (params) => http.get('/admin/router/studentProcess', {params}); export const stuProgress = (params) => http.get('/admin/router/studentProcess', { params });
// export const stuProgress = (obj) =>http.post("/admin/router/studentProcess", obj); // export const stuProgress = (obj) =>http.post("/admin/router/studentProcess", obj);
//编辑学习路径基本信息 //编辑学习路径基本信息
@@ -103,7 +103,7 @@ export const billboard = (obj) => http.post("/admin/project/billboard", obj);
//公共信息--------------------------------------------------- //公共信息---------------------------------------------------
// 获取字典信息 // 获取字典信息
export const getDict = (obj) => http.post('/dict/getList', obj) export const getDict = (obj) => http.post('/dict/getList', obj)
export const getDictTree = (params) => http.get('/dict/getTree', {params}) export const getDictTree = (params) => http.get('/dict/getTree', { params })
//获取组织树一级列表 //获取组织树一级列表
export const getOrgTree = (obj) => http.post('/admin/router/orgList', obj) export const getOrgTree = (obj) => http.post('/admin/router/orgList', obj)
//根据id获取组织树一级元素下所有子元素 //根据id获取组织树一级元素下所有子元素
@@ -190,4 +190,4 @@ export const getImportStatus = (uuid) => http.get('/admin/student/getImportStatu
// 面授课导入学员 // 面授课导入学员
export const FaceTeachImportStudent = (obj) => http.post('/admin/student/importStudent', obj, { headers: { "Content-Type": "multipart/form-data" } }) export const FaceTeachImportStudent = (obj) => http.post('/admin/student/importStudent', obj, { headers: { "Content-Type": "multipart/form-data" } })
//成绩录入 //成绩录入
export const updateStudent = (obj) => http.post('/admin/student/updateStudent', obj) export const updateStudent = (obj) => http.post('/admin/student/homeWorkScoreEntry', obj)

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-12-20 17:00:37 * @Date: 2022-12-20 17:00:37
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2023-01-31 15:51:36 * @LastEditTime: 2023-01-31 16:14:39
* @FilePath: /fe-manage/src/components/student/ChangeLevelModal.vue * @FilePath: /fe-manage/src/components/student/ChangeLevelModal.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->
@@ -92,3 +92,124 @@ const changeGroup = (item) => {
console.log("换组", item); console.log("换组", item);
}; };
</script> </script>
<style lang="scss">
.changeModal {
.ant-modal {
width: 549px !important;
height: 245px !important;
.ant-modal-close-x {
display: none;
}
.ant-modal-content {
width: 549px !important;
height: 245px !important;
.ant-modal-body {
padding: 0 !important;
width: 549px !important;
height: 245px !important;
.con {
// background-color: #bfa;
width: 100%;
height: 100%;
.header {
width: 100%;
display: flex;
height: 68px;
position: relative;
justify-content: center;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
.inhe {
width: 80%;
height: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.mod {
left: 30px;
top: 27px;
position: absolute;
width: 18px;
height: 17px;
background-image: url(../../assets/images/leveladd/mod.png);
}
.tz {
color: #000000;
font-weight: 400;
font-size: 16px;
}
.mg {
width: 20px;
height: 20px;
background-image: url(../../assets/images/basicinfo/close22.png);
background-size: 100% 100%;
cursor: pointer;
}
}
}
.mid {
width: 100%;
display: flex;
height: 100%;
justify-content: center;
.inher {
width: 80%;
height: 100%;
.cur {
color: #6f6f6f;
font-size: 14px;
}
.select {
margin-top: 10px;
}
.btn {
width: 100%;
display: flex;
justify-content: center;
margin-top: 30px;
.sameb {
width: 100px;
height: 40px;
font-size: 14px;
border-radius: 8px;
}
.btn1 {
color: #4ea6ff;
background: #ffffff;
border: 1px solid #4ea6ff;
}
.btn2 {
margin-left: 16px;
border: 0;
color: #ffffff;
background: #4ea6ff;
}
}
}
}
}
}
}
}
}
</style>

View File

@@ -161,10 +161,9 @@
<div class="btn4_tit" @click="showEScoreModal"> <div class="btn4_tit" @click="showEScoreModal">
<span>批量录入成绩</span> <span>批量录入成绩</span>
</div> </div>
<!--2023-1-12 隐藏 后面放开 --> <div class="btn4_op1" @click="updateStatus(1)">
<!-- <div class="btn4_op1" @click="updateStatus(1)">
<span>批量结业</span> <span>批量结业</span>
</div> --> </div>
<div class="btn4_op2" @click="updateStatus(0)"> <div class="btn4_op2" @click="updateStatus(0)">
<span>批量通过</span> <span>批量通过</span>
</div> </div>

View File

@@ -316,37 +316,110 @@
<template #bodyCell="{ record, column }"> <template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'"> <template v-if="column.key === 'operation'">
<a-space :size="0"> <a-space :size="0">
<a-button v-if="record.status===0 || record.status===-1 || !record.kkty" @click="() => handleEdit(record, String(record.courseform))" type="link">编辑</a-button> <a-button
<a-button block v-if="record.status===2" @click="() => handleStart(record, String(record.courseform))" type="link">开课</a-button> v-if="
<a-button v-if="record.status===2" @click="() => handleLook(record, String(record.courseform))" type="link">查看</a-button> record.status === 0 || record.status === -1 || !record.kkty
<a-button v-if="record.status===2" @click="() => handleGuan22(record, String(record.courseform))" type="link">管理</a-button> "
@click="() => handleEdit(record, String(record.courseform))"
type="link"
>编辑</a-button
>
<a-button
block
v-if="record.status === 2"
@click="() => handleStart(record, String(record.courseform))"
type="link"
>开课</a-button
>
<a-button
v-if="record.status === 2"
@click="() => handleLook(record, String(record.courseform))"
type="link"
>查看</a-button
>
<a-button
v-if="record.status === 2"
@click="() => handleGuan22(record, String(record.courseform))"
type="link"
>管理</a-button
>
<div className="tableSelect" style="margin-left: 0"> <div className="tableSelect" style="margin-left: 0">
<a-select value="授权" dropdownClassName="tabledropdown"> <a-select value="授权" dropdownClassName="tabledropdown">
<a-select-option value="权限名单" label="权限名单"> <a-select-option value="权限名单" label="权限名单">
<TableModelStudent :types="[10,11,12]" :id="record.offcourseId">权限名单</TableModelStudent> <TableModelStudent
:types="[10, 11, 12]"
:id="record.offcourseId"
>权限名单</TableModelStudent
>
</a-select-option> </a-select-option>
<a-select-option value="查看权" label="查看权"> <a-select-option value="查看权" label="查看权">
<CommonStudent :type="10" :id="record.offcourseId">查看权</CommonStudent> <CommonStudent :type="10" :id="record.offcourseId"
>查看权</CommonStudent
>
</a-select-option> </a-select-option>
<a-select-option value="管理权" label="管理权"> <a-select-option value="管理权" label="管理权">
<CommonStudent :type="11" :id="record.offcourseId">管理权</CommonStudent> <CommonStudent :type="11" :id="record.offcourseId"
>管理权</CommonStudent
>
</a-select-option> </a-select-option>
</a-select> </a-select>
</div> </div>
<div className="tableSelect"> <div className="tableSelect">
<a-select value="更多" dropdownClassName="tabledropdown"> <a-select value="更多" dropdownClassName="tabledropdown">
<a-select-option value="复制" label="复制"> <a-select-option value="复制" label="复制">
<a-button @click="() => handleCopy(record, String(record.courseform))" type="link">复制</a-button> <a-button
@click="
() => handleCopy(record, String(record.courseform))
"
type="link"
>复制</a-button
>
</a-select-option> </a-select-option>
<a-select-option v-if="record.status===1" value="撤回" label="撤回"> <a-select-option
<a-button @click="() => handleRejectExit(record, String(record.courseform))" type="link">撤回</a-button> v-if="record.status === 1"
value="撤回"
label="撤回"
>
<a-button
@click="
() =>
handleRejectExit(record, String(record.courseform))
"
type="link"
>撤回</a-button
>
</a-select-option> </a-select-option>
<a-select-option v-if="record.status===2" value="停用" label="停用"> <a-select-option
<a-button v-if="record.status===2 && record.kkty" @click="() => handleStop(record, String(record.courseform))" type="link">停用</a-button> v-if="record.status === 2"
<a-button v-if="record.status===2 && !record.kkty" @click="() => handleOpen(record, String(record.courseform))" type="link">启用</a-button> value="停用"
label="停用"
>
<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-select-option> </a-select-option>
<a-select-option value="删除" label="删除"> <a-select-option value="删除" label="删除">
<a-button @click="() => handleDelete(record, String(record.courseform))" type="link" danger>删除</a-button> <a-button
@click="
() => handleDelete(record, String(record.courseform))
"
type="link"
danger
>删除</a-button
>
</a-select-option> </a-select-option>
</a-select> </a-select>
</div> </div>
@@ -1122,9 +1195,42 @@
:isgetStudent="isgetStudent" :isgetStudent="isgetStudent"
> >
<template #extension="{ data: { record } }"> <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
<a-button v-if="record.source === 4 && record.status === 1" @click="() => {record.status = 2;auditStudent(record);}" type="link">拒绝</a-button> v-if="record.source === 4 && record.status === 1"
<a-button v-if="record.source === 4 && (record.status === 0 || record.status === 2)" @click="() => {record.status = 1;auditStudent(record);}" type="link">撤回</a-button> @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> </template>
</TableStudent> </TableStudent>
</div> </div>
@@ -1452,11 +1558,11 @@
</div> </div>
</div> </div>
<div class="qrm_btnbox"> <div class="qrm_btnbox">
<div class="qrm_btn btn1"> <div class="qrm_btn btn1" @click="graduate_exit">
<div class="btnText" @click="graduate_exit">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="qrm_btn btn2"> <div class="qrm_btn btn2" @click="handleJie">
<div class="btnText" @click="handleJie">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -1721,15 +1827,10 @@ import { useStore } from "vuex";
const columns1 = [ const columns1 = [
{ {
title: "课程编号", title: "课程编号",
width: 100, width: 130,
dataIndex: "num", dataIndex: "offcourseNumber",
key: "num", key: "offcourseNumber",
align: "center", align: "center",
customRender: ({ index, record }) => {
const pageNum =
Number(record.pageNo) - 1 > 0 ? (Number(record.pageNo) - 1) * 10 : 0;
return index + 1 + pageNum;
},
}, },
{ {
title: "名称", title: "名称",
@@ -1790,7 +1891,7 @@ const columns1 = [
{ {
title: "学习人数", title: "学习人数",
width: 130, width: 130,
dataIndex: "stunum", dataIndex: "studentCnt",
key: "4", key: "4",
align: "center", align: "center",
customRender: ({ text }) => { customRender: ({ text }) => {
@@ -2098,7 +2199,6 @@ const columns6 = [
return text ? text : "-"; return text ? text : "-";
}, },
}, },
// 新加学员数
{ {
title: "学员数", title: "学员数",
dataIndex: "studentCnt", dataIndex: "studentCnt",
@@ -2385,18 +2485,19 @@ export default defineComponent({
customRender: ({ record }) => { customRender: ({ record }) => {
return ( return (
<div class="racona"> <div class="racona">
{record.workScore ? ( {record.workScore === -2 ? (
"-"
) : record.workScore ? (
<span>{record.workScore}</span> <span>{record.workScore}</span>
) : ( ) : (
// <span <span
// style={{ color: "#4EA6FF", cursor: "pointer" }} style={{ color: "#4EA6FF", cursor: "pointer" }}
// onClick={() => { onClick={() => {
// handlJoinStu(record); handlJoinStu(record);
// }} }}
// > >
// 成绩录入 成绩录入
// </span> </span>
<span></span>
)} )}
</div> </div>
); );
@@ -2426,15 +2527,35 @@ export default defineComponent({
key: "8", key: "8",
align: "center", align: "center",
}, },
// 2023-1-12 隐藏 后面放开 {
// { title: "结业状态",
// title: "结业状态", width: "15%",
// width: "15%", dataIndex: "completionStatus",
// dataIndex: "completionStatus", key: "8",
// key: "8", align: "center",
// align: "center", customRender: ({ record }) => {
// customRender: ({ record }) => <div>{{1:'结业'}[record.completionStatus] || '-'}</div>, return (
// }, <div>
{record.finishStatus == 1 &&
record.workScore != -2 &&
record.signStatus == 1 ? (
<div
style={{ color: "#4EA6FF", cursor: "pointer" }}
onClick={() => {
handleOverStu(record);
}}
>
结业
</div>
) : record.completionStatus == 1 ? (
<div>已结业</div>
) : (
<div>-</div>
)}
</div>
);
},
},
], ],
shipType: 1, shipType: 1,
addLoading: false, addLoading: false,
@@ -2688,6 +2809,7 @@ export default defineComponent({
regisCom: false, regisCom: false,
comLeave: false, comLeave: false,
studentId: 0, studentId: 0,
homeWorkId: null,
studentItem: {}, studentItem: {},
addOnlineCoursevisible: false, //新建面授弹窗 addOnlineCoursevisible: false, //新建面授弹窗
@@ -3080,6 +3202,7 @@ export default defineComponent({
endTime: endTime, endTime: endTime,
beginTime: startTime, beginTime: startTime,
}); });
console.log("获取面授课列表", res);
const { rows, total, pageNo } = res.data.data; const { rows, total, pageNo } = res.data.data;
console.log(res.data.data); console.log(res.data.data);
state.tableDataTotal1 = total; state.tableDataTotal1 = total;
@@ -3191,7 +3314,7 @@ export default defineComponent({
state.scoreId = itm.id; state.scoreId = itm.id;
}; };
const handleOverStu = (itm) => { const handleOverStu = (itm) => {
console.log(itm); console.log("点击结业", itm);
state.studentId = itm.studentId; state.studentId = itm.studentId;
state.studentItem = itm; state.studentItem = itm;
@@ -3964,7 +4087,7 @@ export default defineComponent({
state.kk_eidt = true; state.kk_eidt = true;
}; };
const handelGuan = (itm) => { const handelGuan = (itm) => {
console.log(676766); console.log("开课信息", itm);
state.offcourseId = itm.offcourseId; state.offcourseId = itm.offcourseId;
state.offcoursePlanId = itm.offcoursePlanId; state.offcoursePlanId = itm.offcoursePlanId;
state.studentId = itm.studentId; state.studentId = itm.studentId;
@@ -3977,6 +4100,7 @@ export default defineComponent({
state.sm_hs = true; state.sm_hs = true;
// getTableDate2(); // getTableDate2();
state.homeWorkId = itm.homeWorkId;
}; };
const sm_exit = () => { const sm_exit = () => {
state.sm_hs = false; state.sm_hs = false;
@@ -4061,16 +4185,18 @@ export default defineComponent({
if (state.rg_hs) { if (state.rg_hs) {
if (state.piliang) { if (state.piliang) {
api1.updateStudent({ api1.updateStudent({
score: state.lrcj_inputV1, workScore: state.lrcj_inputV1,
id: state.scoreId, workId: state.homeWorkId,
studentId: state.studentId,
}); });
getTableDate2(); getTableDate2();
delete_exit1(); delete_exit1();
} else { } else {
api1 api1
.updateStudent({ .updateStudent({
score: state.lrcj_inputV1, workScore: state.lrcj_inputV1,
id: state.scoreId, workId: state.homeWorkId,
studentId: state.studentId,
}) })
.then((res) => { .then((res) => {
console.log("成绩录入", res); console.log("成绩录入", res);
@@ -4090,17 +4216,20 @@ export default defineComponent({
}; };
const handleJie = async () => { const handleJie = async () => {
if (state.graduate_hs) { if (state.graduate_hs) {
handleStudent({ // state.studentItem.id
offcoursePlanId: state.offcoursePlanId, // console.log("state.studentItem.id", state.studentItem.id);
score: "", api1
studentIds: [state.studentId], .batchUpdateStatus({
type: 2, completionStatus: 1,
}).then((res) => { ids: [state.studentItem?.id],
if (res.data.code === 200) { // status: 1,
getTableDate2(); })
delete_exit1(); .then((res) => {
} if (res.data.code === 200) {
}); getTableDate2();
delete_exit1();
}
});
} }
}; };
//确认复制 //确认复制
@@ -7459,24 +7588,24 @@ export default defineComponent({
margin-bottom: 20px; margin-bottom: 20px;
} }
.tableSelect { .tableSelect {
position: relative; position: relative;
.hoverList { .hoverList {
display: none; display: none;
} }
&:hover { &:hover {
.hoverList { .hoverList {
display: block; display: block;
position: absolute; position: absolute;
top: 20px; top: 20px;
left: -20px; left: -20px;
background: #fff; background: #fff;
box-sizing: border-box; box-sizing: border-box;
// padding: 20px; // padding: 20px;
color: #000000; color: #000000;
} }
} }
} }
// ::v-deep .w-e-toolbar { // ::v-deep .w-e-toolbar {
// .w-e-bar-item { // .w-e-bar-item {

View File

@@ -202,7 +202,7 @@
<!-- <img class="im" src="../../assets/px.jpg" /> <!-- <img class="im" src="../../assets/px.jpg" />
<img class="im" src="../../assets/px.jpg" /> <img class="im" src="../../assets/px.jpg" />
<img class="im" src="../../assets/px.jpg" /> --> <img class="im" src="../../assets/px.jpg" /> -->
<div <div
@click="chooseImg(item)" @click="chooseImg(item)"
v-for="(item, index) in imgData" v-for="(item, index) in imgData"
@@ -243,7 +243,7 @@
class="aeLoading" class="aeLoading"
:style="{ display: lpLoading ? 'flex' : 'none' }" :style="{ display: lpLoading ? 'flex' : 'none' }"
> >
<a-spin :spinning="lpLoading" tip=""/> <a-spin :spinning="lpLoading" tip="" />
</div> </div>
</div> </div>
</div> </div>
@@ -277,7 +277,7 @@
/> />
</div> </div>
<div class="inname">路径图名称</div> <div class="inname">路径图名称</div>
<div class="in road" > <div class="in road">
<!-- <a-input--> <!-- <a-input-->
<!-- v-model:value="pathName"--> <!-- v-model:value="pathName"-->
<!-- maxlength="20"--> <!-- maxlength="20"-->
@@ -331,7 +331,7 @@
<!-- <img class="im" src="../../assets/px.jpg" /> <!-- <img class="im" src="../../assets/px.jpg" />
<img class="im" src="../../assets/px.jpg" /> <img class="im" src="../../assets/px.jpg" />
<img class="im" src="../../assets/px.jpg" /> --> <img class="im" src="../../assets/px.jpg" /> -->
<div <div
@click="chooseImg2(item)" @click="chooseImg2(item)"
v-for="(item, index) in imgData" v-for="(item, index) in imgData"
@@ -698,15 +698,12 @@ import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import * as api from "../../api/index1"; import * as api from "../../api/index1";
import * as apiStu from "../../api/index"; import * as apiStu from "../../api/index";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { import { commonData } from "@/api/method";
commonData,
} from "@/api/method";
import { storage } from "@/api/storage"; import { storage } from "@/api/storage";
import { useStore } from "vuex"; import { useStore } from "vuex";
import OrgClass from "@/components/project/OrgClass"; import OrgClass from "@/components/project/OrgClass";
import NameInput from "@/components/project/NameInput"; import NameInput from "@/components/project/NameInput";
import {validateName} from "@/api/index1"; import { validateName } from "@/api/index1";
export default { export default {
name: "learningPath", name: "learningPath",
@@ -858,7 +855,7 @@ export default {
state.pathIntro = ""; state.pathIntro = "";
state.out = !state.out; state.out = !state.out;
setTimeout(() => { setTimeout(() => {
if(store.state.userInfo.departId && store.state.userInfo.departName){ if (store.state.userInfo.departId && store.state.userInfo.departName) {
state.organizationSelectName = store.state.userInfo.departName; state.organizationSelectName = store.state.userInfo.departName;
state.organizationSelectId = store.state.userInfo.departId; state.organizationSelectId = store.state.userInfo.departId;
} }
@@ -867,7 +864,7 @@ export default {
const handleOut1 = () => { const handleOut1 = () => {
state.pathName = ""; state.pathName = "";
state.pathBg = ""; state.pathBg = "";
state.pathBgId =1; state.pathBgId = 1;
state.organizationSelectName = null; state.organizationSelectName = null;
state.organizationSelectId = null; state.organizationSelectId = null;
state.pathIntro = ""; state.pathIntro = "";
@@ -905,13 +902,15 @@ export default {
console.log("err", err); console.log("err", err);
}); });
//获取学员列表 //获取学员列表
apiStu.projectStudentCount({ apiStu
.projectStudentCount({
pid: router.id, pid: router.id,
type:2 type: 2,
}).then((res) => {
state.routeStudentsNum = res.data.data;
state.pubLoading = false;
}) })
.then((res) => {
state.routeStudentsNum = res.data.data;
state.pubLoading = false;
});
}; };
//确定发布 //确定发布
const releaseLearnPath = () => { const releaseLearnPath = () => {
@@ -1248,21 +1247,31 @@ export default {
</div> </div>
{ {
<a-select <a-select
style="width: 50px;margin-top:2px;margin-left:25px" style="width: 50px;margin-top:2px;margin-left:25px"
value="授权" value="授权"
dropdownClassName="tabledropdown" dropdownClassName="tabledropdown"
> >
<a-select-option value="权限名单" label="权限名单"> <a-select-option value="权限名单" label="权限名单">
<OwnerTableModelStudent types={[7,8,9]} id={text.record.id} type={9}>权限名单</OwnerTableModelStudent> <OwnerTableModelStudent
types={[7, 8, 9]}
id={text.record.id}
type={9}
>
权限名单
</OwnerTableModelStudent>
</a-select-option> </a-select-option>
<a-select-option value="查看权" label="查看权"> <a-select-option value="查看权" label="查看权">
<CommonStudent type={7} id={text.record.id}>查看权</CommonStudent> <CommonStudent type={7} id={text.record.id}>
查看权
</CommonStudent>
</a-select-option> </a-select-option>
<a-select-option value="管理权" label="管理权"> <a-select-option value="管理权" label="管理权">
<CommonStudent type={8} id={text.record.id}>管理权</CommonStudent> <CommonStudent type={8} id={text.record.id}>
管理权
</CommonStudent>
</a-select-option> </a-select-option>
</a-select> </a-select>
} }
</div> </div>
<div class="tableSelect"> <div class="tableSelect">
{text.record.state === "草稿" ? ( {text.record.state === "草稿" ? (
@@ -1429,7 +1438,7 @@ export default {
state.organizationSelectId = e; state.organizationSelectId = e;
}; };
//创建学习路径图 //创建学习路径图
const createLearnPath = async() => { const createLearnPath = async () => {
if (!state.pathName) { if (!state.pathName) {
message.destroy(); message.destroy();
return message.warning("请输入路径图名称"); return message.warning("请输入路径图名称");
@@ -1447,11 +1456,11 @@ export default {
message.warning("路径图名称重复"); message.warning("路径图名称重复");
return; return;
} }
const offName = await validateName({ const offName = await validateName({
name: state.pathName, name: state.pathName,
type: 3, type: 3,
id:state.editPathId, id: state.editPathId,
}).then(res => { }).then((res) => {
return res.data.data == 1; return res.data.data == 1;
}); });
if (offName) { if (offName) {
@@ -1590,17 +1599,16 @@ export default {
arr.forEach((item) => { arr.forEach((item) => {
if (item.dictValue === state.pathBg) { if (item.dictValue === state.pathBg) {
state.pathBgId = item.dictCode; state.pathBgId = item.dictCode;
} }
}); });
//for (let i = 0; i < arr.length; i++) { //for (let i = 0; i < arr.length; i++) {
// console.log("arr[i].dictValue", arr[i].dictValue, state.pathBg); // console.log("arr[i].dictValue", arr[i].dictValue, state.pathBg);
// if (arr[i].dictValue === state.pathBg) { // if (arr[i].dictValue === state.pathBg) {
// state.pathBgId = arr[i].dictCode; // state.pathBgId = arr[i].dictCode;
// } // }
// } // }
} }
}) })
.catch((err) => { .catch((err) => {
@@ -1637,8 +1645,8 @@ export default {
const offName = await validateName({ const offName = await validateName({
name: state.pathName, name: state.pathName,
type: 3, type: 3,
id:state.editPathId, id: state.editPathId,
}).then(res => { }).then((res) => {
return res.data.data == 1; return res.data.data == 1;
}); });
if (offName) { if (offName) {
@@ -1720,7 +1728,7 @@ export default {
state.searchdate = null; state.searchdate = null;
state.startTime = null; state.startTime = null;
state.endTime = null; state.endTime = null;
state.createUser=null; state.createUser = null;
getLearnPath(); getLearnPath();
}; };
@@ -1778,7 +1786,7 @@ export default {
// state.imgData = ; // state.imgData = ;
// } // }
}); });
const imgData = computed(()=>store.state.pathmapPic) const imgData = computed(() => store.state.pathmapPic);
//添加权限 //添加权限
watch( watch(
() => state.addAuthList, () => state.addAuthList,

View File

@@ -1388,7 +1388,6 @@ export default {
const router = useRouter(); const router = useRouter();
// const store = useStore(); // const store = useStore();
const state = reactive({ const state = reactive({
pjModelVisible: false,
hasTask: false, hasTask: false,
stage: [], stage: [],
statess: [], statess: [],

View File

@@ -2836,7 +2836,6 @@ export default {
facestudent: "", facestudent: "",
modal1Visible: false, // 证书预览 modal1Visible: false, // 证书预览
changegroupV: false, //换组弹窗 changegroupV: false, //换组弹窗
}); });