feat:合并

This commit is contained in:
songwc
2022-11-07 16:33:23 +08:00
12 changed files with 341 additions and 251 deletions

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-04 22:45:31
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-11-06 16:48:50
* @LastEditTime: 2022-11-07 11:12:01
* @FilePath: /fe-manage/src/api/index1.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -72,12 +72,22 @@ export const addStudent = (obj) => http.post('/admin/router/addStudent', obj);
//项目基础信息-----------------------------------
//学员获取
export const getProjectStudent=(obj)=>http.post('/admin/project/studentList',obj)
//项目积分榜单
export const scoreRank = (obj) => http.post('/admin/project/scoreRank', obj);
//获取规则
export const scoreRule=(projectId)=>http.get('/admin/project/scoreRule',{
params: {
projectId: projectId,
}
})
//排行榜
export const billboard = (obj) => http.post('/admin/project/billboard', obj);
//项目基础信息-----------------------------------
// 测试方法
// import * as api from '../../api/index'
// api.getLearnPath({}).then(res => {

View File

@@ -1,28 +1,12 @@
import http from "./config";
//新建关卡
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj, {
headers: {
'token': '123'
}
});
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj);
//编辑关卡
export const updateChapter = (obj) => http.post('/admin/router/editChapter', obj, {
headers: {
'token': '123'
}
});
export const updateChapter = (obj) => http.post('/admin/router/editChapter', obj);
//删除任务
export const deleteTask = (obj) => http.delete('/admin/router/deleteTask',{params: obj}, {
headers: {
'token': '123'
}
});
export const deleteTask = (obj) => http.delete('/admin/router/deleteTask',{params: obj});
//移动任务到关卡
export const moveTask = (obj) => http.post('/admin/router/moveTask',obj,{
headers: {
'token': '123'
}
});
export const moveTask = (obj) => http.post('/admin/router/moveTask',obj);

View File

@@ -1,8 +1,4 @@
import http from "./config";
//移动任务到阶段
export const moveTask = (obj) => http.post('/admin/project/moveTask',obj,{
headers: {
'token': '123'
}
})
export const moveTask = (obj) => http.post('/admin/project/moveTask',obj)

View File

@@ -1,8 +1,4 @@
import http from "./config";
//添加阶段
export const editStage = (obj) => http.post('/admin/project/editStage', obj, {
headers: {
'token': '123'
}
});
export const editStage = (obj) => http.post('/admin/project/editStage', obj);

View File

@@ -7,11 +7,7 @@ export const getTask = (obj) => http.get('/admin/project/detail', { params: obj
})
//项目里的新建或编辑阶段任务
export const addTask = (obj) => http.post('/admin/project/editTask', obj, {
headers: {
'token': '123'
}
})
export const addTask = (obj) => http.post('/admin/project/editTask', obj)
//项目里的删除任务

View File

@@ -8,7 +8,8 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">添加讨论</div>
<div v-if="edit" class="headerTitle">编辑讨论</div>
<div v-else class="headerTitle">添加讨论</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -99,6 +100,10 @@ export default {
type: Boolean,
default: false,
},
edit: {
type: Boolean,
default: false,
},
isStudiscuss: {
type: Boolean,
default: false,
@@ -130,6 +135,7 @@ export default {
});
const closeDrawer = () => {
ctx.emit("update:adddiscussVisible", false);
ctx.emit("update:edit", false);
state.inputV1 = "";
state.textV1 = "";
};

View File

@@ -139,6 +139,14 @@ export default {
type: Number,
default: null,
},
isactive: {
type: Number,
default: null,
},
routerId: {
type: Number,
default: null,
},
},
setup(props, ctx) {
const state = reactive({
@@ -208,7 +216,9 @@ export default {
return isJpgOrPng && isLt2M;
};
//创建测评信息
//创建或编辑测评信息
const createEvalText = () => {
if (!state.inputV1) {
message.destroy();
@@ -244,67 +254,107 @@ export default {
updateTime: "",
updateUser: 0,
};
api
.createEvaluation(obj)
.then((res) => {
console.log("创建成功", res);
message.success("创建成功");
closeDrawer();
//渲染到学历路径列表
if (props.learn == 0)
apitaskadd
.addTask({
let objedit = {
createTime: "",
createUser: 0,
evaluationEndTime: "",
evaluationFlag: "",
evaluationId: 125,
evaluationName: state.inputV1,
evaluationPictureAddress: "",
evaluationStartTime: "",
evaluationTag: "",
evaluationTypeId: 0,
evaluationTypeName: "",
updateTime: "",
updateUser: 0,
};
if (props.edit == false) {
api
.createEvaluation(obj)
.then((res) => {
console.log("创建成功", res);
message.success("创建成功");
closeDrawer();
//渲染到学历路径
if (props.learn == 0)
apitaskadd
.addTask({
courseId: 0,
duration: 0,
flag: true,
name: obj.evaluationName,
projectId: props.projectId,
projectTaskId: 0,
stageId: props.chooseStageId,
type: 10,
})
.then((res) => {
console.log("调用项目添加接口后", res.data);
//自定义事件给父组件传值
ctx.emit("changeData", false);
//重新获取任务列表
// apiTask.getTask({ projectId: 28 });
// router.push("/taskadd");
})
.catch((err) => {
console.log(err);
});
//渲染到项目列表
else {
let editObj1 = {
chapterId: props.isactive,
courseId: 0,
duration: 0,
flag: true,
name: obj.evaluationName,
projectId: props.projectId,
projectTaskId: 0,
stageId: props.chooseStageId,
routerId: props.routerId,
routerTaskId: 0,
type: 10,
})
.then((res) => {
console.log("调用项目添加接口后", res.data);
//自定义事件给父组件传值
ctx.emit("changeData", false);
//重新获取任务列表
// apiTask.getTask({ projectId: 28 });
// router.push("/taskadd");
})
.catch((err) => {
console.log(err);
});
//渲染到项目列表
else {
let editObj1 = {
chapterId: 36,
courseId: 0,
duration: 0,
flag: true,
name: obj.evaluationName,
routerId: 92,
routerTaskId: 0,
type: 10,
};
RouterEditTask(editObj1)
}
})
.catch((err) => {
console.log("创建失败", err);
// state.createLoading = false;
});
};
RouterEditTask(editObj1)
}
})
.catch((err) => {
console.log("创建失败", err);
// state.createLoading = false;
});
}
else {
api
.queryEvaluationDetailById(obj.evaluationId)
.then((res) => {
setTimeout(() => {
console.log("获取成功", res,obj.evaluationId);
message.success("获取成功");
}, 1000);
})
.catch((err) => {
console.log("获取失败", err);
});
api
.updateEvaluation(objedit)
.then((res) => {
setTimeout(() => {
console.log("修改成功", res);
message.success("修改成功");
}, 1000);
})
.catch((err) => {
console.log("修改失败", err);
// state.createLoading = false;
//重新获取列表
// getTask();
});
}
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
//增删改查
//增
createEvalText,
// getEvalPath,
// changePagination,
// deleteEvalPath,
// editEvalPath,
//上传组件
fileList,
loading,

View File

@@ -9,7 +9,8 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">添加评估</div>
<div v-if="edit" class="headerTitle">编辑评估</div>
<div v-else class="headerTitle">添加评估</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -122,6 +123,7 @@ export default {
});
const closeDrawer = () => {
ctx.emit("update:addinvistVisible", false);
ctx.emit("update:edit", false);
state.inputV1 = "";
};
const afterVisibleChange = (bool) => {

View File

@@ -9,7 +9,8 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">添加投票</div>
<div v-if="edit" class="headerTitle">编辑投票</div>
<div v-else class="headerTitle">添加投票</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@@ -178,6 +179,7 @@ export default {
});
const closeDrawer = () => {
ctx.emit("update:addvoteVisible", false);
ctx.emit("update:edit", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);

View File

@@ -9,16 +9,16 @@
<div class="groupname" style="width: 42px">姓名</div>
<a-input
class="ant-input"
v-model:value="value"
v-model:value="studentName"
placeholder="请输入姓名"
/>
</div>
<div class="groupright">
<div class="btn1">
<div class="btn1" @click="searchProjectStudent">
<img src="../../assets/images/courseManage/search0.png" />
<span class="btn1text">搜索</span>
</div>
<div class="btn2">
<div class="btn2" @click="projectStudentReset">
<img src="../../assets/images/courseManage/reset1.png" />
<span class="btn2text">重置</span>
</div>
@@ -367,13 +367,17 @@ export default {
activeKeyScore: "2",
stuName: "请输入姓名",
todayvalue: "1",
tableDataTotal: 30,
stuValue: false,
Svisible: false,
score1: 5,
score2: 5,
edit: true,
searchRankName:null,//榜单搜索名称
studentName:null,//学员搜索名称
pageSize:10,
currentPage:1,
tableDataTotal: -1,
});
const getTableData = () => {
let datas = state.tabledataStu;
@@ -399,21 +403,59 @@ export default {
getTableData();
const tabsChange = (e) => {
if (e == 1) {
// console.log('获取项目积分-学员')
getProjectStudent();
}
if (e == 2) {
// console.log('获取项目积分-榜单')
scoreRank(1, 1);
}
if(e==3){
scoreRule()
}
projectStudentReset()
rankReset()
state.todayvalue='1'
state.stuValue=1
};
// start -------学员---------------学员------------学员------------------学员---------
//重置
const projectStudentReset=()=>{
state.studentName=null
}
//搜索
const searchProjectStudent = () => {
state.currentPage=1
getProjectStudent()
};
//项目积分榜单
const getProjectStudent = () => {
console.log("projectId", props.projectId,state.studentName);
let obj = {
projectId:props.projectId,
pageSize:state.pageSize,
pageNo:state.currentPage,
name:state.studentName,
};
api
.getProjectStudent(obj)
.then((res) => {
console.log("获取项目积分-学员", res);
})
.catch((err) => {
console.log("获取项目积分-学员", err);
});
};
// end -----学员----------------学员----------------------学员-----------学员----------
// start -------榜单---------------榜单------------榜单------------------榜单---------
//重置
const rankReset=()=>{
state.searchRankName=null
}
// start -------榜单---------------榜单------------榜单------------------榜单---------
//学员积分还是小组积分
const typeChange = (num) => {
state.stuValue = num;
@@ -449,6 +491,22 @@ export default {
});
};
// end -----榜单----------------榜单----------------------榜单-----------榜单----------
// start -------获取规则---------------获取规则------------获取规则------------------获取规则---------
//获取规则
const scoreRule = () => {
console.log("projectId", props.projectId);
api
.scoreRule(props.projectId)
.then((res) => {
console.log("获取项目积分-获取规则", res);
})
.catch((err) => {
console.log("获取项目积分-获取规则", err);
});
};
// end -----获取规则----------------获取规则----------------------获取规则-----------获取规则----------
return {
...toRefs(state),
typeChange,
@@ -456,7 +514,11 @@ export default {
searchRank,
rankReset,
tabsChange,
projectStudentReset,
searchProjectStudent,
getProjectStudent,
scoreRank,
scoreRule,
};
},
computed: {

View File

@@ -280,6 +280,8 @@
v-model:addevalVisible="addevalvisible"
v-model:edit="edit"
v-model:learn="learn"
v-model:isactive="isactive"
v-model:routerId="routerId"
/>
</div>
<!-- 添加测评侧弹窗 -->
@@ -1682,16 +1684,11 @@ export default {
};
//移动任务到关卡
const moveTask = () => {
let arr = state.selectRow;
console.log("选择的行信息", arr);
console.log("选择的关卡id", state.isactive);
arr.map((value) => {
console.log("value:", value);
let obj = {
chapterId: state.isactive,
routerTaskIdList: value,
};
api
let obj = {
chapterId: state.isactive,
routerTaskIdList: state.selectRow,
}
api
.moveTask(obj)
.then((res) => {
console.log("移动成功", res);
@@ -1699,10 +1696,9 @@ export default {
message.success("移动成功");
})
.catch((err) => {
console.log("移动失败", err);
});
});
};
console.log("移动失败",err);
})
}
return {
...toRefs(state),
// tableDataFunc,

View File

@@ -191,10 +191,6 @@
<add-ref
v-model:addrefVisible="addrefvisible"
@changeData="updateTableData"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:isRefEdit="isRefEdit"
v-model:EditRefId="EditRefId"
/>
</div>
<!-- 添加外链侧弹窗 -->
@@ -211,8 +207,6 @@
<div>
<add-discuss
v-model:adddiscussVisible="adddiscussvisible"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
@changeData="updateTableData"
/>
</div>
@@ -230,8 +224,6 @@
<div>
<add-active
v-model:addactiveVisible="addactivevisible"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
@changeData="updateTableData"
/>
</div>
@@ -250,8 +242,6 @@
<add-eval
v-model:addevalVisible="addevalvisible"
@changeData="updateTableData"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
/>
</div>
<!-- 添加测评侧弹窗 -->
@@ -269,8 +259,6 @@
<add-invist
v-model:addinvistVisible="addinvistvisible"
@changeData="updateTableData"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
/>
</div>
<!-- 添加评估侧弹窗 -->
@@ -493,7 +481,6 @@
margin-right: 25px;
cursor: pointer;
"
@click="decideType(element.lei, element.courseId)"
>
编辑
</span>
@@ -1026,7 +1013,7 @@ export default {
(state.valuesname = ""),
(state.valuesnotice = ""),
(state.stage = false);
message.destroy();
message.default();
message.success("添加阶段成功");
})
.catch((err) => {
@@ -1072,7 +1059,6 @@ export default {
cretime: value.duration ? value.duration : "-",
checked1: value.flag ? true : false,
checked: false, //是否选中类型
courseId: value.courseId,
};
array.push(obj);
});
@@ -1083,7 +1069,6 @@ export default {
const getStageData = (tableData) => {
let data = tableData;
let array = [];
console.log("tableData", data);
data.map((value) => {
let obj = {
id: value.stageId,
@@ -1096,128 +1081,135 @@ export default {
state.level = array;
};
// const tableDataFunc = () => {
// const columns = [
// {
// title: "类型",
// dataIndex: "state",
// // width: "30%",
// key: "state",
// width: 60,
// align: "left",
// className: "classify",
// scopedSlots: { customRender: "action" },
// customRender: (text) => {
// // console.log(text.record.checked1);
// return (
// <div class="racona">
// <div
// class="img"
// style={{ cursor: "pointer" }}
// onClick={() => {
// console.log("点击了");
// }}
// ></div>
// <span> {text.record.lei}</span>
// </div>
// );
// },
// },
// {
// title: "任务名称",
// dataIndex: "creater",
// // width: "30%",
// key: "creater",
// width: 200,
// align: "center",
// className: "h",
// },
// {
// title: "必修/选修",
// dataIndex: "pubtime",
// key: "pubtime",
// // width: 100,
// align: "center",
// className: "h",
// scopedSlots: { customRender: "action" },
// customRender: (text) => {
// // console.log(text.record.checked1);
// return (
// <div class="opat">
// <div class="opacationt clearfix">
// <a-switch
// style="margin-left:-50px;margin-top:3px"
// checked={text.record.checked1}
// size="small"
// active-color="red"
// onClick={() => {
// console.log("点击了");
// text.record.checked1 = !text.record.checked1;
// }}
// />
// <div class="showt clearfix">
// <div
// class="bi"
// style={
// text.record.checked1 ? "z-index:999" : "z-index:998"
// }
// >
// 必修
// </div>
// <div class="xuan">选修</div>
// </div>
// </div>
// </div>
// );
// },
// },
// {
// title: "时长",
// dataIndex: "cretime",
// key: "cretime",
// // width: 100,
// align: "center",
// className: "h",
// },
// {
// title: "操作",
// className: "h",
// dataIndex: "opacation",
// key: "opacation",
// // width: 100,
// align: "center",
// scopedSlots: { customRender: "action" },
// customRender: (text) => {
// return (
// <div class="opa">
// <div class="opacation">
// <span
// onClick={() => {
// state.editonlinevisible = true;
// console.log(text, "编辑text");
// editInvistPath();
// }}
// style="color:#4EA6FF;margin-right:25px;cursor:pointer"
// >
// 编辑
// </span>
// <span
// style="color:#4EA6FF;cursor:pointer"
// onClick={() => {
// showDelete();
// state.deleteID = text.record.id;
// }}
// >
// 删除
// </span>
// </div>
// </div>
// );
// },
// },
// ];
// return columns;
// };
const tableDataFunc = () => {
const columns = [
{
title: "类型",
dataIndex: "state",
// width: "30%",
key: "state",
width: 60,
align: "left",
className: "classify",
scopedSlots: { customRender: "action" },
customRender: (text) => {
// console.log(text.record.checked1);
return (
<div class="racona">
<div
class="img"
style={{ cursor: "pointer" }}
onClick={() => {
console.log("点击了");
}}
></div>
<span> {text.record.lei}</span>
{/**
<div class="img"></div>
<a-checkbox class="ch" checked={text.record.checkedd}>
{text.record.lei}
</a-checkbox>
*/}
</div>
);
},
},
{
title: "任务名称",
dataIndex: "creater",
// width: "30%",
key: "creater",
width: 200,
align: "center",
className: "h",
},
{
title: "必修/选修",
dataIndex: "pubtime",
key: "pubtime",
// width: 100,
align: "center",
className: "h",
scopedSlots: { customRender: "action" },
customRender: (text) => {
// console.log(text.record.checked1);
return (
<div class="opat">
<div class="opacationt clearfix">
<a-switch
style="margin-left:-50px;margin-top:3px"
checked={text.record.checked1}
size="small"
active-color="red"
onClick={() => {
console.log("点击了");
text.record.checked1 = !text.record.checked1;
}}
/>
<div class="showt clearfix">
<div
class="bi"
style={
text.record.checked1 ? "z-index:999" : "z-index:998"
}
>
必修
</div>
<div class="xuan">选修</div>
</div>
</div>
</div>
);
},
},
{
title: "时长",
dataIndex: "cretime",
key: "cretime",
// width: 100,
align: "center",
className: "h",
},
{
title: "操作",
className: "h",
dataIndex: "opacation",
key: "opacation",
// width: 100,
align: "center",
scopedSlots: { customRender: "action" },
customRender: (text) => {
return (
<div class="opa">
<div class="opacation">
<span
onClick={() => {
state.editonlinevisible = true;
console.log(text, "编辑text");
editInvistPath();
}}
style="color:#4EA6FF;margin-right:25px;cursor:pointer"
>
编辑
</span>
<span
style="color:#4EA6FF;cursor:pointer"
onClick={() => {
showDelete();
state.deleteID = text.record.id;
}}
>
删除
</span>
</div>
</div>
);
},
},
];
return columns;
};
//获取任务列表
const getTask = () => {
@@ -1887,7 +1879,7 @@ export default {
...toRefs(state),
selectProjectName,
selectProjectName2,
// tableDataFunc,
tableDataFunc,
showModal,
closeModal,
// showDrawer,
@@ -2334,9 +2326,7 @@ export default {
display: flex;
flex-direction: column;
align-items: center; // background-color: #bfa;
.chosen {
// background-color: pink;
}
.ghost {
// background-color: red;
opacity: 0 !important;