合并,补全测评评估投票丢失数据

This commit is contained in:
岳佳鑫
2022-11-04 12:13:51 +08:00
7 changed files with 352 additions and 165 deletions

View File

@@ -43,13 +43,15 @@ export const createAppraiseMessage = (obj) => http.post('/survey/createAppraiseM
//删除评估信息
export const deleteAppraise = (obj) => http.post('/survey/deleteAppraise', { params: obj })
//根据ID获取评估信息详情
export const queryAppraiseDetailById = (obj) => http.post('/survey/queryAppraiseDetailById', { params: obj })
//修改评估信息
export const updateAppraiseMessage = (obj) => http.post('/survey/updateAppraiseMessage', obj)
//获取全部评估信息接口
export const queryAssessmentDetailList = (obj) => http.post('/assessment/queryAssessmentDetailList', obj)
// 测试方法
// import * as api from '../../api/index'

View File

@@ -112,6 +112,7 @@ import * as api from "../../api/indexEval";
import * as apitaskadd from "../../api/indexTaskadd";
import { message } from "ant-design-vue";
import { toDate } from "../../api/method";
import { RouterEditTask } from "@/api/indexTask";
// const router = useRouter();
export default {
name: "AddEval",
@@ -126,6 +127,10 @@ export default {
type: Boolean,
default: false,
},
learn: {
type: Number,
default: 0,
},
},
setup(props, ctx) {
const state = reactive({
@@ -184,8 +189,7 @@ export default {
};
const beforeUpload = (file) => {
const isJpgOrPng =
file.type === "image/jpg" || file.type === "image/png";
const isJpgOrPng = file.type === "image/jpg" || file.type === "image/png";
if (!isJpgOrPng) {
message.error("You can upload JPG/PNG file!");
}
@@ -238,6 +242,8 @@ export default {
console.log("创建成功", res);
message.success("创建成功");
closeDrawer();
console.log("1111", props.learn);
if (props.learn == 0)
apitaskadd
.addTask({
courseId: 0,
@@ -256,6 +262,26 @@ export default {
.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)
.then((res) => {
console.log("调用学历路径添加接口后", res.data);
ctx.emit("changeData", false);
})
.catch((err) => {
console.log(err);
});
}
})
.catch((err) => {
console.log("创建失败", err);

View File

@@ -45,11 +45,7 @@
expandRowByClick="true"
@expand="expandTable"
:pagination="false"
:row-selection="{
columnWidth: 30,
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
}"
:row-selection="rowSelection"
/>
<div class="pa">
@@ -93,34 +89,20 @@ export default {
inputV1: "",
time: undefined,
tableData: [
{
key: 1,
name: "评估",
num: "2",
creator: "管理员",
time: "2022-07-21 14:30:25",
},
{
key: 2,
name: "评估",
num: "8",
creator: "管理员",
time: "2022-07-21 14:30:25",
},
{
key: 3,
name: "评估",
num: "5",
creator: "管理员",
time: "2022-07-21 14:30:25",
},
{
key: 4,
name: "评估",
num: "20",
creator: "管理员",
time: "2022-07-21 14:30:25",
},
// {
// key: 1,
// name: "评估",
// num: "2",
// creator: "管理员",
// time: "2022-07-21 14:30:25",
// },
// {
// key: 2,
// name: "评估",
// num: "8",
// creator: "管理员",
// time: "2022-07-21 14:30:25",
// },
],
});
const closeDrawer = () => {
@@ -137,7 +119,7 @@ export default {
dataIndex: "name",
// width: "30%",
key: "name",
width: '150px',
width: "150px",
align: "left",
className: "classify",
@@ -162,26 +144,36 @@ export default {
title: "题数",
dataIndex: "num",
key: "num",
width: '80px',
width: "80px",
align: "center",
},
{
title: "创建人",
dataIndex: "creator",
key: "creator",
width: '150px',
width: "150px",
align: "center",
},
{
title: "创建时间",
dataIndex: "time",
key: "time",
width: '200px',
width: "200px",
align: "center",
},
];
return columns;
};
const rowSelection = {
onChange: (selectedRowKeys, selectedRows) => {
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
},
getCheckboxProps: record => ({
// disabled: record.name === 'Disabled User',
// // Column configuration not to be checked
name: record.name,
}),
};
//创建评估信息
const createInvist = () => {
let obj = {
@@ -205,6 +197,7 @@ export default {
console.log("创建成功", res);
message.success("创建成功");
closeDrawer();
getAllInvistText();
apitaskadd
.addTask({
courseId: 0,
@@ -229,12 +222,37 @@ export default {
// state.createLoading = false;
});
};
//获取全部评估信息接口
const getAllInvistText = () => {
let obj = {
assessmentName: "",
pageNo: 0,
pageSize: 0,
releaseStatus: "",
searchEndTime: "",
searchStartTime: "",
};
api
.queryAssessmentDetailList(obj)
.then((res) => {
console.log("获取全部评估信息接口成功", res);
message.success("获取全部评估信息接口成功");
console.log(obj);
})
.catch((err) => {
console.log("获取全部评估信息接口失败", err);
// state.createLoading = false;
});
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
tableDataFunc,
rowSelection,
createInvist,
getAllInvistText,
};
},
};
@@ -324,7 +342,6 @@ export default {
margin-left: 5px;
}
}
}
.main_item2 {
.pa {

View File

@@ -303,50 +303,7 @@ const options1 = ref([
label: "请选择状态",
},
]);
// const columns1 = [
// {
// title: "课程编号",
// width: "20%",
// dataIndex: "num",
// key: "num",
// align: "center",
// },
// {
// title: "名称",
// width: "20%",
// dataIndex: "name",
// key: "name",
// align: "center",
// },
// {
// title: "内容分类",
// width: "13%",
// dataIndex: "content",
// key: "content",
// align: "center",
// },
// {
// title: "授课教师",
// width: "13%",
// dataIndex: "teacher",
// key: "teacher",
// align: "center",
// },
// {
// title: "创建人",
// width: "13%",
// dataIndex: "creator",
// key: "creator",
// align: "center",
// },
// {
// title: "完成时间",
// width: "20%",
// dataIndex: "time",
// key: "time",
// align: "center",
// },
// ];
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
@@ -583,6 +540,7 @@ export default {
new Date(state.time[1].$d).getTime() / 1000,
"Y-M-D"
);
state.obj = {
afterSignIn: state.inputV6,
beforeSignIn: state.inputV7,
@@ -607,6 +565,7 @@ export default {
updateTime: "",
updateUser: 0,
};
api
.createLiveBroadcast(state.obj)
.then((res) => {
@@ -614,7 +573,6 @@ export default {
// console.log(state, 2222);
message.success("提交成功");
closeDrawer();
apiTask
.addTask({
courseId: 0,
@@ -637,8 +595,6 @@ export default {
.catch((err) => {
console.log(err);
});
// state = {}
})
.catch((err) => {
console.log(err, 2222);

Binary file not shown.

View File

@@ -175,7 +175,7 @@
<div>
<add-homework
flag="0"
routerTaskId="ListChoosedId"
:workId="editID"
v-model:addhomeworkVisible="addhomeworkvisible"
/>
</div>
@@ -190,12 +190,16 @@
</div>
<!-- 添加考试侧弹窗 -->
<div>
<add-test v-model:addtestVisible="addtestvisible" />
<add-test
:workId="editID"
@clearEditData="clearEditData"
v-model:addtestVisible="addtestvisible"
/>
</div>
<div class="lin"></div>
</div>
<div class="item">
<div class="itcon">
<div class="itcon" @click="showDrawerAddLive">
<div class="img">
<img src="../../assets/images/leveladd/zhi.png" />
</div>
@@ -204,7 +208,7 @@
<div class="lin"></div>
</div>
<div class="item">
<div class="itcon">
<div class="itcon" @click="showDrawerAddRef">
<div class="img">
<img src="../../assets/images/leveladd/wai.png" />
</div>
@@ -230,7 +234,7 @@
</div>
<div class="lin"></div>
</div>
<div class="item" @click="showDrawerAddEval">
<div class="item">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/ce.png" />
@@ -241,37 +245,28 @@
<add-eval
v-model:addevalVisible="addevalvisible"
v-model:edit="edit"
v-model:learn="learn"
/>
</div>
<!-- 添加测评侧弹窗 -->
</div>
<div class="lin"></div>
</div>
<div class="item" @click="showDrawerAddInvist">
<div class="item">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/diao.png" />
</div>
<div class="text">评估</div>
<!-- 添加评估侧弹窗 -->
<div>
<add-invist v-model:addinvistVisible="addinvistvisible" />
</div>
<!-- 添加评估侧弹窗 -->
</div>
<div class="lin"></div>
</div>
<div class="item" @click="showDrawerAddVote">
<div class="item">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/tou.png" />
</div>
<div class="text">投票</div>
<!-- 添加投票侧弹窗 -->
<div>
<add-vote v-model:addvoteVisible="addvotevisible" />
</div>
<!-- 添加投票侧弹窗 -->
</div>
<div class="lin"></div>
</div>
@@ -311,6 +306,7 @@
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
@expand="expandTable"
:customRow="handleClickRow"
:pagination="false"
:row-selection="{
columnWidth: 30,
@@ -556,6 +552,40 @@
</div>
</div>
</a-modal>
<!-- 添加直播抽屉 -->
<add-live v-model:addliveVisible="addlivevisible" />
<add-ref v-model:addrefVisible="addrefvisible" />
<!-- 是否确认删除任务弹窗 -->
<!-- 确认删除阶段弹窗 -->
<a-modal
v-model:visible="deleteModal"
:footer="null"
:closable="cC"
wrapClassName="ConfirmModal"
centered="true"
>
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="icon"></div>
<span>提示</span>
<div class="close_exit" @click="closeConfirm"></div>
</div>
<div class="body">
<span>您确定要删除此任务吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeConfirm">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="deleteLevelTask">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
</template>
@@ -568,8 +598,10 @@ import AddTest from "../../components/drawers/AddTest.vue";
import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
import AddActive from "../../components/drawers/AddActive.vue";
import AddEval from "../../components/drawers/AddEval.vue";
import AddInvist from "../../components/drawers/AddInvist.vue";
import AddVote from "../../components/drawers/AddVote.vue";
// import AddInvist from "../../components/drawers/AddInvist.vue";
// import AddVote from "../../components/drawers/AddVote.vue";
import AddLive from "../../components/drawers/AddLive.vue";
import AddRef from "../../components/drawers/AddRef.vue";
import * as api from "../../api/indexLevel";
import { GetRouterDetail, RouterDeleteTask } from "../../api/indexTask";
import { message } from "ant-design-vue";
@@ -583,12 +615,12 @@ export default {
AddActive,
AddTest,
AddEval,
AddInvist,
AddVote,
AddLive,
AddRef,
},
setup() {
const state = reactive({
routerId: localStorage.getItem("routerId"),
level: [
{
chapterId: "1",
@@ -600,6 +632,7 @@ export default {
{
key: 1,
lei: "在线",
routerTaskId: 0,
// state: "已发布",
creater: "管理者课程",
// pubtime: "2022-07-20 14:00:03",
@@ -783,15 +816,22 @@ export default {
visible: false,
AddSvisible: false, //添加学员抽屉
AddImpStuvisible: false, //导入学员抽屉
addlivevisible: false, //添加直播抽屉
addrefvisible: false, //添加外链抽屉
modal: false,
clos: false,
stm_hs: false,
deleteAll: false,
closeDeleteAll: false,
deleteModal: false, // 删除弹窗
deleteID: "", // 要删除的任务的id
editID: "", // 要编辑的任务id
cC: false,
value1: "",
value2: "",
selectedRowKeys: [],
edit: false, //是否点击编辑
learn: 0,
gqxy_hs: true,
isactive: 0,
projectChecked: null, //项目单选框
@@ -874,6 +914,7 @@ export default {
//测试评估投票抽屉
const showDrawerAddEval = () => {
state.addevalvisible = true;
state.learn = 1;
};
const showDrawerAddInvist = () => {
state.addinvistvisible = true;
@@ -892,25 +933,19 @@ export default {
creater: element.name,
cretime: element.duration,
checked1: element.flag,
routerTaskId: element.routerTaskId,
};
});
};
const getDetail = (index) => {
GetRouterDetail(92)
.then((res) => {
state.level = res.data.data.chapterList;
console.log(state.level);
if (index == 0) {
// state.tableData[1] = {
// key: 2,
// lei: "在线",
// creater: "管理者课程",
// cretime: "60",
// checked1: true,
// }
dataAssignment(0);
}
state.deleteModal = false;
})
.catch((err) => {
message.error(err);
@@ -1034,15 +1069,15 @@ export default {
// width: 100,
align: "center",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: () => {
customRender: (e) => {
return (
<div class="opa">
<div class="opacation">
<span
style="color:#4EA6FF;margin-right:25px;cursor:pointer"
onClick={() => {
state.edit = true;
state.addevalvisible = true;
state.editID = e.record.routerTaskId;
state.addhomeworkvisible = true;
}}
>
编辑
@@ -1050,7 +1085,7 @@ export default {
<span
style="color:#4EA6FF;cursor:pointer"
onClick={() => {
deleteLevelTask();
showDeleteModal(e.record.routerTaskId);
}}
>
删除
@@ -1284,6 +1319,15 @@ export default {
const delete_exit = () => {
state.deleteAll = false;
};
const showDeleteModal = (id) => {
state.deleteID = id;
state.deleteModal = true;
};
const closeConfirm = () => {
state.deleteModal = false;
state.deleteID = "";
state.editID = "";
};
const deleteLevelTask = () => {
RouterDeleteTask(state.listChoosedId)
.then((res) => {
@@ -1295,6 +1339,23 @@ export default {
});
};
const showDrawerAddLive = () => {
state.addlivevisible = true;
};
const showDrawerAddRef = () => {
state.addrefvisible = true;
};
const closeDeleteModel = () => {
state.deleteModal = false;
state.deleteID = "";
};
// 子组件触发的清空 editid 事件
const clearEditData = () => {
state.editID = "";
getDetail(0);
};
return {
...toRefs(state),
tableDataFunc,
@@ -1312,6 +1373,7 @@ export default {
gqxy_hShow,
showDeleteALLModal,
delete_exit,
closeConfirm,
drawertableColumns,
editChapter,
// updateChapter,
@@ -1321,14 +1383,138 @@ export default {
showDrawerAddInvist,
showDrawerAddVote,
deleteLevelTask,
showDrawerAddLive,
showDrawerAddRef,
closeDeleteModel,
clearEditData,
showDrawerAddDiscuss,
showDrawerAddActive,
<<<<<<< HEAD
showDrawerAddDiscuss,
showDrawerAddActive,
=======
showDrawerAddLive,
showDrawerAddRef,
closeDeleteModel,
clearEditData,
>>>>>>> 554eb1c235b7c421a65cd1b1999dd63344f7d7ec
};
},
};
</script>
<style lang="scss">
.ConfirmModal {
.ant-modal {
width: 424px !important;
height: 258px !important;
.ant-modal-content {
width: 424px !important;
height: 258px !important;
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0 !important;
.delete {
z-index: 999;
width: 424px;
height: 258px;
background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px;
// position: absolute;
// left: 50%;
// top: 10%;
// transform: translate(-50%, -50%);
.del_header {
position: absolute;
width: calc(100%);
height: 40px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
width: 100%;
position: relative;
.header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
.icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/coursewareManage/QR.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
cursor: pointer;
width: 20px;
height: 20px;
background-image: url(@/assets/images/coursewareManage/close.png);
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
// background-color: red;
position: relative;
.back {
position: absolute;
top: 30px;
font-size: 12px;
font-weight: 400;
color: #666666;
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
background: rgba(64, 158, 255, 0);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
}
}
}
}
}
}
}
}
.clearfix:after,
.clearfix:before {
content: " ";

View File

@@ -462,7 +462,7 @@
>
编辑
</span>
<span style="color: #4ea6ff; cursor: pointer">
<span style="color: #4ea6ff; cursor: pointer" @click="showDelete()">
删除
</span>
</div>