feat:添加案例接口修改 部分分抽屉的margintop值

This commit is contained in:
Ggysh-7
2022-11-15 12:50:02 +08:00
parent 9659ebef3a
commit 633ec2d6bf
13 changed files with 418 additions and 291 deletions

View File

@@ -509,6 +509,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -1,210 +1,300 @@
<template> <template>
<a-drawer <a-drawer
:visible="addcaseVisible" :visible="addcaseVisible"
class="drawerStyle addcaseDrawer" class="drawerStyle addcaseDrawer"
width="80%" width="80%"
title="添加案例" title="添加案例"
placement="right" placement="right"
@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>
<img <div v-else class="headerTitle">添加案例</div>
style="width: 29px; height: 29px; cursor: pointer" <img
src="../../assets/images/basicinfo/close.png" style="width: 29px; height: 29px; cursor: pointer"
@click="closeDrawer" src="../../assets/images/basicinfo/close.png"
/> @click="closeDrawer"
</div> />
<div class="contentMain"> </div>
<div class="main_items"> <div class="contentMain">
<div class="mi_ipts"> <div class="main_items">
<div class="mii_ipt"> <div class="mi_ipts">
<div class="ipt_name">案例标题</div> <div class="mii_ipt">
<div class="fi_input"> <div class="ipt_name">案例标题</div>
<a-input <div class="fi_input">
v-model:value="inputV1" <a-input
style="width: 264px; height: 40px; border-radius: 8px" v-model:value="inputV1"
placeholder="请输入项目名称" style="width: 264px; height: 40px; border-radius: 8px"
/> placeholder="请输入项目名称"
</div>
</div>
</div>
<div class="mi_btns">
<div class="btn btn1">
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
<div class="btn btn2">
<div class="search"></div>
<div class="btnText">重置</div>
</div>
</div>
</div>
<div class="main_table">
<a-table
class="ant-table-striped"
:row-class-name="
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
"
:row-selection="rowSelection"
:columns="columns1"
:data-source="tableData1"
:loading="tableDataTotal === -1 ? true : false"
:pagination="false"
/>
<div class="pa">
<a-pagination
showSizeChanger="true"
showQuickJumper="true"
hideOnSinglePage="true"
:pageSize="pageSize"
:current="currentPage"
:total="tableDataTotal"
class="pagination"
/> />
</div> </div>
</div>
</div> </div>
</div> <div class="mi_btns">
<div class="main_btns"> <div class="btn btn1">
<button class="btn1">取消</button> <div class="search"></div>
<button class="btn2">确定</button> <div class="btnText">搜索</div>
</div>
<div class="btn btn2" @click="resetCase()">
<div class="search"></div>
<div class="btnText">重置</div>
</div>
</div>
</div>
<div class="main_table">
<a-table class="ant-table-striped" :row-class-name="
(_record, index) => (index % 2 === 1 ? 'table-striped' : null)
" :row-selection="rowSelection" :columns="tableDataFunc()" :data-source="tableData"
:loading="tableDataTotal === -1 ? true : false" expandRowByClick="true" this.getMilitaryDeployment()
@expand="expandTable" :pagination="false" filterMultiple:false
/>
<div class="pa">
<a-pagination
showSizeChanger="true"
showQuickJumper="true"
hideOnSinglePage="true"
:pageSize="pageSize"
:current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="handelChangePage"
/>
</div>
</div> </div>
</div> </div>
</a-drawer> <div class="main_btns">
</template> <button class="btn1" @click="closeDrawer">取消</button>
<script> <button class="btn2" @click="updateTask">确定</button>
import { reactive, toRefs, ref } from "vue"; </div>
const columns1 = [ </div>
{ </a-drawer>
title: "案例标题", </template>
width: "40%", <script>
dataIndex: "title", import { reactive, toRefs, onMounted } from "vue";
key: "num", import * as api from "../../api/indexInvist.js";
align: "center", import * as apiTask from "../../api/indexTaskadd";
ellipsis: true, import { message } from "ant-design-vue";
import { RouterEditTask } from "@/api/indexTask";
import dayjs from "dayjs";
export default {
name: "AddCase",
props: {
addcaseVisible: {
type: Boolean,
default: false,
}, },
{ EditCaseId: {
title: "作者", type: Number,
width: "25%", default: null,
dataIndex: "name",
key: "name",
align: "center",
}, },
{ edit: { // 是否为编辑
title: "导入时间", type: Boolean,
width: "35%", default: null,
dataIndex: "time",
key: "time",
align: "center",
}, },
]; projectId: {
const rowSelection = ref({ type: Number,
checkStrictly: false, default: null,
onChange: (selectedRowKeys, selectedRows) => {
console.log(
`selectedRowKeys: ${selectedRowKeys}`,
"selectedRows: ",
selectedRows
);
}, },
onSelect: (record, selected, selectedRows) => { chooseStageId: {
console.log(record, selected, selectedRows); type: Number,
default: null,
}, },
onSelectAll: (selected, selectedRows, changeRows) => { routerTaskId: {
console.log(selected, selectedRows, changeRows); type: Number,
default: 0,
}, },
}); isLevel: { // 是否是关卡页面触发
export default { type: Boolean,
name: "AddCase", default: null,
props: { },
addcaseVisible: { projectTaskId: { // 要编辑的projectId
type: Boolean, type: Number,
default: false, default: null,
},
routerId: {
type: Number,
default: null,
},
isactive: {
type: Number,
default: null,
}
},
setup(props, ctx) {
const state = reactive({
tableData: [
{
key: "1",
title: "基于BOE显示PNL工厂的工序平1111112222222221111111111111122222333335555",
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
],
currentPage: 1,
tableDataTotal: 0,
pageSize: 10,
inputV1: '',
time: undefined,
assessmentId: null,
assessmentName: "",
});
const closeDrawer = () => {
ctx.emit("update:addcaseVisible", false);
ctx.emit("update:edit", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
const tableDataFunc = () => {
const columns = [
{
title: "案例标题",
dataIndex: "tit",
key: "tit",
width: "400px",
align: "center",
},
{
title: "作者",
dataIndex: "name",
// width: "30%",
key: "name",
width: "100px",
align: "center",
className: "classify",
},
{
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;
}, },
}, };
setup(props, ctx) { const handelChangePage = (page, pageSize) => {
const state = reactive({ state.currentPage = page;
tableData1: [ state.pageSize = pageSize;
{ getAllCaseText();
key: "1", };
title: "基于BOE显示PNL工厂的工序平1111112222222221111111111111122222333335555", const getTableDate = (tableData) => {
name: "李玉冰", let data = tableData;
time: "2022-10-31 23:12:00", let array = [];
}, data.map((value, index) => {
{ let obj = {
key: "2", key: index,
title: "OEM 企业一线用工之路探索", assessmentId: value.assessmentId,
name: "李玉冰", num: value.essayQuestionVoList.length,
time: "2022-10-31 23:12:00", name: value.assessmentName ? value.assessmentName : "-",
}, creator: value.createUser ? value.createUser : "-",
{ time: dayjs(value.createTime).format("YYYY-MM-DD"),
key: "3", };
title: " 销售数字化转型的痛苦与探索", array.push(obj);
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
{
key: "4",
title: "疫情突发技能人才招聘的相关",
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
{
key: "5",
title: "设计效率提升之工具化",
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
{
key: "6",
title: "疫情突发技能人才招聘的相关",
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
{
key: "7",
title: "基于BOE显示PNL工厂的工序平",
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
{
key: "8",
title: "基于BOE显示PNL工厂的工序平",
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
{
key: "9",
title: "基于BOE显示PNL工厂的工序平",
name: "李玉冰",
time: "2022-10-31 23:12:00",
},
],
currentPage: 1,
tableDataTotal: 100,
pageSize: 10,
inputV1:'',
}); });
const closeDrawer = () => { state.tableData = array;
ctx.emit("update:addcaseVisible", false); };
}; //获取全部案例信息接口
const afterVisibleChange = (bool) => { const getAllCaseText = () => {
console.log("state", bool); api
}; .queryAssessmentDetailList({
return { assessmentName: "",
...toRefs(state), pageNo: state.currentPage,
afterVisibleChange, pageSize: state.pageSize,
closeDrawer, })
columns1, .then((res) => {
rowSelection, let arr = res.data.data.rows;
}; if (res.status === 200) {
}, // console.log("获取案例信息", res.data.data);
}; getTableDate(arr);
</script> state.tableDataTotal = Number(res.data.data.total);
<style lang="scss"> }
.ant-table-striped :deep(.table-striped) td { })
.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: 3,
})
.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: 3,
})
.then((res) => {
console.log("调用项目添加接口后111", res.data, 11111);
ctx.emit("changeData", false);
closeDrawer();
})
.catch((err) => {
console.log(err, 111111);
});
}
}
//重置案例信息
const resetCase = () => {
state.inputV1 = "";
getAllCaseText();
};
onMounted(() => {
// createCase();
getAllCaseText();
});
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
tableDataFunc,
rowSelection,
handelChangePage,
getTableDate,
updateTask,
getAllCaseText,
resetCase,
};
},
};
</script>
<style lang="scss">
.ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important; background-color: #fafafa !important;
} }
@@ -226,9 +316,12 @@
} }
} }
.contentMain { .contentMain {
.main_items { padding-right: 15px;
display: flex;
justify-content: space-between; .main_items {
display: flex;
justify-content: space-between;
margin-top: 32px;
margin-bottom: 12px; margin-bottom: 12px;
flex-wrap: wrap; flex-wrap: wrap;
.mi_ipts { .mi_ipts {
@@ -381,4 +474,4 @@
} }
} }
} }
</style> </style>

View File

@@ -300,6 +300,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -322,6 +322,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -400,99 +400,116 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 32px; margin-top: 32px;
.signbox { margin-bottom: 32px;
width: 120px;
display: flex; .signbox {
justify-content: end; width: 120px;
align-items: center;
.sign {
margin-right: 5px;
}
}
.btnbox {
display: flex;
flex: 1;
align-items: center;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
}
}
.main_item2 {
display: flex;
align-items: flex-start;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
}
.kqszbox {
.qdqtbox {
margin-left: 5px;
cursor: pointer;
}
.qdbtn,
.qtbtn {
width: 75px;
height: 24px;
background: rgba(56, 139, 225, 0.16);
border-radius: 2px;
border: 1px solid #387df7;
display: flex; display: flex;
justify-content: end;
align-items: center; align-items: center;
justify-content: center;
.btntext { .sign {
color: #387df7; margin-right: 5px;
} }
} }
.setbox {
.btnbox {
display: flex; display: flex;
flex-wrap: wrap; flex: 1;
margin-top: 10px; align-items: center;
margin-bottom: 24px;
.timerbox { .xkbtn {
margin-top: 6px; cursor: pointer;
margin-right: 32px; width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 8px;
color: #fff;
}
}
}
.main_item2 {
display: flex;
align-items: flex-start;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
}
.kqszbox {
.qdqtbox {
margin-left: 5px;
cursor: pointer;
}
.qdbtn,
.qtbtn {
width: 75px;
height: 24px;
background: rgba(56, 139, 225, 0.16);
border-radius: 2px;
border: 1px solid #387df7;
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: nowrap; justify-content: center;
.btntext {
color: #387df7;
}
}
.setbox {
display: flex;
flex-wrap: wrap;
margin-top: 10px;
margin-bottom: 24px;
.timerbox {
margin-top: 6px;
margin-right: 32px;
display: flex;
align-items: center;
flex-wrap: nowrap;
}
}
}
.btnbox2 {
display: flex;
flex-direction: column;
justify-content: flex-start;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 16px 8px 32px 0;
color: #fff;
margin-top: 16px;
margin-bottom: 60px;
} }
} }
} }
.btnbox2 {
display: flex;
flex-direction: column;
justify-content: flex-start;
.xkbtn {
cursor: pointer;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 16px 8px 32px 0;
color: #fff;
margin-top: 16px;
margin-bottom: 60px;
}
} }
}
} .main_right {
.main_right { width: 337px;
width: 337px;
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -488,6 +488,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {

View File

@@ -333,6 +333,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.fi_input { .fi_input {
margin-right: 20px; margin-right: 20px;

View File

@@ -701,6 +701,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -49,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" @click="resetInvist"> <div class="btn btn2" @click="resetOnline()">
<div class="search"></div> <div class="search"></div>
<div class="btnText">重置</div> <div class="btnText">重置</div>
</div> </div>
@@ -241,7 +241,7 @@ export default {
const handelChangePage = (page, pageSize) => { const handelChangePage = (page, pageSize) => {
state.currentPage = page; state.currentPage = page;
state.pageSize = pageSize; state.pageSize = pageSize;
getAllInvistText(); getAllOnlineText();
}; };
const getTableDate = (tableData) => { const getTableDate = (tableData) => {
let data = tableData; let data = tableData;
@@ -260,7 +260,7 @@ export default {
state.tableData = array; state.tableData = array;
}; };
//获取全部在线信息接口 //获取全部在线信息接口
const getAllInvistText = () => { const getAllOnlineText = () => {
api api
.queryAssessmentDetailList({ .queryAssessmentDetailList({
assessmentName: "", assessmentName: "",
@@ -323,13 +323,13 @@ export default {
} }
} }
//重置在线信息 //重置在线信息
const resetInvist = () => { const resetOnline = () => {
state.inputV1 = ""; state.inputV1 = "";
getAllInvistText(); getAllOnlineText();
}; };
onMounted(() => { onMounted(() => {
// createInvist(); // createOnline();
getAllInvistText(); getAllOnlineText();
}); });
return { return {
...toRefs(state), ...toRefs(state),
@@ -338,9 +338,10 @@ export default {
tableDataFunc, tableDataFunc,
rowSelection, rowSelection,
handelChangePage, handelChangePage,
getAllOnlineText,
getTableDate, getTableDate,
updateTask, updateTask,
resetInvist, resetOnline,
}; };
}, },
}; };
@@ -371,6 +372,7 @@ export default {
.main_items { .main_items {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 32px;
margin-bottom: 12px; margin-bottom: 12px;
flex-wrap: wrap; flex-wrap: wrap;
.mi_ipts { .mi_ipts {

View File

@@ -200,7 +200,7 @@
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
<script> <script>
import { reactive, ref, toRefs } from "vue"; import { reactive, ref, toRefs } from "vue";
import {message} from"ant-design-vue"; import {message} from"ant-design-vue";
import {createExamination,queryExaminationDetailById,updateExamination} from "@/api/indexExam" import {createExamination,queryExaminationDetailById,updateExamination} from "@/api/indexExam"
@@ -628,7 +628,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.ant-table-striped :deep(.table-striped) td { .ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important; background-color: #fafafa !important;
} }
@@ -659,6 +659,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -477,6 +477,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -435,6 +435,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 32px;
margin-bottom: 32px; margin-bottom: 32px;
.signbox { .signbox {
width: 120px; width: 120px;

View File

@@ -132,7 +132,9 @@
</div> </div>
<!-- 添加案例侧弹窗 --> <!-- 添加案例侧弹窗 -->
<div> <div>
<add-case v-model:addcaseVisible="addcasevisible" /> <add-case v-model:addcaseVisible="addcasevisible" @changeData="updateTableData" v-model:edit="edit"
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId"
v-model:EditCaseId="EditCaseId" />
</div> </div>
<!-- 添加案例侧弹窗 --> <!-- 添加案例侧弹窗 -->
<div class="lin"></div> <div class="lin"></div>
@@ -962,6 +964,8 @@ export default {
EditActiveId: null, //要编辑的活动id EditActiveId: null, //要编辑的活动id
EditWorkId: null, // 要编辑的作业id EditWorkId: null, // 要编辑的作业id
EditTestId: null, // 要编辑的考试id EditTestId: null, // 要编辑的考试id
EditCaseId:null,//要编辑的案例id
EditOnlineId:null,//要编辑的在线id
EditEvalId: null, EditEvalId: null,
EditInvistId: null, EditInvistId: null,
EditVoteId: null, //编辑需要投票的id EditVoteId: null, //编辑需要投票的id
@@ -1519,8 +1523,10 @@ export default {
const showDrawerFaceteach = () => { const showDrawerFaceteach = () => {
state.addfaceteachvisible = true; state.addfaceteachvisible = true;
}; };
const showDrawerAddCase = () => { const showDrawerAddCase = (id, eleId) => {
state.addcasevisible = true; state.addcasevisible = true;
state.EditCaseId = id;
state.projectTaskId = eleId;
}; };
const showDrawerAddHomework = (id, eleId) => { const showDrawerAddHomework = (id, eleId) => {
state.EditWorkId = id; state.EditWorkId = id;