feat:合并

This commit is contained in:
lixg
2022-12-05 16:12:48 +08:00

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,76 +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 = (id) => { const IsExistenceProjects = (id) => {
console.log('参数传递',{ console.log("参数传递", {
"courseTaskId": id, courseTaskId: id,
"projectId": props.projectId, projectId: props.projectId,
"stageId": props.chooseStageId || 0, stageId: props.chooseStageId || 0,
"type": 1 type: 1,
}) });
IsExistenceProject({ IsExistenceProject({
"courseTaskId": id, courseTaskId: id,
"projectId": Number(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 = []
@@ -396,126 +441,130 @@ export default {
// }) // })
// console.log('当前是否已经添加了',routerarr) // console.log('当前是否已经添加了',routerarr)
} }
if (props.isLevel == 3) {
if(props.isLevel == 3){ console.log("我是要便利的数据3", state.addOnlineList);
console.log('我是要便利的数据3', state.addOnlineList)
} }
if (props.isLevel == 1) { if (props.isLevel == 1) {
console.log('我是要便利的数据2', state.addOnlineList) console.log("我是要便利的数据2", state.addOnlineList);
let l_data = state.addOnlineList; let l_data = state.addOnlineList;
let l_data_id = [] let l_data_id = [];
l_data.map((item)=>{ l_data.map((item) => {
l_data_id.push(item["courseId"]) l_data_id.push(item["courseId"]);
}) });
console.log("需要查询的在线课ID", l_data_id);
console.log('需要查询的在线课ID',l_data_id)
IsExistence({ IsExistence({
"chapterId": Number(props.isactive), chapterId: Number(props.isactive),
"courseTaskId": l_data_id, courseTaskId: l_data_id,
"routerId": props.routerId, routerId: props.routerId,
"type": 1 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) => {
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(err=>{
console.log(err)
}) })
.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((err) => {
console.log(err);
});
} else if (props.isLevel === 2) { } else if (props.isLevel === 2) {
console.log('我是要便利的数据2', state.addOnlineList) console.log("我是要便利的数据2", state.addOnlineList);
let p_data = state.addOnlineList; let p_data = state.addOnlineList;
let p_data_id = [] let p_data_id = [];
p_data.map((item)=>{ p_data.map((item) => {
p_data_id.push(item["courseId"]) p_data_id.push(item["courseId"]);
}) });
console.log("需要查询的在线课ID", p_data_id);
console.log('需要查询的在线课ID',p_data_id)
IsExistenceProject({ IsExistenceProject({
"courseTaskId": p_data_id, courseTaskId: p_data_id,
"projectId": Number(props.projectId), projectId: Number(props.projectId),
"stageId": props.chooseStageId || 0, stageId: props.chooseStageId || 0,
"type": 1 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)
}) })
.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,
@@ -536,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 = "";
@@ -560,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,
@@ -579,7 +625,8 @@ export default {
searchList, searchList,
resetOnline, resetOnline,
isExistence, isExistence,
IsExistenceProjects IsExistenceProjects,
ChoiceCourse,
}; };
}, },
}; };
@@ -731,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 {
@@ -747,7 +793,6 @@ export default {
} }
} }
} }
.main_btns { .main_btns {
height: 72px; height: 72px;
width: 100%; width: 100%;