mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
Merge branch 'develop' of http://gitlab.dongwu-inc.com:10080/BOE/fe-manage into develop
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* @Author: lixg lixg@dongwu-inc.com
|
||||
* @Date: 2022-11-21 14:32:52
|
||||
* @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
|
||||
* @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) {
|
||||
return response;
|
||||
} else {
|
||||
// if (code === 1000) {
|
||||
// window.open("https://u-pre.boe.com/web/", "_self");
|
||||
// // window.open("http://111.231.196.214:12013/manage/login", '_self');
|
||||
// }
|
||||
if (code === 1000) {
|
||||
// window.open("https://u-pre.boe.com/web/", '_self');
|
||||
// window.open("http://111.231.196.214:12013/manage/login", '_self');
|
||||
}
|
||||
console.log("api %o", msg);
|
||||
}
|
||||
return response;
|
||||
|
||||
@@ -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";
|
||||
|
||||
//获取项目学员列表
|
||||
@@ -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 removeGroupStudent = (obj) => http.post('/admin/project/removeGroupStudent', obj)
|
||||
//查看学员
|
||||
export const studentProcess = (obj) => http.get('/admin/project/studentProcess', { params: obj })
|
||||
|
||||
|
||||
@@ -62,7 +62,10 @@
|
||||
<div class="notice_icon"></div>
|
||||
<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 style="color: rgba(0, 0, 0, 0.65)"
|
||||
@@ -75,49 +78,83 @@
|
||||
</div>
|
||||
<div class="main_table">
|
||||
<!-- 编辑的表格 -->
|
||||
<a-table
|
||||
v-if="edit"
|
||||
class="ant-table-striped"
|
||||
:row-class-name="
|
||||
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
||||
"
|
||||
:row-selection="{
|
||||
type:'radio',
|
||||
selectedRowKeys: selectedRowKeys,
|
||||
onChange: onSelectChange,
|
||||
}"
|
||||
:columns="tableDataFunc()"
|
||||
:data-source="tableData"
|
||||
:loading="tableDataTotal === -1 ? true : false"
|
||||
:pagination="false"
|
||||
/>
|
||||
<a-table
|
||||
v-else
|
||||
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 v-if="edit">
|
||||
<div
|
||||
v-if="choicecourse"
|
||||
class="main_btns"
|
||||
style="justify-content: flex-start"
|
||||
>
|
||||
<div
|
||||
class="btn2"
|
||||
style="
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
"
|
||||
@click="ChoiceCourse"
|
||||
>
|
||||
选择在线课
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<a-table
|
||||
class="ant-table-striped"
|
||||
:row-class-name="
|
||||
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
|
||||
"
|
||||
:row-selection="{
|
||||
type: 'radio',
|
||||
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 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>
|
||||
@@ -134,7 +171,11 @@ import * as api from "../../api/indexOnline.js";
|
||||
import * as apiTask from "../../api/indexTaskadd";
|
||||
// import { setCookie } from "../../api/method"
|
||||
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";
|
||||
export default {
|
||||
name: "AddOnline",
|
||||
@@ -193,8 +234,8 @@ export default {
|
||||
},
|
||||
{
|
||||
value: "录播课",
|
||||
label: "录播课"
|
||||
}
|
||||
label: "录播课",
|
||||
},
|
||||
],
|
||||
time: undefined,
|
||||
onlineClassesId: null,
|
||||
@@ -202,12 +243,17 @@ export default {
|
||||
selectV: "",
|
||||
selectedRowKeys: [],
|
||||
tableData: [],
|
||||
addOnlineList:[],
|
||||
addOnlineList: [],
|
||||
currentPage: 1,
|
||||
tableDataTotal: 0,
|
||||
pageSize: 10,
|
||||
choicecourse: true,
|
||||
});
|
||||
const ChoiceCourse = () => {
|
||||
state.choicecourse = false;
|
||||
};
|
||||
const closeDrawer = () => {
|
||||
state.choicecourse = true;
|
||||
ctx.emit("update:addonlineVisible", false);
|
||||
ctx.emit("update:edit", false);
|
||||
state.inputV1 = "";
|
||||
@@ -218,7 +264,7 @@ export default {
|
||||
localStorage.setItem("chapterId", props.isactive);
|
||||
};
|
||||
const afterVisibleChange = (bol) => {
|
||||
if(bol == true){
|
||||
if (bol == true) {
|
||||
getAllOnlineText();
|
||||
}
|
||||
};
|
||||
@@ -269,20 +315,21 @@ export default {
|
||||
];
|
||||
return columns;
|
||||
};
|
||||
const onSelectChange = (selectedRowKeys,selectedRows) => {
|
||||
state.selectedRowKeys = selectedRowKeys;
|
||||
state.addOnlineList = selectedRows;
|
||||
console.log(selectedRowKeys,selectedRows)
|
||||
if( props.edit && selectedRows.length > 0 ){
|
||||
selectedRows.map((value)=>{
|
||||
if(value.courseId == props.EditOnlineId){
|
||||
message.destroy()
|
||||
message.error('选项相同,请重新选择')
|
||||
state.selectedRowKeys = []
|
||||
state.addOnlineList = []
|
||||
}
|
||||
})
|
||||
}
|
||||
const onSelectChange = (selectedRowKeys, selectedRows) => {
|
||||
state.selectedRowKeys = selectedRowKeys;
|
||||
state.addOnlineList = selectedRows;
|
||||
console.log(selectedRowKeys, selectedRows);
|
||||
if (props.edit && selectedRows.length > 0) {
|
||||
selectedRows.map((value) => {
|
||||
console.log(props, value);
|
||||
if (value.courseId == props.EditOnlineId) {
|
||||
message.destroy();
|
||||
message.error("选项相同,请重新选择");
|
||||
state.selectedRowKeys = [];
|
||||
state.addOnlineList = [];
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
//清空所选
|
||||
const clearLine = () => {
|
||||
@@ -296,16 +343,16 @@ export default {
|
||||
const getTableDate = (tableData) => {
|
||||
let data = tableData;
|
||||
let array = [];
|
||||
data.map((value,index) => {
|
||||
data.map((value, index) => {
|
||||
{
|
||||
let obj = {
|
||||
key: index + 1,
|
||||
num:value.onlineClassesId,
|
||||
name:value.name,
|
||||
contenttype:value.contentType == 10 ? "微课" : "录播课",
|
||||
teacher:value.teacher,
|
||||
sysCreateBy:value.sysCreateBy,
|
||||
overtime:"",
|
||||
num: value.onlineClassesId,
|
||||
name: value.name,
|
||||
contenttype: value.contentType == 10 ? "微课" : "录播课",
|
||||
teacher: value.teacher,
|
||||
sysCreateBy: value.sysCreateBy,
|
||||
overtime: "",
|
||||
courseId: Number(value.onlineClassesId),
|
||||
};
|
||||
array.push(obj);
|
||||
@@ -317,70 +364,74 @@ export default {
|
||||
const getAllOnlineText = () => {
|
||||
api
|
||||
.queryOnlinelList({
|
||||
"createUser": "",
|
||||
"keyword": state.inputV1,
|
||||
"orderAsc": true,
|
||||
"orderField": "",
|
||||
"pageIndex": state.currentPage,
|
||||
"pageSize": state.pageSize,
|
||||
"publish": true,
|
||||
"status": 0,
|
||||
"sysType1": "",
|
||||
"sysType2": "",
|
||||
"sysType3": "",
|
||||
createUser: "",
|
||||
keyword: state.inputV1,
|
||||
orderAsc: true,
|
||||
orderField: "",
|
||||
pageIndex: state.currentPage,
|
||||
pageSize: state.pageSize,
|
||||
publish: true,
|
||||
status: 0,
|
||||
sysType1: "",
|
||||
sysType2: "",
|
||||
sysType3: "",
|
||||
})
|
||||
.then((res) => {
|
||||
let arr = res.data.data.list;
|
||||
state.tableDataTotal = res.data.data.count
|
||||
state.tableDataTotal = res.data.data.count;
|
||||
if (res.status === 200) {
|
||||
console.log('获取在线课列表数据', res)
|
||||
console.log("获取在线课列表数据", res);
|
||||
getTableDate(arr);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err,'请求失败在线');});
|
||||
console.log(err, "请求失败在线");
|
||||
});
|
||||
};
|
||||
|
||||
// 校验当前在线课是否已经添加进来了
|
||||
const isExistence = (id) => {
|
||||
|
||||
console.log({
|
||||
"chapterId": Number(props.isactive),
|
||||
"courseTaskId": Number(id),
|
||||
"routerId": props.routerId,
|
||||
"type": 1
|
||||
})
|
||||
|
||||
chapterId: Number(props.isactive),
|
||||
courseTaskId: Number(id),
|
||||
routerId: props.routerId,
|
||||
type: 1,
|
||||
});
|
||||
IsExistence({
|
||||
"chapterId": Number(props.isactive),
|
||||
"courseTaskId": Number(id),
|
||||
"routerId": props.routerId,
|
||||
"type": 1
|
||||
}).then(res=>{
|
||||
console.log('我是不是已经添加了',res)
|
||||
}).catch(err=>{
|
||||
console.log(err)
|
||||
chapterId: Number(props.isactive),
|
||||
courseTaskId: Number(id),
|
||||
routerId: props.routerId,
|
||||
type: 1,
|
||||
})
|
||||
}
|
||||
|
||||
.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({
|
||||
"courseTaskId": props.projectTaskId || 0,
|
||||
"projectId": props.projectId,
|
||||
"stageId": props.chooseStageId || 0,
|
||||
"type": 1
|
||||
}).then(res=>{
|
||||
console.log(res)
|
||||
}).catch(err=>{
|
||||
console.log(err)
|
||||
courseTaskId: id,
|
||||
projectId: Number(props.projectId),
|
||||
stageId: props.chooseStageId || 0,
|
||||
type: 1,
|
||||
})
|
||||
}
|
||||
|
||||
.then((res) => {
|
||||
console.log("项目中是否包含此在线课了", res);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
};
|
||||
const updateTask = () => {
|
||||
|
||||
|
||||
if(props.isLevel == 1){
|
||||
if (props.isLevel == 1) {
|
||||
// isExistence(23)
|
||||
// return
|
||||
// let routerarr = []
|
||||
@@ -390,62 +441,130 @@ export default {
|
||||
// })
|
||||
// console.log('当前是否已经添加了',routerarr)
|
||||
}
|
||||
|
||||
if(props.isLevel == 2){
|
||||
console.log('我是要便利的数据2', state.addOnlineList)
|
||||
|
||||
if (props.isLevel == 3) {
|
||||
console.log("我是要便利的数据3", state.addOnlineList);
|
||||
}
|
||||
|
||||
if(props.isLevel == 3){
|
||||
console.log('我是要便利的数据3', state.addOnlineList)
|
||||
|
||||
}
|
||||
|
||||
if (props.isLevel == 1) {
|
||||
state.addOnlineList.map((value) => {
|
||||
console.log(value)
|
||||
RouterEditTask({
|
||||
console.log("我是要便利的数据2", state.addOnlineList);
|
||||
let l_data = state.addOnlineList;
|
||||
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),
|
||||
courseId: value.num,
|
||||
name: value.name,
|
||||
courseTaskId: l_data_id,
|
||||
routerId: props.routerId,
|
||||
routerTaskId: props.routerTaskId || 0,
|
||||
type: 1,
|
||||
})
|
||||
.then(() => {
|
||||
message.destroy();
|
||||
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
|
||||
ctx.emit("changeData", false);
|
||||
closeDrawer();
|
||||
state.addLoading = false;
|
||||
.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) => {
|
||||
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(() => {
|
||||
message.destroy();
|
||||
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
})
|
||||
} else if (props.isLevel === 2) {
|
||||
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 ? "编辑" : "新增"}阶段任务失败`);
|
||||
});
|
||||
console.log("我是要便利的数据2", state.addOnlineList);
|
||||
let p_data = state.addOnlineList;
|
||||
let p_data_id = [];
|
||||
p_data.map((item) => {
|
||||
p_data_id.push(item["courseId"]);
|
||||
});
|
||||
console.log("需要查询的在线课ID", p_data_id);
|
||||
IsExistenceProject({
|
||||
courseTaskId: p_data_id,
|
||||
projectId: Number(props.projectId),
|
||||
stageId: props.chooseStageId || 0,
|
||||
type: 1,
|
||||
})
|
||||
.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) {
|
||||
addTempTask({
|
||||
courseId: state.onlineClassesId,
|
||||
@@ -466,21 +585,18 @@ export default {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//if(state.addOnlineList.Target==undefined){
|
||||
// closeDrawer();
|
||||
// closeDrawer();
|
||||
//}
|
||||
|
||||
};
|
||||
//搜索在线列表
|
||||
const searchList = ()=> {
|
||||
if(state.inputV1 !== '' || state.selectV !== ''){
|
||||
getAllOnlineText()
|
||||
}else {
|
||||
resetOnline()
|
||||
const searchList = () => {
|
||||
if (state.inputV1 !== "" || state.selectV !== "") {
|
||||
getAllOnlineText();
|
||||
} else {
|
||||
resetOnline();
|
||||
}
|
||||
}
|
||||
};
|
||||
//重置在线信息
|
||||
const resetOnline = () => {
|
||||
state.inputV1 = "";
|
||||
@@ -490,11 +606,11 @@ export default {
|
||||
state.currentPage = 1;
|
||||
getAllOnlineText();
|
||||
};
|
||||
onMounted(()=>{
|
||||
onMounted(() => {
|
||||
// let cookie =
|
||||
// "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a";
|
||||
// setCookie("token", cookie, 10);
|
||||
})
|
||||
});
|
||||
return {
|
||||
...toRefs(state),
|
||||
afterVisibleChange,
|
||||
@@ -509,7 +625,8 @@ export default {
|
||||
searchList,
|
||||
resetOnline,
|
||||
isExistence,
|
||||
IsExistenceProjects
|
||||
IsExistenceProjects,
|
||||
ChoiceCourse,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -661,7 +778,6 @@ export default {
|
||||
th.h {
|
||||
background-color: #eff4fc !important;
|
||||
}
|
||||
|
||||
.ant-table-tbody
|
||||
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
|
||||
> td {
|
||||
@@ -677,7 +793,6 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main_btns {
|
||||
height: 72px;
|
||||
width: 100%;
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
<div class="right" @click="closedeleone"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">请确认是否批量删除组员</div>
|
||||
<div class="main">请确认是否删除组员</div>
|
||||
<div class="butn">
|
||||
<button class="btn btn1" @click="closedeleone">取消</button>
|
||||
<button class="btn btn2" @click="yesdele">确定</button>
|
||||
@@ -160,7 +160,7 @@
|
||||
<script>
|
||||
import { toRefs, reactive } from "vue";
|
||||
// import StuAdd from "./StuAdd.vue";
|
||||
import { getProjStu, deleteStu } from "../../api/indexProjStu";
|
||||
import { getProjStu, removeGroupStudent } from "../../api/indexProjStu";
|
||||
import { toDate } from "../../api/method";
|
||||
import { message } from "ant-design-vue";
|
||||
import AddGroupMembers from "./AddGroupMembers.vue";
|
||||
@@ -284,10 +284,13 @@ export default {
|
||||
};
|
||||
//点击确认批量删除弹窗
|
||||
const sureDeModal = () => {
|
||||
deleteStu({
|
||||
let obj = {
|
||||
projectGroupId: props.chooseGroupId,
|
||||
projectId: props.projectId,
|
||||
studentIds: state.selectedRows,
|
||||
})
|
||||
};
|
||||
|
||||
removeGroupStudent(obj)
|
||||
.then((res) => {
|
||||
console.log(res, "删除成功");
|
||||
message.success("删除成功");
|
||||
@@ -302,6 +305,8 @@ export default {
|
||||
};
|
||||
const closeModal = () => {
|
||||
state.showmodal = false;
|
||||
state.selectedRows = [];
|
||||
state.selectedRowKeys = [];
|
||||
};
|
||||
const showStuAdd = () => {
|
||||
state.Stuvisible = true;
|
||||
@@ -434,20 +439,26 @@ export default {
|
||||
// console.log(id, "fewfew");
|
||||
console.log(`${id}`);
|
||||
state.deone = true;
|
||||
state.selectedRows = [];
|
||||
state.selectedRows.push(id);
|
||||
// state.deleteClassify=1
|
||||
};
|
||||
//点击取消删除单个学员
|
||||
const closedeleone = () => {
|
||||
state.deone = false;
|
||||
state.selectedRows = [];
|
||||
state.selectedRowKeys = [];
|
||||
};
|
||||
const yesdele = () => {
|
||||
state.deone = false;
|
||||
deleteStu({
|
||||
let obj = {
|
||||
projectGroupId: props.chooseGroupId,
|
||||
projectId: props.projectId,
|
||||
studentIds: state.selectedRows,
|
||||
})
|
||||
};
|
||||
console.log("删除小组学员obj", obj);
|
||||
removeGroupStudent(obj)
|
||||
.then((res) => {
|
||||
state.deone = false;
|
||||
console.log(res, "单个删除成功");
|
||||
message.success("删除成功");
|
||||
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>
|
||||
|
||||
@@ -161,7 +161,10 @@
|
||||
</div>
|
||||
<div class="inname">归属组织</div>
|
||||
<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 class="in">
|
||||
<a-input
|
||||
@@ -276,7 +279,10 @@
|
||||
</div>
|
||||
<div class="inname">归属组织</div>
|
||||
<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 class="in">
|
||||
<a-input
|
||||
@@ -376,7 +382,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
<div class="projectname">产品经理上升路径</div>
|
||||
<div class="projectname">{{ releasePathName }}</div>
|
||||
<!-- <div class="projecttime">
|
||||
<span class="timeti">路径时间:</span
|
||||
><span class="timeme">2022/08/01-2022/08/30</span>
|
||||
@@ -784,6 +790,7 @@ export default {
|
||||
endTime: null, //结束时间
|
||||
//发布---------------
|
||||
releasePathId: null, //发布路径id
|
||||
releasePathName: null, //发布路径的名称
|
||||
routeStudentsNum: 0, //学员总数
|
||||
routeChapters: 0, //关卡总数
|
||||
routeTasks: 0, //任务总数
|
||||
@@ -842,11 +849,13 @@ export default {
|
||||
state.pathBg = item.dictValue;
|
||||
};
|
||||
//发布弹窗
|
||||
const showPub = (routerId) => {
|
||||
const showPub = (router) => {
|
||||
console.log("router", router);
|
||||
state.pub = true;
|
||||
state.releasePathId = routerId;
|
||||
state.releasePathId = router.id;
|
||||
state.releasePathName = router.manager;
|
||||
api
|
||||
.getLearnCount(routerId)
|
||||
.getLearnCount(router.id)
|
||||
.then((res) => {
|
||||
if (res.status === 200) {
|
||||
// console.log("获取关卡、任务、学员统计数据", res.data);
|
||||
@@ -1103,7 +1112,7 @@ export default {
|
||||
class="jc"
|
||||
onClick={() => {
|
||||
// console.log("text.record.", text.record);
|
||||
showPub(text.record.id);
|
||||
showPub(text.record);
|
||||
}}
|
||||
>
|
||||
发布
|
||||
|
||||
@@ -1095,7 +1095,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modalMain">
|
||||
<div class="projectname">产品经理上升路径</div>
|
||||
<div class="projectname">{{ styTitle }}</div>
|
||||
<!-- <div class="projecttime">
|
||||
<span class="timeti">路径时间:</span
|
||||
><span class="timeme">2022/08/01-2022/08/30</span>
|
||||
|
||||
@@ -522,11 +522,9 @@
|
||||
<div class="btn btn1" @click="showChangeModal">
|
||||
<div class="btnText">移动任务到关卡</div>
|
||||
</div>
|
||||
<div class="btn btn2">
|
||||
<div class="btn btn2" @click="showDeleteALLModal(1)">
|
||||
<div class="imgIcon"></div>
|
||||
<div class="btnText" @click="showDeleteALLModal(1)">
|
||||
批量删除
|
||||
</div>
|
||||
<div class="btnText">批量删除</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -904,7 +902,7 @@
|
||||
<div class="header">
|
||||
<div class="icon"></div>
|
||||
<span>提示</span>
|
||||
<div class="close_exit" @click="delete_exit"></div>
|
||||
<div class="close_exit" @click="closedeleteAll"></div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<span
|
||||
@@ -912,11 +910,11 @@
|
||||
>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="delete_exit">取消</div>
|
||||
<div class="del_btn btn1" @click="closedeleteAll">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="delete_exit">确定</div>
|
||||
<div class="del_btn btn2" @click="subdeleteAll">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -943,11 +941,11 @@
|
||||
<span>您确定要删除此任务吗</span>
|
||||
</div>
|
||||
<div class="del_btnbox">
|
||||
<div class="del_btn btn1">
|
||||
<div class="btnText" @click="closeConfirm">取消</div>
|
||||
<div class="del_btn btn1" @click="closeConfirm">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<div class="del_btn btn2">
|
||||
<div class="btnText" @click="deleteLevelTask">确定</div>
|
||||
<div class="del_btn btn2" @click="deleteLevelTask">
|
||||
<div class="btnText">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1632,11 +1630,16 @@ export default {
|
||||
state.gqxy_hs = !state.gqxy_hs;
|
||||
};
|
||||
const showDeleteALLModal = (type) => {
|
||||
if (state.selectRow.length === 0)
|
||||
return message.warning("请选择要删除的任务");
|
||||
state.deleteAll = true;
|
||||
state.deleteType = type;
|
||||
};
|
||||
const delete_exit = () => {
|
||||
const closedeleteAll = () => {
|
||||
state.deleteAll = false;
|
||||
state.deleteType = null;
|
||||
};
|
||||
const subdeleteAll = () => {
|
||||
deletecTaskAll();
|
||||
state.deleteType = null;
|
||||
};
|
||||
@@ -1655,6 +1658,8 @@ export default {
|
||||
.then((res) => {
|
||||
state.deleteModal = false;
|
||||
message.success("删除成功");
|
||||
state.selectRow = []; //选择行
|
||||
state.selectAll = 0; //0:未选择,1:全选,2:部分选择
|
||||
getDetail();
|
||||
console.log("删除成功", res);
|
||||
})
|
||||
@@ -1736,7 +1741,10 @@ export default {
|
||||
.deleteTask(obj)
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
state.deleteAll = false;
|
||||
message.destroy();
|
||||
state.selectRow = []; //选择行
|
||||
state.selectAll = 0; //0:未选择,1:全选,2:部分选择
|
||||
message.success("批量删除成功");
|
||||
getDetail();
|
||||
})
|
||||
@@ -1887,7 +1895,7 @@ export default {
|
||||
changebgc,
|
||||
gqxy_hShow,
|
||||
showDeleteALLModal,
|
||||
delete_exit,
|
||||
// delete_exit,
|
||||
closeConfirm,
|
||||
drawertableColumns,
|
||||
editChapter,
|
||||
@@ -1929,6 +1937,9 @@ export default {
|
||||
temporaryStorage,
|
||||
submitStorage,
|
||||
cancelStorage,
|
||||
|
||||
closedeleteAll,
|
||||
subdeleteAll,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user