feat:增加添加学员待测试

This commit is contained in:
lixg
2022-11-29 18:18:43 +08:00
parent 556ad2d54d
commit 07efe340f2
10 changed files with 478 additions and 350 deletions

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-21 14:32:52 * @Date: 2022-11-21 14:32:52
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-29 13:44:40 * @LastEditTime: 2022-11-29 17:09:48
* @FilePath: /fe-manage/src/api/config.js * @FilePath: /fe-manage/src/api/config.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
*/ */
@@ -55,7 +55,6 @@ http.interceptors.response.use(
if (code === 1000) { if (code === 1000) {
window.open("https://u-pre.boe.com/web/", '_self'); window.open("https://u-pre.boe.com/web/", '_self');
} }
// window.open("https://u-pre.boe.com/web/", '_self');
console.log("api %o", msg); console.log("api %o", msg);
} }
return response; return response;

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: 2022-11-29 09:52:49 * @LastEditTime: 2022-11-29 18:17:23
* @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
*/ */
@@ -76,6 +76,7 @@ export const addStudent = (obj) => http.post("/admin/router/addStudent", obj);
//删除学员 //删除学员
export const delStudent = (obj) => export const delStudent = (obj) =>
http.post("/admin/router/deleteStudent", obj); http.post("/admin/router/deleteStudent", obj);
// 获取学员路径图进度明细 // 获取学员路径图进度明细
export const stuProgress = (obj) => export const stuProgress = (obj) =>
http.post("/admin/router/studentProcess", obj); http.post("/admin/router/studentProcess", obj);
@@ -118,7 +119,10 @@ export const optionAuthPerm = (obj) => http.post('/admin/AuthPerm/optionAuthPerm
export const getUser = () => http.post('/admin/CheckUser/login', { withCredentials: true }) export const getUser = () => http.post('/admin/CheckUser/login', { withCredentials: true })
//公共信息--------------------------------------------------- //公共信息---------------------------------------------------
//添加项目学员
export const addStudentProject = (obj) => http.post('/admin/project/addStudent', obj)
//添加课程学员
export const addStudentCourse = (obj) => http.post("/admin/offcourse/addStudent", obj);
// 获取组织结构树 // 获取组织结构树
export const orgtree = () => http.get("/org/tree"); export const orgtree = () => http.get("/org/tree");

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-24 16:39:48 * @Date: 2022-11-24 16:39:48
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-28 09:54:17 * @LastEditTime: 2022-11-29 15:28:34
* @FilePath: /fe-manage/src/components/Modals/addOnlineCourse.vue * @FilePath: /fe-manage/src/components/Modals/addOnlineCourse.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
--> -->
@@ -20,7 +20,7 @@
<iframe <iframe
id="iframe" id="iframe"
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
:src="iframeUrl + 'course/manages'" :src="iframeUrl + '/course/manages'"
name="myframe" name="myframe"
sandbox="allow-forms allow-scripts allow-same-origin allow-popups" sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
></iframe> ></iframe>

View File

@@ -117,8 +117,8 @@
</div> </div>
</div> </div>
<div class="btnn"> <div class="btnn">
<button class="btn1">取消</button> <button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2">确定</button> <button class="btn2" @click="closeDrawer">确定</button>
</div> </div>
</div> </div>
</a-drawer> </a-drawer>
@@ -143,10 +143,10 @@
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText" @click="closeqdModal">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText" @click="closeqdModal">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -174,10 +174,10 @@
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText" @click="closesingleqdModal">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText" @click="closesingleqdModal">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -204,10 +204,10 @@
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText" @click="closesingleqtModal">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText" @click="closesingleqtModal">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -234,10 +234,10 @@
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText" @click="closesingleqjModal">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText" @click="closesingleqjModal">确定</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -11,7 +11,13 @@
<div class="header"> <div class="header">
<div class="headerTitle"> <div class="headerTitle">
{{ {{
authClassify === 1 ? "查看权" : authClassify === 2 ? "管理权" : "" authClassify === 1
? "查看权"
: authClassify === 2
? "管理权"
: authClassify === 3
? "添加学员"
: ""
}} }}
</div> </div>
<img <img
@@ -1109,7 +1115,7 @@ export default {
pageSize: state.pageSize2, pageSize: state.pageSize2,
}) })
.then((res) => { .then((res) => {
// console.log("获取学员", res.data); // console.log("获取受众", res);
if (res.data.code === 200) { if (res.data.code === 200) {
// console.log("获取学员", res.data); // console.log("获取学员", res.data);
state.tableDataTotal2 = res.data.data.total; state.tableDataTotal2 = res.data.data.total;

View File

@@ -100,8 +100,8 @@
</div> </div>
</div> </div>
<div class="btnn"> <div class="btnn">
<button class="btn1">取消</button> <button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2">确定</button> <button class="btn2" @click="closeDrawer">确定</button>
</div> </div>
</div> </div>
</a-drawer> </a-drawer>

View File

@@ -733,7 +733,7 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
corpowerlistvisible = true; showPrower(record);
} }
" "
> >
@@ -745,14 +745,34 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
ownpowervisible = true; showOwnPrower(record);
} }
" "
> >
归属权 归属权
</a-menu-item> </a-menu-item>
<a-menu-item>查看权</a-menu-item> <a-menu-item
<a-menu-item>管理权</a-menu-item> @click="
() => {
if (String(record.courseform) === '1') {
return;
}
showViewPrower(record);
}
"
>查看权</a-menu-item
>
<a-menu-item
@click="
() => {
if (String(record.courseform) === '1') {
return;
}
showManagePrower(record);
}
"
>管理权</a-menu-item
>
</a-menu> </a-menu>
</template> </template>
<a> <a>
@@ -811,7 +831,7 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
corpowerlistvisible = true; showPrower(record);
} }
" "
> >
@@ -823,14 +843,34 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
ownpowervisible = true; showOwnPrower(record);
} }
" "
> >
归属权 归属权
</a-menu-item> </a-menu-item>
<a-menu-item>查看权</a-menu-item> <a-menu-item
<a-menu-item>管理权</a-menu-item> @click="
() => {
if (String(record.courseform) === '1') {
return;
}
showViewPrower(record);
}
"
>查看权</a-menu-item
>
<a-menu-item
@click="
() => {
if (String(record.courseform) === '1') {
return;
}
showManagePrower(record);
}
"
>管理权</a-menu-item
>
</a-menu> </a-menu>
</template> </template>
<a> <a>
@@ -863,7 +903,14 @@
> >
开课 开课
</a> </a>
<a>查看</a> <a
@click="
() => {
handleEdit(record, String(record.courseform));
}
"
>查看</a
>
<a <a
@click=" @click="
() => { () => {
@@ -877,7 +924,7 @@
om_1 = true; om_1 = true;
ft_1 = true; ft_1 = true;
} }
handleGuan22(); handleGuan22(record);
} }
" "
> >
@@ -901,7 +948,7 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
corpowerlistvisible = true; showPrower(record);
} }
" "
> >
@@ -913,14 +960,34 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
ownpowervisible = true; showOwnPrower(record);
} }
" "
> >
归属权 归属权
</a-menu-item> </a-menu-item>
<a-menu-item>查看权</a-menu-item> <a-menu-item
<a-menu-item>管理权</a-menu-item> @click="
() => {
if (String(record.courseform) === '1') {
return;
}
showViewPrower(record);
}
"
>查看权</a-menu-item
>
<a-menu-item
@click="
() => {
if (String(record.courseform) === '1') {
return;
}
showManagePrower(record);
}
"
>管理权</a-menu-item
>
</a-menu> </a-menu>
</template> </template>
<a> <a>
@@ -986,7 +1053,7 @@
om_1 = true; om_1 = true;
ft_1 = true; ft_1 = true;
} }
handleGuan22(); handleGuan22(record);
} }
" "
> >
@@ -1010,7 +1077,7 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
corpowerlistvisible = true; showPrower(record);
} }
" "
> >
@@ -1022,14 +1089,34 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
ownpowervisible = true; showOwnPrower(record);
} }
" "
> >
归属权 归属权
</a-menu-item> </a-menu-item>
<a-menu-item>查看权</a-menu-item> <a-menu-item
<a-menu-item>管理权</a-menu-item> @click="
() => {
if (String(record.courseform) === '1') {
return;
}
showViewPrower(record);
}
"
>查看权</a-menu-item
>
<a-menu-item
@click="
() => {
if (String(record.courseform) === '1') {
return;
}
showManagePrower(record);
}
"
>管理权</a-menu-item
>
</a-menu> </a-menu>
</template> </template>
<a> <a>
@@ -1098,7 +1185,7 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
corpowerlistvisible = true; showPrower(record);
} }
" "
> >
@@ -1110,14 +1197,34 @@
if (String(record.courseform) === '1') { if (String(record.courseform) === '1') {
return; return;
} }
ownpowervisible = true; showOwnPrower(record);
} }
" "
> >
归属权 归属权
</a-menu-item> </a-menu-item>
<a-menu-item>查看权</a-menu-item> <a-menu-item
<a-menu-item>管理权</a-menu-item> @click="
() => {
if (String(record.courseform) === '1') {
return;
}
showViewPrower(record);
}
"
>查看权</a-menu-item
>
<a-menu-item
@click="
() => {
if (String(record.courseform) === '1') {
return;
}
showManagePrower(record);
}
"
>管理权</a-menu-item
>
</a-menu> </a-menu>
</template> </template>
<a> <a>
@@ -1187,9 +1294,7 @@
<div class="onlinemanage" :style="{ display: om_1 ? 'block' : 'none' }"> <div class="onlinemanage" :style="{ display: om_1 ? 'block' : 'none' }">
<div class="om_main"> <div class="om_main">
<div class="om_body"> <div class="om_body">
<div class="b_title"> <div class="b_title">课程:{{ newCourseName }}</div>
课程BMOT2021年职级晋升-安全管理(高级)
</div>
<div class="b_sub"> <div class="b_sub">
<div class="bs_type">类型:</div> <div class="bs_type">类型:</div>
<div class="bs_right">录播课</div> <div class="bs_right">录播课</div>
@@ -1606,7 +1711,7 @@
<div class="close_exit" @click="handleCancelStu"></div> <div class="close_exit" @click="handleCancelStu"></div>
</div> </div>
<div class="cstm_title"> <div class="cstm_title">
<span>面授名称:管理者的专属面授课</span> <span>面授名称:{{ newCourseName }}</span>
</div> </div>
<div class="cstm_items"> <div class="cstm_items">
<div class="signbox"> <div class="signbox">
@@ -2365,16 +2470,53 @@
</a-modal> </a-modal>
<!--删除 复制 停用弹窗 --> <!--删除 复制 停用弹窗 -->
<!-- 学员管理课程库-归属权抽屉 --> <!-- 学员管理课程库-归属权抽屉 -->
<own-power v-model:ownpowervisible="ownpowervisible" /> <!-- <own-power v-model:ownpowervisible="ownpowervisible" /> -->
<!-- 学员管理课程库-归属权抽屉 --> <!-- 学员管理课程库-归属权抽屉 -->
<!-- 添加授权侧弹窗 --> <!-- 添加授权侧弹窗 -->
<corpowerlist v-model:corpowerlistVisible="corpowerlistvisible" /> <!-- <corpowerlist v-model:corpowerlistVisible="corpowerlistvisible" /> -->
<!-- 添加授权侧弹窗 --> <!-- 添加授权侧弹窗 -->
<!-- 学员管理-添加学员抽屉 --> <!-- 学员管理-添加学员抽屉 -->
<StuAdd v-model:Stuvisible="Stuvisible" @sure="handlePostSure" /> <!-- <StuAdd v-model:Stuvisible="Stuvisible" @sure="handlePostSure" /> -->
<!-- 添加学员抽屉 -->
<proj-check-ship
v-model:ProjCheckvisible="Stuvisible"
:selectProjectId="offcourseId"
v-model:addAuthList="addStudentList"
:authClassify="authClassify"
classify="addstudent"
/>
<!-- 新建在线课弹窗 --> <!-- 新建在线课弹窗 -->
<addOnlineCourse v-model:addOnlineCoursevisible="addOnlineCoursevisible" /> <addOnlineCourse v-model:addOnlineCoursevisible="addOnlineCoursevisible" />
<!-- 新建在线课弹窗 --> <!-- 新建在线课弹窗 -->
<!-- 授权名单抽屉 -->
<proj-power-list
v-model:ProjPvisible="corpowerlistvisible"
:selectProjectId="selectCourseId"
classify="course"
/>
<!-- 归属权抽屉 -->
<proj-owner-ship
v-model:ProjOwnervisible="ownpowervisible"
:selectProjectId="selectCourseId"
classify="course"
/>
<!-- 查看权抽屉 -->
<proj-check-ship
v-model:ProjCheckvisible="viewpowervisible"
:selectProjectId="selectCourseId"
v-model:addAuthList="addAuthList"
:authClassify="authClassify"
classify="course"
/>
<!-- 管理权抽屉 -->
<proj-check-ship
v-model:ProjCheckvisible="viewpowervisible"
:selectProjectId="selectCourseId"
v-model:addAuthList="addAuthList"
:authClassify="authClassify"
classify="course"
/>
</div> </div>
</template> </template>
<script> <script>
@@ -2386,12 +2528,17 @@ import {
shallowRef, shallowRef,
onMounted, onMounted,
onBeforeUnmount, onBeforeUnmount,
watch,
} from "vue"; } from "vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import StuAdd from "../../components/drawers/StuAdd"; // import StuAdd from "../../components/drawers/StuAdd";
import OwnPower from "../../components/drawers/OwnPower.vue"; // import OwnPower from "../../components/drawers/OwnPower.vue";
import Corpowerlist from "../../components/drawers/CorPowerlist.vue"; // import Corpowerlist from "../../components/drawers/CorPowerlist.vue";
import addOnlineCourse from "../../components/Modals/addOnlineCourse.vue"; import addOnlineCourse from "../../components/Modals/addOnlineCourse.vue";
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
import ProjPowerList from "../../components/drawers/ProjPowerList";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import { import {
list, list,
edit, edit,
@@ -2879,11 +3026,15 @@ const columns7 = [
]; ];
export default defineComponent({ export default defineComponent({
components: { components: {
OwnPower, // OwnPower,
Corpowerlist, // Corpowerlist,
Editor, Editor,
Toolbar, Toolbar,
StuAdd, // StuAdd,
ProjOwnerShip,
ProjPowerList,
ProjCheckShip,
VNodes: (_, { attrs }) => { VNodes: (_, { attrs }) => {
return attrs.vnodes; return attrs.vnodes;
}, },
@@ -2913,86 +3064,6 @@ export default defineComponent({
// pubtime: "2022-07-20 9:30", // pubtime: "2022-07-20 9:30",
// kkty: false, // kkty: false,
// }, // },
// {
// key: "2",
// num: 2,
// name: "智能制造初级课程",
// content: "专业力",
// courseform: "线上",
// project: "-",
// stunum: "200",
// grade: "5",
// status: "待审核",
// ynpub: "未发布",
// creator: "管理员",
// createtime: "2022-07-20 9:30",
// pubtime: "2022-07-20 9:30",
// kkty: true,
// },
// {
// key: "3",
// num: 3,
// name: "产业必备技能",
// content: "专业力",
// courseform: "线上",
// project: "-",
// stunum: "200",
// grade: "5",
// status: "已审核",
// ynpub: "已发布",
// creator: "管理员",
// createtime: "2022-07-20 9:30",
// pubtime: "2022-07-20 9:30",
// kkty: true,
// },
// {
// key: "4",
// num: 4,
// name: "B11入模培训",
// content: "专业力",
// courseform: "线上",
// project: "-",
// stunum: "200",
// grade: "5",
// status: "审核未通过",
// ynpub: "未发布",
// creator: "管理员",
// createtime: "2022-07-20 9:30",
// pubtime: "2022-07-20 9:30",
// kkty: true,
// },
// {
// key: "5",
// num: 5,
// name: "入职培训",
// content: "通用力",
// courseform: "面授",
// project: "-",
// stunum: "5",
// grade: "5",
// status: "未提交",
// ynpub: "未发布",
// creator: "管理员",
// createtime: "2022-07-20 9:30",
// pubtime: "2022-07-20 9:30",
// kkty: true,
// },
// {
// key: "6",
// num: 6,
// name: "入职培训",
// content: "通用力",
// courseform: "面授",
// project: "-",
// stunum: "5",
// grade: "6",
// status: "已审核",
// ynpub: "已发布",
// creator: "管理员",
// createtime: "2022-07-20 9:30",
// pubtime: "2022-07-20 9:30",
// kkty: true,
// },
], ],
//在线面授管理报名管理 //在线面授管理报名管理
tableData2: [ tableData2: [
@@ -3004,14 +3075,6 @@ export default defineComponent({
// signtime: "-", // signtime: "-",
// status: "已通过", // status: "已通过",
// }, // },
// {
// key: 2,
// projectName: "",
// numb: "",
// applytime: "2022-07-20 14:00:00",
// signtime: "2022-09-26 13:30:30",
// status: "已完成",
// },
], ],
//在线面授管理学习记录 //在线面授管理学习记录
tableData3: [ tableData3: [
@@ -3035,102 +3098,22 @@ export default defineComponent({
], ],
//列表表格 //列表表格
tableData5: [ tableData5: [
{ // {
key: "1", // key: "1",
num: 1, // num: 1,
name: "时间管理", // name: "时间管理",
content: "领导力", // content: "领导力",
courseform: "线上", // courseform: "线上",
project: "管理者进阶-腾飞班1", // project: "管理者进阶-腾飞班1",
stunum: "50", // stunum: "50",
grade: "5", // grade: "5",
status: "未提交", // status: "未提交",
ynpub: "未发布", // ynpub: "未发布",
creator: "管理员", // creator: "管理员",
createtime: "2022-07-20 9:30", // createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30", // pubtime: "2022-07-20 9:30",
kkty: false, // kkty: false,
}, // },
{
key: "2",
num: 2,
name: "智能制造初级课程",
content: "专业力",
courseform: "线上",
project: "-",
stunum: "200",
grade: "5",
status: "待审核",
ynpub: "未发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
kkty: true,
},
{
key: "3",
num: 3,
name: "产业必备技能",
content: "专业力",
courseform: "线上",
project: "-",
stunum: "200",
grade: "5",
status: "已审核",
ynpub: "已发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
kkty: true,
},
{
key: "4",
num: 4,
name: "B11入模培训",
content: "专业力",
courseform: "线上",
project: "-",
stunum: "200",
grade: "5",
status: "审核未通过",
ynpub: "未发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
kkty: true,
},
{
key: "5",
num: 5,
name: "入职培训",
content: "通用力",
courseform: "面授",
project: "-",
stunum: "5",
grade: "5",
status: "未提交",
ynpub: "未发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
kkty: true,
},
{
key: "6",
num: 6,
name: "入职培训",
content: "通用力",
courseform: "面授",
project: "-",
stunum: "5",
grade: "6",
status: "已审核",
ynpub: "已发布",
creator: "管理员",
createtime: "2022-07-20 9:30",
pubtime: "2022-07-20 9:30",
kkty: true,
},
], ],
//开课 //开课
tableData6: [ tableData6: [
@@ -3142,38 +3125,6 @@ export default defineComponent({
// starttime: "2022-07-20 14:00:00", // starttime: "2022-07-20 14:00:00",
// createtime: "2022-07-14 14:00:00", // createtime: "2022-07-14 14:00:00",
// }, // },
// {
// key: 2,
// num: 2,
// organization: "管理者面授课2",
// address: "核心能力大楼培训",
// starttime: "2022-07-20 14:00:00",
// createtime: "2022-07-14 14:00:00",
// },
// {
// key: 3,
// num: 3,
// organization: "管理者面授课3",
// address: "核心能力大楼培训",
// starttime: "2022-07-20 14:00:00",
// createtime: "2022-07-14 14:00:00",
// },
// {
// key: 4,
// num: 4,
// organization: "管理者面授课4",
// address: "核心能力大楼培训",
// starttime: "2022-07-20 14:00:00",
// createtime: "2022-07-14 14:00:00",
// },
// {
// key: 5,
// num: 5,
// organization: "管理者面授课5",
// address: "核心能力大楼培训",
// starttime: "2022-07-20 14:00:00",
// createtime: "2022-07-14 14:00:00",
// },
], ],
//开课学员管理 //开课学员管理
tableData7: [ tableData7: [
@@ -3191,62 +3142,6 @@ export default defineComponent({
// evastatus: "-", // evastatus: "-",
// overstatus: "-", // overstatus: "-",
// }, // },
// {
// key: "2",
// num: 2,
// name: "李梦",
// number: "1001",
// department: "智慧医工",
// postion: "产品经理",
// band: "Band10",
// status: "已通过",
// join: "手动加入",
// signstatus: "已签到",
// evastatus: "已评估",
// overstatus: "-",
// },
// {
// key: "3",
// num: 3,
// name: "李梦",
// number: "1002",
// department: "业务支援",
// postion: "产品经理",
// band: "Band10",
// status: "已拒绝",
// join: "手动加入",
// signstatus: "-",
// evastatus: "-",
// overstatus: "-",
// },
// {
// key: "4",
// num: 4,
// name: "李梦",
// number: "1003",
// department: "业务支援",
// postion: "产品经理",
// band: "Band9",
// status: "已通过",
// join: "报名加入",
// signstatus: "已签到",
// evastatus: "-",
// overstatus: "90/已结业",
// },
// {
// key: "5",
// num: 5,
// name: "李梦",
// number: "1004",
// department: "业务支援",
// postion: "产品经理",
// band: "Band9",
// status: "已通过",
// join: "报名加入",
// signstatus: "请假",
// evastatus: "-",
// overstatus: "",
// },
], ],
currentPage1: 1, currentPage1: 1,
tableDataTotal1: 100, tableDataTotal1: 100,
@@ -3380,6 +3275,16 @@ export default defineComponent({
studentId: 0, studentId: 0,
studentItem: {}, studentItem: {},
addOnlineCoursevisible: false, //新建面授弹窗 addOnlineCoursevisible: false, //新建面授弹窗
selectCourseId: null, //授权选择的id
viewpowervisible: false, //查看权抽屉
authClassify: null, //1查看权 2管理权
addAuthList: null,
addStudentList: null, //选中列表
newCourseName: null, //新建开课名称
}); });
const showStuAdd = () => { const showStuAdd = () => {
@@ -3904,12 +3809,15 @@ export default defineComponent({
// 渲染开课操作 // 渲染开课操作
const getTableDate3 = async () => { const getTableDate3 = async () => {
// let datas = state.tableData6; // let datas = state.tableData6;
let res = await planList({ let obj = {
pageNo: state.currentPage222, pageNo: state.currentPage222,
pageSize: state.pageSize222, pageSize: state.pageSize222,
teacher: state.kk_inputV2, teacher: state.kk_inputV2,
offcourseId: state.offcourseId, offcourseId: state.offcourseId,
}); };
console.log("获取开课", obj);
let res = await planList(obj);
console.log("开课res", res);
const { rows, total } = res.data.data; const { rows, total } = res.data.data;
state.tableDataTotal222 = total; state.tableDataTotal222 = total;
const datas = traverseArr( const datas = traverseArr(
@@ -4233,6 +4141,7 @@ export default defineComponent({
state.studentItem = itm; state.studentItem = itm;
state.currentPlanItem = itm; state.currentPlanItem = itm;
state.newCourseName = itm.name;
console.log(89877766666); console.log(89877766666);
console.log(state.currentPlanItem); console.log(state.currentPlanItem);
@@ -4675,6 +4584,7 @@ export default defineComponent({
return; return;
} }
state.offcourseId = item.offcourseId; state.offcourseId = item.offcourseId;
state.newCourseName = item.name;
getTableDate3(); getTableDate3();
state.stm_hs = true; state.stm_hs = true;
@@ -4755,10 +4665,11 @@ export default defineComponent({
return false; return false;
}; };
const handleGuan22 = () => { const handleGuan22 = (item) => {
console.log(787666); console.log(787666);
getTableDate33(); getTableDate33();
getTableDate333(); getTableDate333();
state.newCourseName = item.name;
}; };
const handlePostSure = (obj) => { const handlePostSure = (obj) => {
@@ -4806,11 +4717,94 @@ export default defineComponent({
handle(obj).then((res) => { handle(obj).then((res) => {
console.log("提交审核成功", res.data); console.log("提交审核成功", res.data);
if (res.data.code === 200) { if (res.data.code === 200) {
ft_exit();
rest();
getTableDate(); getTableDate();
} }
}); });
}; };
//授权
//权限名单
const showPrower = (record) => {
// console.log("record", record);
state.corpowerlistvisible = true;
state.selectCourseId = record.offcourseId;
};
//归属权
const showOwnPrower = (record) => {
// console.log("record", record);
state.ownpowervisible = true;
state.selectCourseId = record.offcourseId;
};
//查看权
const showViewPrower = (record) => {
// console.log("record", record);
state.viewpowervisible = true;
state.selectCourseId = record.offcourseId;
state.authClassify = 1;
};
//管理权
const showManagePrower = (record) => {
// console.log("record", record);
state.viewpowervisible = true;
state.selectCourseId = record.offcourseId;
state.authClassify = 2;
};
//添加权限
watch(
() => state.addAuthList,
(res) => {
console.log("res", res, state.addAuthList);
let obj = {
type: 3,
tag:
state.authClassify === 1 ? 3 : state.authClassify === 2 ? 4 : null,
opt: 3,
deptList: res[1],
groupList: res[2],
refId: state.selectCourseId,
pageNo: 20,
pageSize: 1,
studentList: res[0],
};
console.log("obj", obj);
api1
.optionAuthPerm(obj)
.then((res) => {
console.log("添加授权成功", res);
message.success("添加授权成功");
})
.catch((err) => {
console.log("添加授权失败", err);
});
}
);
//添加学员
watch(
() => state.addStudentList,
(res) => {
console.log("res", res, state.addStudentList);
let obj = {
deptList: res[1],
groupList: res[2],
offcourseId: state.offcourseId,
offcoursePlanId: "",
studentList: res[0],
};
console.log("obj", obj);
api1
.addStudentCourse(obj)
.then((res) => {
console.log("添加学员成功", res);
message.success("添加学员成功");
})
.catch((err) => {
console.log("添加学员失败", err);
});
}
);
return { return {
...toRefs(state), ...toRefs(state),
getdateToDateFn, getdateToDateFn,
@@ -4912,6 +4906,11 @@ export default defineComponent({
handelChangePageTea2, handelChangePageTea2,
submitReview, submitReview,
reviewClick, reviewClick,
showPrower,
showOwnPrower,
showViewPrower,
showManagePrower,
}; };
}, },
}); });

View File

@@ -994,7 +994,15 @@
</div> </div>
</a-modal> </a-modal>
<!-- 添加学员抽屉 --> <!-- 添加学员抽屉 -->
<path-add-stu v-model:Stuvisible="Stuvisible" /> <!-- <path-add-stu v-model:Stuvisible="Stuvisible" /> -->
<!-- 添加学员抽屉 -->
<proj-check-ship
v-model:ProjCheckvisible="Stuvisible"
:selectProjectId="routerId"
v-model:addAuthList="addAuthList"
:authClassify="authClassify"
classify="addstudent"
/>
<!-- 导入学员抽屉 --> <!-- 导入学员抽屉 -->
<imp-stu v-model:AddImpStuvisible="AddImpStuvisible" /> <imp-stu v-model:AddImpStuvisible="AddImpStuvisible" />
<!-- 学员管理查看抽屉 --> <!-- 学员管理查看抽屉 -->
@@ -1191,10 +1199,11 @@
</div> </div>
</template> </template>
<script> <script>
import { ref, reactive, toRefs, onMounted, createVNode } from "vue"; import { ref, reactive, toRefs, onMounted, createVNode, watch } from "vue";
import { ExclamationCircleOutlined } from "@ant-design/icons-vue"; import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
import { message, Modal } from "ant-design-vue"; import { message, Modal } from "ant-design-vue";
import PathAddStu from "../../components/drawers/pathStuAdd"; // import PathAddStu from "../../components/drawers/pathStuAdd";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import ImpStu from "../../components/drawers/AddLevelImportStu"; import ImpStu from "../../components/drawers/AddLevelImportStu";
import CheckStu from "../../components/drawers/CheckStu"; import CheckStu from "../../components/drawers/CheckStu";
import FaceStu from "../../components/drawers/FaceStu"; import FaceStu from "../../components/drawers/FaceStu";
@@ -1216,7 +1225,8 @@ import { editRoutered } from "../../api/indexLearningPath";
export default { export default {
name: "LevelAdd", name: "LevelAdd",
components: { components: {
PathAddStu, // PathAddStu,
ProjCheckShip,
ImpStu, ImpStu,
CheckStu, CheckStu,
FaceStu, FaceStu,
@@ -1371,6 +1381,9 @@ export default {
// }, // },
], ],
tableData: [], tableData: [],
authClassify: 3,
addAuthList: [],
}); });
const levelList = reactive({ const levelList = reactive({
@@ -2055,6 +2068,30 @@ export default {
message.warning("删除失败"); message.warning("删除失败");
}); });
}; };
//添加学员
watch(
() => state.addAuthList,
(res) => {
console.log("res", res, state.addAuthList);
let obj = {
deptList: res[1],
groupList: res[2],
routerId: state.routerId,
studentList: res[0],
};
console.log("obj", obj);
api
.addStudent(obj)
.then((res) => {
console.log("添加学员成功", res);
message.success("添加学员成功");
})
.catch((err) => {
console.log("添加学员失败", err);
});
}
);
return { return {
...toRefs(state), ...toRefs(state),
...toRefs(levelList), ...toRefs(levelList),

View File

@@ -3169,7 +3169,9 @@ export default {
<span class="operation3"></span> <span class="operation3"></span>
)} )}
<div class="tableSelect"> <div class="tableSelect">
{value.record.status === 0 ? ( {value.record.status === 0 ||
value.record.status === 2 ||
value.record.status === -2 ? (
<a-select <a-select
style="width: 50px" style="width: 50px"
value="更多" value="更多"
@@ -3216,8 +3218,8 @@ export default {
</div> </div>
</a-select-option> </a-select-option>
</a-select> </a-select>
) : value.record.status === 1 || ) : value.record.status === 3 ||
(value.record.status == 1 && (value.record.status == 3 &&
Number(value.record.beginTime) > Number(value.record.beginTime) >
Math.ceil(new Date().getTime() / 1000)) ? ( Math.ceil(new Date().getTime() / 1000)) ? (
<a-select <a-select
@@ -3309,6 +3311,48 @@ export default {
删除 删除
</div> </div>
</a-select-option> </a-select-option>
<a-select-option value="基础信息" label="基础信息">
<div
onClick={() => {
router.push({
path: "/taskpage",
});
storage.set("projectId", value.record.projectId);
}}
>
基础信息
</div>
{/**
<router-link to="/taskpage">基础信息</router-link>
*/}
</a-select-option>
</a-select>
) : value.record.status === 1 ? (
<a-select
style="width: 50px"
value="更多"
// options={state.projectNameList}
dropdownClassName="tabledropdown"
>
<a-select-option value="存为模版" label="存为模版">
<div
onClick={() => {
showStartModal(value.record.projectId);
}}
>
存为模版
</div>
</a-select-option>
<a-select-option value="复制" label="复制">
<div
onClick={() => {
showCopyModal(value.record.projectId);
}}
>
复制
</div>
</a-select-option>
<a-select-option value="基础信息" label="基础信息"> <a-select-option value="基础信息" label="基础信息">
<div <div
onClick={() => { onClick={() => {

View File

@@ -1093,7 +1093,15 @@
<!-- 学员小组管理创建小组抽屉 --> <!-- 学员小组管理创建小组抽屉 -->
<subset-manage v-model:Svisible="subsetVisivle" /> <subset-manage v-model:Svisible="subsetVisivle" />
<!-- 学员管理-添加学员抽屉 --> <!-- 学员管理-添加学员抽屉 -->
<stu-add v-model:Stuvisible="Stuvisible" /> <!-- <stu-add v-model:Stuvisible="Stuvisible" /> -->
<!-- 添加学员抽屉 -->
<proj-check-ship
v-model:ProjCheckvisible="Stuvisible"
:selectProjectId="projectId"
v-model:addAuthList="addAuthList"
:authClassify="authClassify"
classify="addstudent"
/>
<!-- 学员管理-导入学员抽屉 --> <!-- 学员管理-导入学员抽屉 -->
<import-stu v-model:Importvisible="Importvisible" /> <import-stu v-model:Importvisible="Importvisible" />
<!-- 查看学员 传入查看学员的id--> <!-- 查看学员 传入查看学员的id-->
@@ -1637,7 +1645,7 @@
</div> </div>
</template> </template>
<script> <script>
import { reactive, toRefs, onMounted } from "vue"; import { reactive, toRefs, onMounted, watch } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
// import { CaretRightOutlined } from "@ant-design/icons-vue"; // import { CaretRightOutlined } from "@ant-design/icons-vue";
@@ -1649,7 +1657,8 @@ import ActiveAttendance from "../../components/drawers/ActiveAttendance";
import WorkManage from "../../components/drawers/WorkManage"; import WorkManage from "../../components/drawers/WorkManage";
import FaceStu from "../../components/drawers/FaceStu"; import FaceStu from "../../components/drawers/FaceStu";
import TestManage from "../../components/drawers/TestManage"; import TestManage from "../../components/drawers/TestManage";
import StuAdd from "../../components/drawers/StuAdd"; // import StuAdd from "../../components/drawers/StuAdd";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import ImportStu from "../../components/drawers/ImportStu"; import ImportStu from "../../components/drawers/ImportStu";
import SeeStu from "../../components/drawers/SeeStu"; import SeeStu from "../../components/drawers/SeeStu";
import ChangeGroup from "../../components/drawers/ChangeGroup"; import ChangeGroup from "../../components/drawers/ChangeGroup";
@@ -1687,7 +1696,8 @@ export default {
ActiveAttendance, ActiveAttendance,
WorkManage, WorkManage,
TestManage, TestManage,
StuAdd, // StuAdd,
ProjCheckShip,
ImportStu, ImportStu,
SeeStu, SeeStu,
ChangeGroup, ChangeGroup,
@@ -2309,6 +2319,9 @@ export default {
noticeFlag: null, //未改 noticeFlag: null, //未改
templateId: null, //未改 templateId: null, //未改
attach: null, attach: null,
authClassify: 3,
addAuthList: [],
}); });
const levelList = reactive({ const levelList = reactive({
@@ -3187,7 +3200,8 @@ export default {
topFlag: "", topFlag: "",
}; };
getProjStu(objf).then((res) => { getProjStu(objf).then((res) => {
console.log(res.data.data, "获取学员列表"); console.log(res.data, "获取学员列表");
if (res.data.code === 200) {
let leng = res.data.data.rows.length; let leng = res.data.data.rows.length;
state.total = res.data.data.total; state.total = res.data.data.total;
if (leng > 0) { if (leng > 0) {
@@ -3195,6 +3209,7 @@ export default {
getTableDataList(arr); getTableDataList(arr);
// studentData(); // studentData();
} }
}
}); });
}; };
//获取项目信息 //获取项目信息
@@ -3376,7 +3391,7 @@ export default {
}) })
.catch((err) => { .catch((err) => {
// state.addLoading = false; // state.addLoading = false;
message.error("概览获取失败"); // message.error("概览获取失败");
console.log("获取失败" + err); console.log("获取失败" + err);
}); });
}; };
@@ -3653,6 +3668,30 @@ export default {
message.warning("删除失败"); message.warning("删除失败");
}); });
}; };
//添加学员
watch(
() => state.addAuthList,
(res) => {
console.log("res", res, state.addAuthList);
let obj = {
deptList: res[1],
groupList: res[2],
projectId: state.projectId,
studentList: res[0],
};
console.log("obj", obj);
api
.addStudentProject(obj)
.then((res) => {
console.log("添加学员成功", res);
message.success("添加学员成功");
})
.catch((err) => {
console.log("添加学员失败", err);
});
}
);
onMounted(() => { onMounted(() => {
getStu(); getStu();
getTaskList(); getTaskList();