feat:模仿评估规范在线抽屉接口

This commit is contained in:
Ggysh-7
2022-11-15 10:48:53 +08:00
parent 6a71b47947
commit 3efc67ce7a
2 changed files with 237 additions and 161 deletions

View File

@@ -8,8 +8,9 @@
@after-visible-change="afterVisibleChange" @after-visible-change="afterVisibleChange"
> >
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">添加在线</div> <div v-if="edit" class="headerTitle">编辑在线</div>
<div v-else class="headerTitle">添加在线</div>
<img <img
style="width: 29px; height: 29px; cursor: pointer" style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png" src="../../assets/images/basicinfo/close.png"
@@ -23,7 +24,7 @@
<div class="ipt_name">课程编号</div> <div class="ipt_name">课程编号</div>
<div class="fi_input"> <div class="fi_input">
<a-input <a-input
v-model:value="value1" v-model:value="inputV1"
style="width: 240px; height: 40px; border-radius: 8px" style="width: 240px; height: 40px; border-radius: 8px"
placeholder="请输入项目名称" placeholder="请输入项目名称"
/> />
@@ -48,7 +49,7 @@
<div class="search"></div> <div class="search"></div>
<div class="btnText">搜索</div> <div class="btnText">搜索</div>
</div> </div>
<div class="btn btn2"> <div class="btn btn2" @click="resetInvist">
<div class="search"></div> <div class="search"></div>
<div class="btnText">重置</div> <div class="btnText">重置</div>
</div> </div>
@@ -75,11 +76,14 @@
(_record, index) => (index % 2 === 1 ? 'table-striped' : null) (_record, index) => (index % 2 === 1 ? 'table-striped' : null)
" "
:row-selection="rowSelection" :row-selection="rowSelection"
:columns="columns1" :columns="tableDataFunc()"
:data-source="tableData1" :data-source="tableData"
:loading="tableDataTotal === -1 ? true : false" :loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
this.getMilitaryDeployment() this.getMilitaryDeployment()
@expand="expandTable"
:pagination="false" :pagination="false"
filterMultiple:false
/> />
<div class="pa"> <div class="pa">
<a-pagination <a-pagination
@@ -90,85 +94,25 @@
:current="currentPage" :current="currentPage"
:total="tableDataTotal" :total="tableDataTotal"
class="pagination" class="pagination"
@change="handelChangePage"
/> />
</div> </div>
</div> </div>
</div> </div>
<div class="main_btns"> <div class="main_btns">
<button class="btn1">取消</button> <button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2">确定</button> <button class="btn2" @click="updateTask">确定</button>
</div> </div>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
<script> <script>
import { reactive, toRefs, ref } from "vue"; import { reactive, toRefs, onMounted } from "vue";
const options1 = ref([ import * as api from "../../api/indexInvist.js";
{ import * as apiTask from "../../api/indexTaskadd";
value: "value1", import { message } from "ant-design-vue";
label: "请选择状态", import { RouterEditTask } from "@/api/indexTask";
}, import dayjs from "dayjs";
]);
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) => {
console.log(
`selectedRowKeys: ${selectedRowKeys}`,
"selectedRows: ",
selectedRows
);
},
onSelect: (record, selected, selectedRows) => {
console.log(record, selected, selectedRows);
},
onSelectAll: (selected, selectedRows, changeRows) => {
console.log(selected, selectedRows, changeRows);
},
});
export default { export default {
name: "AddOnline", name: "AddOnline",
props: { props: {
@@ -176,109 +120,227 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
EditInvistId: {
type: Number,
default: null,
},
edit: { // 是否为编辑
type: Boolean,
default: null,
},
projectId: {
type: Number,
default: null,
},
chooseStageId: {
type: Number,
default: null,
},
routerTaskId: {
type: Number,
default: 0,
},
isLevel: { // 是否是关卡页面触发
type: Boolean,
default: null,
},
projectTaskId: { // 要编辑的projectId
type: Number,
default: null,
},
routerId: {
type: Number,
default: null,
},
isactive: {
type: Number,
default: null,
}
}, },
setup(props, ctx) { setup(props, ctx) {
const state = reactive({ const state = reactive({
tableData1: [ inputV1:"",
options1 : [
{ {
key: "1", value: "value1",
num: "JDF2022071100001", label: "未完成",
name: "时间管理课程",
content: "通用力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "2",
num: "JDF2022071100001",
name: "管理能力课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "3",
num: "JDF2022071100001",
name: "快速换模SMED",
content: "通用力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "4",
num: "JDF2022071100001",
name: "巧妙对话人见人夸",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "5",
num: "JDF2022071100001",
name: "管理能力课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "6",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "7",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "8",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
},
{
key: "9",
num: "JDF2022071100001",
name: "时间管理课程",
content: "领导力",
teacher: "BOE教师",
creator: "管理员",
time: "2022-10-31 23:12:00",
}, },
], ],
time: undefined,
assessmentId:null,
assessmentName:"",
tableData: [ ],
currentPage: 1, currentPage: 1,
tableDataTotal: 100, tableDataTotal: 0,
pageSize: 10, pageSize: 10,
}); });
const closeDrawer = () => { const closeDrawer = () => {
ctx.emit("update:addonlineVisible", false); ctx.emit("update:addonlineVisible", false);
ctx.emit("update:edit", false);
}; };
const afterVisibleChange = (bool) => { const afterVisibleChange = (bool) => {
console.log("state", bool); console.log("state", bool);
}; };
const tableDataFunc = () => {
const columns = [
{
title: "课程编号",
dataIndex: "num",
key: "num",
width: "200px",
align: "center",
},
{
title: "名称",
dataIndex: "name",
// width: "30%",
key: "name",
width: "100px",
align: "left",
className: "classify",
}, {
title: "内容分类",
dataIndex: "content",
key: "content",
width: "80px",
align: "center",
},
{
title: "授课教师",
dataIndex: "teacher",
key: "teacher",
width: "80px",
align: "center",
},
{
title: "创建人",
dataIndex: "creator",
key: "creator",
width: "80px",
align: "center",
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
width: "200px",
align: "center",
},
];
return columns;
};
const rowSelection = {
onSelect: (selectedRows, selected, selectedRowKeys) => {
console.log(
"selectedRowKeys", selectedRowKeys, "selectedRows", selectedRows, "selected", selected);
console.log(selectedRows.assessmentId);
state.assessmentId = selectedRows.assessmentId;
state.assessmentName = selectedRows.name;
},
};
const handelChangePage = (page, pageSize) => {
state.currentPage = page;
state.pageSize = pageSize;
getAllInvistText();
};
const getTableDate = (tableData) => {
let data = tableData;
let array = [];
data.map((value, index) => {
let obj = {
key: index,
assessmentId: value.assessmentId,
num: value.essayQuestionVoList.length,
name: value.assessmentName ? value.assessmentName : "-",
creator: value.createUser ? value.createUser : "-",
time: dayjs(value.createTime).format("YYYY-MM-DD"),
};
array.push(obj);
});
state.tableData = array;
};
//获取全部在线信息接口
const getAllInvistText = () => {
api
.queryAssessmentDetailList({
assessmentName: "",
pageNo: state.currentPage,
pageSize: state.pageSize,
})
.then((res) => {
let arr = res.data.data.rows;
if (res.status === 200) {
// console.log("获取在线信息", res.data.data);
getTableDate(arr);
state.tableDataTotal = Number(res.data.data.total);
}
})
.catch((err) => {
console.log("获取全部在线信息接口失败", err);
// state.createLoading = false;
});
};
const updateTask =()=>{
console.log("jinlaile=================",state.assessmentName)
if(props.isLevel){
RouterEditTask({
chapterId: props.isactive,
courseId: state.assessmentId,
name: state.assessmentName,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 1,
})
.then((res) => {
console.log(res, 11111);
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch((err) => {
console.log(err, 1111);
});
}else{
console.log("=========projectTaskId",props.projectTaskId);
apiTask
.addTask({
courseId: state.assessmentId,
name: state.assessmentName,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 1,
})
.then((res) => {
console.log("调用项目添加接口后111", res.data, 11111);
ctx.emit("changeData", false);
closeDrawer();
})
.catch((err) => {
console.log(err, 111111);
});
}
}
//重置在线信息
const resetInvist = () => {
state.inputV1 = "";
getAllInvistText();
};
onMounted(() => {
// createInvist();
getAllInvistText();
});
return { return {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
closeDrawer, closeDrawer,
options1, tableDataFunc,
columns1,
rowSelection, rowSelection,
handelChangePage,
getTableDate,
updateTask,
resetInvist,
}; };
}, },
}; };

View File

@@ -97,7 +97,14 @@
</div> </div>
<!-- 添加在线侧弹窗 --> <!-- 添加在线侧弹窗 -->
<div> <div>
<add-online v-model:addonlineVisible="addonlinevisible" /> <add-online
v-model:addonlineVisible="addonlinevisible"
@changeData="updateTableData"
v-model:edit="edit"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId"
v-model:EditOnlineId = "EditOnlineId"/>
</div> </div>
<!-- 添加在线侧弹窗 --> <!-- 添加在线侧弹窗 -->
<div class="lin"></div> <div class="lin"></div>
@@ -925,7 +932,9 @@ export default {
EditActiveId:null,//要编辑的活动id EditActiveId:null,//要编辑的活动id
EditWorkId:null, // 要编辑的作业id EditWorkId:null, // 要编辑的作业id
EditTestId: null,// 要编辑的考试id EditTestId: null,// 要编辑的考试id
EditOnlineId:null, //要编辑的在线id
EditEvalId:null, EditEvalId:null,
evaluationId: null, //编辑需要的id
EditInvistId:null, EditInvistId:null,
EditVoteId: null, //编辑需要投票的id EditVoteId: null, //编辑需要投票的id
ballotId: "", //编辑需要的题干id ballotId: "", //编辑需要的题干id
@@ -1471,8 +1480,10 @@ export default {
document.getElementsByTagName("main")[0].style.boxShadow = document.getElementsByTagName("main")[0].style.boxShadow =
"0px 1px 35px 0px rgba(118, 136, 166, 0.07)"; "0px 1px 35px 0px rgba(118, 136, 166, 0.07)";
}); });
const showDrawerOnline = () => { const showDrawerOnline = (id, eleId) => {
state.addonlinevisible = true; state.addonlinevisible = true;
state.EditOnlineId = id;
state.projectTaskId = eleId;
}; };
const showDrawerFaceteach = () => { const showDrawerFaceteach = () => {
state.addfaceteachvisible = true; state.addfaceteachvisible = true;
@@ -1514,15 +1525,16 @@ export default {
}; };
const showDrawerAddEval = (id, eleId) => { const showDrawerAddEval = (id, eleId) => {
state.addevalvisible = true; state.addevalvisible = true;
// state.EditEvalId = id;
state.evaluationId = id; state.evaluationId = id;
state.projectTaskId = eleId; state.projectTaskId = eleId;
}; };
const showDrawerAddInvist = (id, eleId) => { const showDrawerAddInvist = (id, eleId) => {
console.log(id, eleId, '213312');
state.addinvistvisible = true; state.addinvistvisible = true;
state.projectTaskId = eleId; state.projectTaskId = eleId;
}; };
const showDrawerAddVote = (id, eleId) => { const showDrawerAddVote = (id, eleId) => {
console.log(id, eleId, '95835325932953295325');
state.addvotevisible = true; state.addvotevisible = true;
state.EditVoteId = id; state.EditVoteId = id;
state.projectTaskId = eleId; state.projectTaskId = eleId;
@@ -1645,6 +1657,8 @@ export default {
showDrawerAddHomework(id, eleId); showDrawerAddHomework(id, eleId);
} else if (type == "考试") { } else if (type == "考试") {
showDrawerAddTest(id, eleId); showDrawerAddTest(id, eleId);
} else if (type == "在线") {
showDrawerOnline(id, eleId);
} }
}; };
return { return {