--fix bug

This commit is contained in:
yuping
2023-02-17 17:59:25 +08:00
parent b1dde8f3a7
commit 33429c046c
2 changed files with 98 additions and 314 deletions

View File

@@ -7,3 +7,4 @@ export const USER_PERMISSION = '/userbasic/permission/listByUser post'
export const CASE_PAGE = '/systemapi/xboe/m/boe/cases/pagelist post formData'
export const EXAM_PAPER_PAGE = '/systemapi/xboe/m/exam/paper/querylist post formData'
export const TEST_PAGE = '/api/b1/system/quiz/quiz-list post formData'
export const ONLINE_PAGE = '/systemapi/xboe/m/course/manage/pagelist post formData'

View File

@@ -8,11 +8,10 @@
width="80%"
title="添加在线"
placement="right"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
<div class="header">
<div v-if="edit" class="headerTitle">编辑在线</div>
<div v-if="taskIndex>=0" class="headerTitle">编辑在线</div>
<div v-else class="headerTitle">添加在线</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
@@ -27,7 +26,7 @@
<div class="ipt_name"></div>
<div class="fi_input">
<a-input
v-model:value="params.name"
v-model:value="params.keyword"
style="
width: 280px;
height: 40px;
@@ -46,7 +45,7 @@
<div class="ipt_name">课程分类</div>
<div class="select">
<a-select
v-model:value="params.category"
v-model:value="params.type"
dropdownClassName="dropdown-style"
style="width: 240px"
placeholder="请选择课程分类"
@@ -71,6 +70,7 @@
<div>
<div>
<a-table
:customRow="customRow"
class="ant-table-striped"
:row-class-name="(_, index) => (index % 2 === 1 ? 'table-striped' : null)"
row-key="id"
@@ -93,29 +93,50 @@
</template>
<script setup>
import {computed, defineEmits, defineProps, ref, watch} from "vue";
import {usePage} from "@/api/request";
import {ONLINE_COURSE_PAGE} from "@/api/apis";
import {useBoeApiPage} from "@/api/request";
import {ONLINE_PAGE} from "@/api/ThirdApi";
import {message} from "ant-design-vue";
const props = defineProps({
courseId: String,
type: Number,
taskList: []
})
const visible = ref(false)
const selectValue = ref()
watch(props.courseId, () => {
selectValue.value = props.courseId
})
const taskIndex = ref(-1);
const rowSelectKeys = ref([]);
const selectsData = ref([]);
const emit = defineEmits({})
watch(taskIndex, () => {
if (taskIndex.value >= 0) {
rowSelectKeys.value = [props.taskList[taskIndex.value].courseId]
selectsData.value = data.value.find(t => t.id === props.taskList[taskIndex.value].courseId) || {}
}
})
const categoryOption = ref([
{
value: "微课",
value: 10,
label: "微课",
},
{
value: "录播课",
value: 20,
label: "录播课",
},
{
value: 21,
label: "直播",
},
{
value: 30,
label: "面授",
},
{
value: 90,
label: "混合",
},
])
const columns = ref([
@@ -128,11 +149,12 @@ const columns = ref([
},
{
title: "课程分类",
dataIndex: "contenttype",
key: "contenttype",
dataIndex: "type",
key: "type",
width: "15%",
align: "center",
ellipsis: true,
customRender: ({record: {type}}) => ({10: '微课', 21: '直播', 20: '录播', 30: '面授', 90: '混合'}[type]),
},
{
title: "创建人",
@@ -160,342 +182,103 @@ const columns = ref([
},
])
const params = ref({
name: '',
current: 1,
pageSize: 10
keyword: '',
pageIndex: 1,
pageSize: 10,
orderAsc: true,
publish: true,
contenttype: 20
})
const projectSelectKeys = ref([]);
const {data, loading, total, fetch,reset} = usePage(ONLINE_COURSE_PAGE, params.value)
const {data, loading, total, fetch} = useBoeApiPage(ONLINE_PAGE, params.value, {
init: false,
result: res => res.result.list,
totalPage: res => res.result.totalPages,
total: res => res.result.count
})
const pagination = computed(() => ({
total: total.value,
showSizeChanger: false,
current: params.value.current,
current: params.value.pageIndex,
pageSize: params.value.pageSize,
onChange: changePagination,
}));
const selectsData = ref({});
const customRow = (record) => ({
onClick: () => {
rowSelectKeys.value = [record.id]
selectsData.value = [record]
}
})
const changePagination = (e) => {
params.value.current = e;
params.value.pageIndex = e;
fetch()
};
const rowSelection = computed(() => ({
type: 'radio',
columnWidth: 20,
selectedRowKeys: projectSelectKeys.value,
selectedRowKeys: rowSelectKeys.value,
onChange: onSelectChange,
preserveSelectedRowKeys: true,
}));
function onSelectChange(e, l) {
projectSelectKeys.value = e;
rowSelectKeys.value = e;
selectsData.value = l;
}
function reset() {
rowSelectKeys.value = [];
selectsData.value = [];
params.value.pageIndex = 1
params.value.keyword = ''
fetch()
}
const closeDrawer = () => {
visible.value = false
taskIndex.value = -1
reset()
};
function confirm(){
emit("update:courseId", selectValue);
function confirm() {
if (!selectsData.value.length || !rowSelectKeys.value.length) {
message.warning("请选择案例");
return
}
if (taskIndex.value === -1) {
const list = props.taskList
list.push({
name: selectsData.value[0].name,
type: props.type,
courseId: selectsData.value[0].id,
info: selectsData.value[0]
})
} else {
const data = props.taskList[taskIndex.value]
data.name = selectsData.value[0].name
data.courseId = selectsData.value[0].id
data.info = selectsData.value[0]
}
emit('update:taskList', [...props.taskList])
closeDrawer()
}
function openDrawer(){
visible.value=true
function openDrawer(i, row) {
row && (rowSelectKeys.value = [row.info]);
row && (selectsData.value = [{name: row.name, id: row.courseId}]);
(i >= 0) && (taskIndex.value = i);
visible.value = true
}
// const onSelectChange = (selectedRowKeys, selectedRows) => {
// console.log("selectedRows", 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 isExistence = (id) => {
// console.log({
// 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);
// });
// };
// // 判断项目中是否添加当前在线课
// const IsExistenceProjects = (id) => {
// console.log("参数传递", {
// courseTaskId: id,
// projectId: props.projectId,
// stageId: props.chooseStageId || 0,
// type: 1,
// });
// IsExistenceProject({
// courseTaskId: id,
// projectId: Number(props.projectId),
// stageId: props.chooseStageId || 0,
// type: 1,
// })
// .then((res) => {
// console.log("项目中是否包含此在线课了", res);
// })
// .catch((err) => {
// console.log(err);
// });
// };
// const updateTask = () => {
// state.addLoading = true;
// if (props.isLevel == 1) {
// if (!props.isactive) {
// state.addLoading = false;
// message.destroy();
// return message.warning("请先选中关卡");
// }
// 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);
// if (state.isClick) {
// message.destroy();
// message.error("请勿频繁点击");
// return;
// }
// state.isClick = true;
// IsExistence({
// chapterId: Number(props.isactive),
// courseTaskId: l_data_id,
// routerId: props.routerId,
// 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.warning("在线课" + tipStr + "重复添加");
// state.isClick = false;
// state.addLoading = false;
// 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,
// duration: value.studyTime,
// id: props.taskIdDraft
// })
// .then((res) => {
// if (res.data.code == 200) {
// message.destroy();
// message.success(
// `${props.edit ? "编辑" : "新增"}关卡任务成功`
// );
// }
// ctx.emit("changeData", false);
// closeDrawer();
// state.addLoading = false;
// state.isClick = false;
// })
// .catch(() => {
// state.addLoading = false;
// message.destroy();
// message.error(
// `${props.edit ? "编辑" : "新增"}关卡任务失败`
// );
// state.isClick = false;
// });
// });
// }
// })
// .catch((err) => {
// console.log(err);
// state.isClick = false;
// });
// } else if (props.isLevel == 2) {
// 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);
// if (state.isClick) {
// message.destroy();
// message.error("请勿频繁点击");
// return;
// }
// state.isClick = true;
// 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.warning("在线课" + tipStr + "重复添加");
// state.isClick = false;
// 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,
// duration: value.studyTime,
// })
// .then(() => {
// message.destroy();
// message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
// ctx.emit("changeData", false);
// closeDrawer();
// state.isClick = false;
// })
// .catch(() => {
// message.destroy();
// message.error(`${props.edit ? "编辑" : "新增"}任务失败`);
// state.isClick = false;
// });
// });
// }
// })
// .catch((err) => {
// console.log(err);
// });
// } else if (props.isLevel == 3) {
// 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);
// if (state.isClick) {
// message.destroy();
// message.error("请勿频繁点击");
// return;
// }
// state.isClick = true;
// IsExistenceProjectTemplate({
// courseTaskId: p_data_id,
// projectTemplateId: props.projectTemplateId,
// templateStageId: 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.warning("在线课" + tipStr + "重复添加");
// state.isClick = false;
// return;
// } else {
// state.addOnlineList.map((value) => {
// console.log(props, props.projectTemplateId, props.projectTaskId);
// addTempTask({
// courseId: value.num,
// name: value.name,
// projectTemplateId: localStorage.getItem("projectTemplateId"),
// projectTaskId: props.projectTaskId || 0,
// stageId: props.chooseStageId || 0,
// type: 1,
// duration: value.studyTime,
// })
// .then((res) => {
// console.log("新增或者编辑在线课", res);
// message.destroy();
// message.success(
// `${props.edit ? "编辑" : "新增"}模板库任务成功`
// );
// ctx.emit("changeData", false);
// closeDrawer();
// state.isClick = false;
// })
// .catch(() => {
// message.destroy();
// message.error(
// `${props.edit ? "编辑" : "新增"}模板库任务失败`
// );
// state.isClick = false;
// });
// });
// }
// });
// }
// //if(state.addOnlineList.Target==undefined){
// // closeDrawer();
// //}
// };
defineExpose({openDrawer})
</script>
<style lang="scss">
.ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important;
}