This commit is contained in:
kclf
2022-12-05 16:28:18 +08:00
7 changed files with 474 additions and 212 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-12-05 00:00:40 * @LastEditTime: 2022-12-05 16:10:06
* @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,10 +55,10 @@ http.interceptors.response.use(
if (code === 0 || code === 200) { if (code === 0 || code === 200) {
return response; return response;
} else { } else {
// 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("http://111.231.196.214:12013/manage/login", '_self'); // window.open("http://111.231.196.214:12013/manage/login", '_self');
// } }
console.log("api %o", msg); console.log("api %o", msg);
} }
return response; return response;

View File

@@ -1,3 +1,11 @@
/*
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-18 14:09:43
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-12-05 15:27:36
* @FilePath: /fe-manage/src/api/indexProjStu.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import http from "./config"; import http from "./config";
//获取项目学员列表 //获取项目学员列表
@@ -14,7 +22,8 @@ export const deleteGroup = (obj) => http.delete('/admin/project/deleteGroup', {
//新增或编辑小组 //新增或编辑小组
export const editGroup = (obj) => http.post('/admin/project/editGroup', obj) export const editGroup = (obj) => http.post('/admin/project/editGroup', obj)
//移除小组成员
export const removeGroupStudent = (obj) => http.post('/admin/project/removeGroupStudent', obj)
//查看学员 //查看学员
export const studentProcess = (obj) => http.get('/admin/project/studentProcess', { params: obj }) export const studentProcess = (obj) => http.get('/admin/project/studentProcess', { params: obj })

View File

@@ -62,7 +62,10 @@
<div class="notice_icon"></div> <div class="notice_icon"></div>
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px" <span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
>已选择 >已选择
<span style="color: #388be1">{{ selectedRowKeys.length }}</span> <span v-if="edit" style="color: #388be1">{{ 1 }}</span>
<span v-else style="color: #388be1">{{
selectedRowKeys.length
}}</span>
</span </span
> >
<span style="color: rgba(0, 0, 0, 0.65)" <span style="color: rgba(0, 0, 0, 0.65)"
@@ -75,49 +78,83 @@
</div> </div>
<div class="main_table"> <div class="main_table">
<!-- 编辑的表格 --> <!-- 编辑的表格 -->
<a-table <div v-if="edit">
v-if="edit" <div
class="ant-table-striped" v-if="choicecourse"
:row-class-name=" class="main_btns"
(_record, index) => (index % 2 === 1 ? 'table-striped' : null) style="justify-content: flex-start"
" >
:row-selection="{ <div
type:'radio', class="btn2"
selectedRowKeys: selectedRowKeys, style="
onChange: onSelectChange, display: flex;
}" justify-content: center;
:columns="tableDataFunc()" align-items: center;
:data-source="tableData" "
:loading="tableDataTotal === -1 ? true : false" @click="ChoiceCourse"
:pagination="false" >
/> 选择在线课
<a-table </div>
v-else </div>
class="ant-table-striped" <div v-else>
:row-class-name=" <a-table
(_record, index) => (index % 2 === 1 ? 'table-striped' : null) class="ant-table-striped"
" :row-class-name="
:row-selection="{ (_record, index) => (index % 2 === 1 ? 'table-striped' : null)
selectedRowKeys: selectedRowKeys, "
onChange: onSelectChange, :row-selection="{
}" type: 'radio',
:columns="tableDataFunc()" selectedRowKeys: selectedRowKeys,
:data-source="tableData" onChange: onSelectChange,
:loading="tableDataTotal === -1 ? true : false" }"
:pagination="false" :columns="tableDataFunc()"
/> :data-source="tableData"
<div class="pa"> :loading="tableDataTotal === -1 ? true : false"
<a-pagination :pagination="false"
v-if="tableDataTotal > 10" />
showSizeChanger="true" <div class="pa">
showQuickJumper="true" <a-pagination
hideOnSinglePage="true" v-if="tableDataTotal > 10"
:pageSize="pageSize" showSizeChanger="true"
:current="currentPage" showQuickJumper="true"
:total="tableDataTotal" hideOnSinglePage="true"
class="pagination" :pageSize="pageSize"
@change="handelChangePage" :current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="handelChangePage"
/>
</div>
</div>
</div>
<div v-else>
<a-table
class="ant-table-striped"
:row-class-name="
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:columns="tableDataFunc()"
:data-source="tableData"
:loading="tableDataTotal === -1 ? true : false"
:pagination="false"
/> />
<div class="pa">
<a-pagination
v-if="tableDataTotal > 10"
showSizeChanger="true"
showQuickJumper="true"
hideOnSinglePage="true"
:pageSize="pageSize"
:current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="handelChangePage"
/>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -134,7 +171,11 @@ import * as api from "../../api/indexOnline.js";
import * as apiTask from "../../api/indexTaskadd"; import * as apiTask from "../../api/indexTaskadd";
// import { setCookie } from "../../api/method" // import { setCookie } from "../../api/method"
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { RouterEditTask, IsExistence, IsExistenceProject } from "@/api/indexTask"; import {
RouterEditTask,
IsExistence,
IsExistenceProject,
} from "@/api/indexTask";
import { addTempTask } from "../../api/indexTaskadd"; import { addTempTask } from "../../api/indexTaskadd";
export default { export default {
name: "AddOnline", name: "AddOnline",
@@ -193,8 +234,8 @@ export default {
}, },
{ {
value: "录播课", value: "录播课",
label: "录播课" label: "录播课",
} },
], ],
time: undefined, time: undefined,
onlineClassesId: null, onlineClassesId: null,
@@ -202,12 +243,17 @@ export default {
selectV: "", selectV: "",
selectedRowKeys: [], selectedRowKeys: [],
tableData: [], tableData: [],
addOnlineList:[], addOnlineList: [],
currentPage: 1, currentPage: 1,
tableDataTotal: 0, tableDataTotal: 0,
pageSize: 10, pageSize: 10,
choicecourse: true,
}); });
const ChoiceCourse = () => {
state.choicecourse = false;
};
const closeDrawer = () => { const closeDrawer = () => {
state.choicecourse = true;
ctx.emit("update:addonlineVisible", false); ctx.emit("update:addonlineVisible", false);
ctx.emit("update:edit", false); ctx.emit("update:edit", false);
state.inputV1 = ""; state.inputV1 = "";
@@ -218,7 +264,7 @@ export default {
localStorage.setItem("chapterId", props.isactive); localStorage.setItem("chapterId", props.isactive);
}; };
const afterVisibleChange = (bol) => { const afterVisibleChange = (bol) => {
if(bol == true){ if (bol == true) {
getAllOnlineText(); getAllOnlineText();
} }
}; };
@@ -269,20 +315,21 @@ export default {
]; ];
return columns; return columns;
}; };
const onSelectChange = (selectedRowKeys,selectedRows) => { const onSelectChange = (selectedRowKeys, selectedRows) => {
state.selectedRowKeys = selectedRowKeys; state.selectedRowKeys = selectedRowKeys;
state.addOnlineList = selectedRows; state.addOnlineList = selectedRows;
console.log(selectedRowKeys,selectedRows) console.log(selectedRowKeys, selectedRows);
if( props.edit && selectedRows.length > 0 ){ if (props.edit && selectedRows.length > 0) {
selectedRows.map((value)=>{ selectedRows.map((value) => {
if(value.courseId == props.EditOnlineId){ console.log(props, value);
message.destroy() if (value.courseId == props.EditOnlineId) {
message.error('选项相同,请重新选择') message.destroy();
state.selectedRowKeys = [] message.error("选项相同请重新选择");
state.addOnlineList = [] state.selectedRowKeys = [];
} state.addOnlineList = [];
}) }
} });
}
}; };
//清空所选 //清空所选
const clearLine = () => { const clearLine = () => {
@@ -296,16 +343,16 @@ export default {
const getTableDate = (tableData) => { const getTableDate = (tableData) => {
let data = tableData; let data = tableData;
let array = []; let array = [];
data.map((value,index) => { data.map((value, index) => {
{ {
let obj = { let obj = {
key: index + 1, key: index + 1,
num:value.onlineClassesId, num: value.onlineClassesId,
name:value.name, name: value.name,
contenttype:value.contentType == 10 ? "微课" : "录播课", contenttype: value.contentType == 10 ? "微课" : "录播课",
teacher:value.teacher, teacher: value.teacher,
sysCreateBy:value.sysCreateBy, sysCreateBy: value.sysCreateBy,
overtime:"", overtime: "",
courseId: Number(value.onlineClassesId), courseId: Number(value.onlineClassesId),
}; };
array.push(obj); array.push(obj);
@@ -317,70 +364,74 @@ export default {
const getAllOnlineText = () => { const getAllOnlineText = () => {
api api
.queryOnlinelList({ .queryOnlinelList({
"createUser": "", createUser: "",
"keyword": state.inputV1, keyword: state.inputV1,
"orderAsc": true, orderAsc: true,
"orderField": "", orderField: "",
"pageIndex": state.currentPage, pageIndex: state.currentPage,
"pageSize": state.pageSize, pageSize: state.pageSize,
"publish": true, publish: true,
"status": 0, status: 0,
"sysType1": "", sysType1: "",
"sysType2": "", sysType2: "",
"sysType3": "", sysType3: "",
}) })
.then((res) => { .then((res) => {
let arr = res.data.data.list; let arr = res.data.data.list;
state.tableDataTotal = res.data.data.count state.tableDataTotal = res.data.data.count;
if (res.status === 200) { if (res.status === 200) {
console.log('获取在线课列表数据', res) console.log("获取在线课列表数据", res);
getTableDate(arr); getTableDate(arr);
} }
}) })
.catch((err) => { .catch((err) => {
console.log(err,'请求失败在线');}); console.log(err, "请求失败在线");
});
}; };
// 校验当前在线课是否已经添加进来了 // 校验当前在线课是否已经添加进来了
const isExistence = (id) => { const isExistence = (id) => {
console.log({ console.log({
"chapterId": Number(props.isactive), chapterId: Number(props.isactive),
"courseTaskId": Number(id), courseTaskId: Number(id),
"routerId": props.routerId, routerId: props.routerId,
"type": 1 type: 1,
}) });
IsExistence({ IsExistence({
"chapterId": Number(props.isactive), chapterId: Number(props.isactive),
"courseTaskId": Number(id), courseTaskId: Number(id),
"routerId": props.routerId, routerId: props.routerId,
"type": 1 type: 1,
}).then(res=>{
console.log('我是不是已经添加了',res)
}).catch(err=>{
console.log(err)
}) })
} .then((res) => {
console.log("我是不是已经添加了", res);
})
.catch((err) => {
console.log(err);
});
};
// 判断项目中是否添加当前在线课 // 判断项目中是否添加当前在线课
const IsExistenceProjects = () => { const IsExistenceProjects = (id) => {
console.log("参数传递", {
courseTaskId: id,
projectId: props.projectId,
stageId: props.chooseStageId || 0,
type: 1,
});
IsExistenceProject({ IsExistenceProject({
"courseTaskId": props.projectTaskId || 0, courseTaskId: id,
"projectId": props.projectId, projectId: Number(props.projectId),
"stageId": props.chooseStageId || 0, stageId: props.chooseStageId || 0,
"type": 1 type: 1,
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
}) })
} .then((res) => {
console.log("项目中是否包含此在线课了", res);
})
.catch((err) => {
console.log(err);
});
};
const updateTask = () => { const updateTask = () => {
if (props.isLevel == 1) {
if(props.isLevel == 1){
// isExistence(23) // isExistence(23)
// return // return
// let routerarr = [] // let routerarr = []
@@ -390,62 +441,130 @@ export default {
// }) // })
// console.log('当前是否已经添加了',routerarr) // console.log('当前是否已经添加了',routerarr)
} }
if (props.isLevel == 3) {
if(props.isLevel == 2){ console.log("我是要便利的数据3", state.addOnlineList);
console.log('我是要便利的数据2', state.addOnlineList)
} }
if(props.isLevel == 3){
console.log('我是要便利的数据3', state.addOnlineList)
}
if (props.isLevel == 1) { if (props.isLevel == 1) {
state.addOnlineList.map((value) => { console.log("我是要便利的数据2", state.addOnlineList);
console.log(value) let l_data = state.addOnlineList;
RouterEditTask({ let l_data_id = [];
l_data.map((item) => {
l_data_id.push(item["courseId"]);
});
console.log("需要查询的在线课ID", l_data_id);
IsExistence({
chapterId: Number(props.isactive), chapterId: Number(props.isactive),
courseId: value.num, courseTaskId: l_data_id,
name: value.name,
routerId: props.routerId, routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 1, type: 1,
}) })
.then(() => { .then((res) => {
message.destroy(); console.log("路径图中是否包含此在线课了", res);
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); if (res.data.data.length) {
ctx.emit("changeData", false); let strdata = res.data.data;
closeDrawer(); let tipStr = "";
state.addLoading = false; for (let i = 0; i < strdata.length; i++) {
if (i == strdata.length - 1) {
tipStr += strdata[i].courseName;
} else {
tipStr += strdata[i].courseName + "/";
}
}
message.destroy();
message.info("在线课" + tipStr + "重复添加");
return;
} else {
state.addOnlineList.map((value) => {
console.log(value);
RouterEditTask({
chapterId: Number(props.isactive),
courseId: value.num,
name: value.name,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 1,
})
.then(() => {
message.destroy();
message.success(
`${props.edit ? "编辑" : "新增"}关卡任务成功`
);
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch(() => {
message.destroy();
message.error(
`${props.edit ? "编辑" : "新增"}关卡任务失败`
);
});
});
}
}) })
.catch(() => { .catch((err) => {
message.destroy(); console.log(err);
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
}); });
})
} else if (props.isLevel === 2) { } else if (props.isLevel === 2) {
state.addOnlineList.map((value) => { console.log("我是要便利的数据2", state.addOnlineList);
apiTask let p_data = state.addOnlineList;
.addTask({ let p_data_id = [];
courseId: value.num, p_data.map((item) => {
name: value.name, p_data_id.push(item["courseId"]);
projectId: props.projectId, });
projectTaskId: props.projectTaskId || 0, console.log("需要查询的在线课ID", p_data_id);
stageId: props.chooseStageId || 0, IsExistenceProject({
type: 1, courseTaskId: p_data_id,
}) projectId: Number(props.projectId),
.then(() => { stageId: props.chooseStageId || 0,
message.destroy(); type: 1,
message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy();
message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
}) })
.then((res) => {
console.log("项目中是否包含此在线课了", res);
if (res.data.data.length) {
let strdata = res.data.data;
let tipStr = "";
for (let i = 0; i < strdata.length; i++) {
if (i == strdata.length - 1) {
tipStr += strdata[i].courseName;
} else {
tipStr += strdata[i].courseName + "/";
}
}
message.destroy();
message.info("在线课" + tipStr + "重复添加");
return;
} else {
state.addOnlineList.map((value) => {
apiTask
.addTask({
courseId: value.num,
name: value.name,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 1,
})
.then(() => {
message.destroy();
message.success(
`${props.edit ? "编辑" : "新增"}阶段任务成功`
);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy();
message.error(
`${props.edit ? "编辑" : "新增"}阶段任务失败`
);
});
});
}
})
.catch((err) => {
console.log(err);
});
} else if (props.isLevel == 3) { } else if (props.isLevel == 3) {
addTempTask({ addTempTask({
courseId: state.onlineClassesId, courseId: state.onlineClassesId,
@@ -466,21 +585,18 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`); message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`);
}); });
} }
//if(state.addOnlineList.Target==undefined){ //if(state.addOnlineList.Target==undefined){
// closeDrawer(); // closeDrawer();
//} //}
}; };
//搜索在线列表 //搜索在线列表
const searchList = ()=> { const searchList = () => {
if(state.inputV1 !== '' || state.selectV !== ''){ if (state.inputV1 !== "" || state.selectV !== "") {
getAllOnlineText() getAllOnlineText();
}else { } else {
resetOnline() resetOnline();
} }
} };
//重置在线信息 //重置在线信息
const resetOnline = () => { const resetOnline = () => {
state.inputV1 = ""; state.inputV1 = "";
@@ -490,11 +606,11 @@ export default {
state.currentPage = 1; state.currentPage = 1;
getAllOnlineText(); getAllOnlineText();
}; };
onMounted(()=>{ onMounted(() => {
// let cookie = // let cookie =
// "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a"; // "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a";
// setCookie("token", cookie, 10); // setCookie("token", cookie, 10);
}) });
return { return {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
@@ -509,7 +625,8 @@ export default {
searchList, searchList,
resetOnline, resetOnline,
isExistence, isExistence,
IsExistenceProjects IsExistenceProjects,
ChoiceCourse,
}; };
}, },
}; };
@@ -661,7 +778,6 @@ export default {
th.h { th.h {
background-color: #eff4fc !important; background-color: #eff4fc !important;
} }
.ant-table-tbody .ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td { > td {
@@ -677,7 +793,6 @@ export default {
} }
} }
} }
.main_btns { .main_btns {
height: 72px; height: 72px;
width: 100%; width: 100%;

View File

@@ -140,7 +140,7 @@
<div class="right" @click="closedeleone"></div> <div class="right" @click="closedeleone"></div>
</div> </div>
</div> </div>
<div class="main">请确认是否批量删除组员</div> <div class="main">请确认是否删除组员</div>
<div class="butn"> <div class="butn">
<button class="btn btn1" @click="closedeleone">取消</button> <button class="btn btn1" @click="closedeleone">取消</button>
<button class="btn btn2" @click="yesdele">确定</button> <button class="btn btn2" @click="yesdele">确定</button>
@@ -160,7 +160,7 @@
<script> <script>
import { toRefs, reactive } from "vue"; import { toRefs, reactive } from "vue";
// import StuAdd from "./StuAdd.vue"; // import StuAdd from "./StuAdd.vue";
import { getProjStu, deleteStu } from "../../api/indexProjStu"; import { getProjStu, removeGroupStudent } from "../../api/indexProjStu";
import { toDate } from "../../api/method"; import { toDate } from "../../api/method";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import AddGroupMembers from "./AddGroupMembers.vue"; import AddGroupMembers from "./AddGroupMembers.vue";
@@ -284,10 +284,13 @@ export default {
}; };
//点击确认批量删除弹窗 //点击确认批量删除弹窗
const sureDeModal = () => { const sureDeModal = () => {
deleteStu({ let obj = {
projectGroupId: props.chooseGroupId,
projectId: props.projectId, projectId: props.projectId,
studentIds: state.selectedRows, studentIds: state.selectedRows,
}) };
removeGroupStudent(obj)
.then((res) => { .then((res) => {
console.log(res, "删除成功"); console.log(res, "删除成功");
message.success("删除成功"); message.success("删除成功");
@@ -302,6 +305,8 @@ export default {
}; };
const closeModal = () => { const closeModal = () => {
state.showmodal = false; state.showmodal = false;
state.selectedRows = [];
state.selectedRowKeys = [];
}; };
const showStuAdd = () => { const showStuAdd = () => {
state.Stuvisible = true; state.Stuvisible = true;
@@ -434,20 +439,26 @@ export default {
// console.log(id, "fewfew"); // console.log(id, "fewfew");
console.log(`${id}`); console.log(`${id}`);
state.deone = true; state.deone = true;
state.selectedRows = [];
state.selectedRows.push(id); state.selectedRows.push(id);
// state.deleteClassify=1
}; };
//点击取消删除单个学员 //点击取消删除单个学员
const closedeleone = () => { const closedeleone = () => {
state.deone = false; state.deone = false;
state.selectedRows = []; state.selectedRows = [];
state.selectedRowKeys = [];
}; };
const yesdele = () => { const yesdele = () => {
state.deone = false; let obj = {
deleteStu({ projectGroupId: props.chooseGroupId,
projectId: props.projectId, projectId: props.projectId,
studentIds: state.selectedRows, studentIds: state.selectedRows,
}) };
console.log("删除小组学员obj", obj);
removeGroupStudent(obj)
.then((res) => { .then((res) => {
state.deone = false;
console.log(res, "单个删除成功"); console.log(res, "单个删除成功");
message.success("删除成功"); message.success("删除成功");
getStu(); getStu();
@@ -787,4 +798,111 @@ export default {
} }
} }
} }
.FacMa {
.ant-modal {
width: 424px;
height: 258px;
.ant-modal-content {
width: 424px;
height: 258px;
.ant-modal-body {
width: 424px;
height: 258px;
padding: 0px;
.head {
width: 424px;
height: 68px;
// position: absolute;
// left: 0;
// top: 0;
background: linear-gradient(
180deg,
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
justify-content: center;
.inhead {
width: 90%;
height: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.gan {
width: 16px;
height: 16px;
background-image: url(../../assets/images/taskpage/gan.png);
}
.tis {
margin-left: 5px;
width: 32px;
font-size: 16px;
font-weight: 600;
color: #333333;
}
}
.right {
width: 22px;
height: 22px;
background-image: url(../../assets/images/basicinfo/close.png);
background-size: 100% 100%;
cursor: pointer;
}
}
}
.main {
margin-top: 20px;
width: 100%;
display: flex;
justify-content: center;
font-size: 14px;
font-weight: 400;
color: #333333;
}
.butn {
width: 100%;
display: flex;
margin-top: 60px;
justify-content: center;
.btn {
width: 100px;
height: 40px;
border-radius: 4px;
cursor: pointer;
}
.btn1 {
color: #387df7;
background: #ffffff;
border: 1px solid #387df7;
}
.btn2 {
background: #409eff;
color: #fff;
border: 0;
margin-left: 10px;
}
}
}
}
}
}
</style> </style>

View File

@@ -161,7 +161,10 @@
</div> </div>
<div class="inname">归属组织</div> <div class="inname">归属组织</div>
<div class="select in"> <div class="select in">
<OrgClass v-model:value="organizationSelectId" v-model:name="organizationSelectName"></OrgClass> <OrgClass
v-model:value="organizationSelectId"
v-model:name="organizationSelectName"
></OrgClass>
</div> </div>
<!-- <div class="in"> <!-- <div class="in">
<a-input <a-input
@@ -276,7 +279,10 @@
</div> </div>
<div class="inname">归属组织</div> <div class="inname">归属组织</div>
<div class="select in"> <div class="select in">
<OrgClass v-model:value="organizationSelectId" v-model:name="organizationSelectName"></OrgClass> <OrgClass
v-model:value="organizationSelectId"
v-model:name="organizationSelectName"
></OrgClass>
</div> </div>
<!-- <div class="in"> <!-- <div class="in">
<a-input <a-input
@@ -376,7 +382,7 @@
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
<div class="projectname">产品经理上升路径</div> <div class="projectname">{{ releasePathName }}</div>
<!-- <div class="projecttime"> <!-- <div class="projecttime">
<span class="timeti">路径时间</span <span class="timeti">路径时间</span
><span class="timeme">2022/08/01-2022/08/30</span> ><span class="timeme">2022/08/01-2022/08/30</span>
@@ -784,6 +790,7 @@ export default {
endTime: null, //结束时间 endTime: null, //结束时间
//发布--------------- //发布---------------
releasePathId: null, //发布路径id releasePathId: null, //发布路径id
releasePathName: null, //发布路径的名称
routeStudentsNum: 0, //学员总数 routeStudentsNum: 0, //学员总数
routeChapters: 0, //关卡总数 routeChapters: 0, //关卡总数
routeTasks: 0, //任务总数 routeTasks: 0, //任务总数
@@ -842,11 +849,13 @@ export default {
state.pathBg = item.dictValue; state.pathBg = item.dictValue;
}; };
//发布弹窗 //发布弹窗
const showPub = (routerId) => { const showPub = (router) => {
console.log("router", router);
state.pub = true; state.pub = true;
state.releasePathId = routerId; state.releasePathId = router.id;
state.releasePathName = router.manager;
api api
.getLearnCount(routerId) .getLearnCount(router.id)
.then((res) => { .then((res) => {
if (res.status === 200) { if (res.status === 200) {
// console.log("获取关卡、任务、学员统计数据", res.data); // console.log("获取关卡、任务、学员统计数据", res.data);
@@ -1103,7 +1112,7 @@ export default {
class="jc" class="jc"
onClick={() => { onClick={() => {
// console.log("text.record.", text.record); // console.log("text.record.", text.record);
showPub(text.record.id); showPub(text.record);
}} }}
> >
发布 发布

View File

@@ -1095,7 +1095,7 @@
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
<div class="projectname">产品经理上升路径</div> <div class="projectname">{{ styTitle }}</div>
<!-- <div class="projecttime"> <!-- <div class="projecttime">
<span class="timeti">路径时间</span <span class="timeti">路径时间</span
><span class="timeme">2022/08/01-2022/08/30</span> ><span class="timeme">2022/08/01-2022/08/30</span>

View File

@@ -522,11 +522,9 @@
<div class="btn btn1" @click="showChangeModal"> <div class="btn btn1" @click="showChangeModal">
<div class="btnText">移动任务到关卡</div> <div class="btnText">移动任务到关卡</div>
</div> </div>
<div class="btn btn2"> <div class="btn btn2" @click="showDeleteALLModal(1)">
<div class="imgIcon"></div> <div class="imgIcon"></div>
<div class="btnText" @click="showDeleteALLModal(1)"> <div class="btnText">批量删除</div>
批量删除
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -904,7 +902,7 @@
<div class="header"> <div class="header">
<div class="icon"></div> <div class="icon"></div>
<span>提示</span> <span>提示</span>
<div class="close_exit" @click="delete_exit"></div> <div class="close_exit" @click="closedeleteAll"></div>
</div> </div>
<div class="body"> <div class="body">
<span <span
@@ -912,11 +910,11 @@
> >
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closedeleteAll">
<div class="btnText" @click="delete_exit">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="subdeleteAll">
<div class="btnText" @click="delete_exit">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -943,11 +941,11 @@
<span>您确定要删除此任务吗</span> <span>您确定要删除此任务吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn1"> <div class="del_btn btn1" @click="closeConfirm">
<div class="btnText" @click="closeConfirm">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="del_btn btn2" @click="deleteLevelTask">
<div class="btnText" @click="deleteLevelTask">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
@@ -1632,11 +1630,16 @@ export default {
state.gqxy_hs = !state.gqxy_hs; state.gqxy_hs = !state.gqxy_hs;
}; };
const showDeleteALLModal = (type) => { const showDeleteALLModal = (type) => {
if (state.selectRow.length === 0)
return message.warning("请选择要删除的任务");
state.deleteAll = true; state.deleteAll = true;
state.deleteType = type; state.deleteType = type;
}; };
const delete_exit = () => { const closedeleteAll = () => {
state.deleteAll = false; state.deleteAll = false;
state.deleteType = null;
};
const subdeleteAll = () => {
deletecTaskAll(); deletecTaskAll();
state.deleteType = null; state.deleteType = null;
}; };
@@ -1655,6 +1658,8 @@ export default {
.then((res) => { .then((res) => {
state.deleteModal = false; state.deleteModal = false;
message.success("删除成功"); message.success("删除成功");
state.selectRow = []; //选择行
state.selectAll = 0; //0未选择1全选2部分选择
getDetail(); getDetail();
console.log("删除成功", res); console.log("删除成功", res);
}) })
@@ -1736,7 +1741,10 @@ export default {
.deleteTask(obj) .deleteTask(obj)
.then((res) => { .then((res) => {
console.log(res); console.log(res);
state.deleteAll = false;
message.destroy(); message.destroy();
state.selectRow = []; //选择行
state.selectAll = 0; //0未选择1全选2部分选择
message.success("批量删除成功"); message.success("批量删除成功");
getDetail(); getDetail();
}) })
@@ -1887,7 +1895,7 @@ export default {
changebgc, changebgc,
gqxy_hShow, gqxy_hShow,
showDeleteALLModal, showDeleteALLModal,
delete_exit, // delete_exit,
closeConfirm, closeConfirm,
drawertableColumns, drawertableColumns,
editChapter, editChapter,
@@ -1929,6 +1937,9 @@ export default {
temporaryStorage, temporaryStorage,
submitStorage, submitStorage,
cancelStorage, cancelStorage,
closedeleteAll,
subdeleteAll,
}; };
}, },
}; };