fix:修改创建评估及编辑评估回显

This commit is contained in:
lixg
2022-12-14 11:55:48 +08:00
parent a70b55906f
commit ea3315ac32
3 changed files with 272 additions and 240 deletions

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-21 14:32:52 * @Date: 2022-11-21 14:32:52
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2022-12-13 15:30:27 * @LastEditTime: 2022-12-14 09:04:31
* @FilePath: /fe-manage/src/api/config.js * @FilePath: /fe-manage/src/api/config.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@@ -56,7 +56,7 @@ http.interceptors.response.use(
return response; return response;
} else { } else {
if (code === 1000) { if (code === 1000) {
window.open("https://u-pre.boe.com/web/", '_self'); // window.open("https://u-pre.boe.com/web/", '_self');
// window.open("http://111.231.196.214:12013/manage/login", '_self'); // window.open("http://111.231.196.214:12013/manage/login", '_self');
} }
console.log("api %o", msg); console.log("api %o", msg);

View File

@@ -21,21 +21,17 @@
<div class="main"> <div class="main">
<div class="main_left"> <div class="main_left">
<AssessmentAll <AssessmentAll
v-model:assessmentVisible="assessmentVisible" v-model:assessmentVisible="assessmentVisible"
v-model:assessmentId="assessmentId" v-model:assessmentId="assessmentId"
v-model:assessmentName="assessmentName" v-model:assessmentName="assessmentName"
/>
/>
</div> </div>
</div> </div>
</div> </div>
<div class="main_btns"> <div class="main_btns">
<button class="btn1" @click="closeDrawer">取消</button> <button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2" @click="updateTask">确定</button> <button class="btn2" @click="updateTask">确定</button>
</div> </div>
</div> </div>
</a-drawer> </a-drawer>
</template> </template>
@@ -119,16 +115,16 @@ export default {
assessmentName: "", assessmentName: "",
assessment: null, assessment: null,
assessment1: null, assessment1: null,
assessmentVisible:false, assessmentVisible: false,
titleTag: false, titleTag: false,
}); });
// const getCheckedAss = (ass) => { // const getCheckedAss = (ass) => {
// state.assessmentId = ass.assessmentId; // state.assessmentId = ass.assessmentId;
// state.assessment = ass; // state.assessment = ass;
// console.log("state.assessment1",state.assessment); // console.log("state.assessment1",state.assessment);
// //
// }; // };
const closeDrawer = () => { const closeDrawer = () => {
ctx.emit("update:addinvistVisible", false); ctx.emit("update:addinvistVisible", false);
ctx.emit("update:edit", false); ctx.emit("update:edit", false);
@@ -138,43 +134,45 @@ export default {
// ctx.emit("changeData", false); // ctx.emit("changeData", false);
localStorage.setItem("stageId", props.chooseStageId); localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive); localStorage.setItem("chapterId", props.isactive);
}; };
const checkAssDrawer = () => { const checkAssDrawer = () => {
state.assessmentVisible = true; state.assessmentVisible = true;
}; };
const afterVisibleChange = (bool) => { const afterVisibleChange = (bool) => {
if(bool && props.EditInvistId >0){ if (bool && props.EditInvistId > 0) {
state.assessmentVisible = true; state.assessmentVisible = true;
state.assessmentId = props.EditInvistId; state.assessmentId = props.EditInvistId;
}else{ } else {
state.assessmentId =null; state.assessmentId = null;
state.assessmentName =null; state.assessmentName = null;
} }
}; };
const updateTask = () => { const updateTask = () => {
console.log("state.assessmentId ",state.assessmentId ,state.assessmentName ); console.log(
"state.assessmentId ",
state.assessmentId,
state.assessmentName
);
if (!state.assessmentId) { if (!state.assessmentId) {
return message.warning("请选择评估"); return message.warning("请选择评估");
} }
let l_data_id = []; let l_data_id = [];
l_data_id.push(Number(state.assessmentId)) l_data_id.push(Number(state.assessmentId));
console.log("state.assessment",state.assessment,state.assessmentId); console.log("state.assessment", state.assessment, state.assessmentId);
if (props.isLevel == 1) { if (props.isLevel == 1) {
if(!props.isactive){ if (!props.isactive) {
message.destroy(); message.destroy();
return message.warning("请先选中关卡"); return message.warning("请先选中关卡");
} }
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: 11, type: 11,
}) })
.then((res) => { .then((res) => {
console.log('shifouchongfu',res) console.log("shifouchongfu", res);
console.log("路径图中是否包含此评估了", res); console.log("路径图中是否包含此评估了", res);
if (res.data.data.length) { if (res.data.data.length) {
let strdata = res.data.data; let strdata = res.data.data;
@@ -200,7 +198,9 @@ export default {
}) })
.then(() => { .then(() => {
message.destroy(); message.destroy();
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); message.success(
`${props.edit ? "编辑" : "新增"}关卡任务成功`
);
ctx.emit("changeData", false); ctx.emit("changeData", false);
closeDrawer(); closeDrawer();
state.addLoading = false; state.addLoading = false;
@@ -210,20 +210,20 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`); message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`);
}); });
} }
}).catch(err=>{
console.log(err)
}) })
.catch((err) => {
console.log(err);
});
} else if (props.isLevel == 2) { } else if (props.isLevel == 2) {
IsExistenceProject({ IsExistenceProject({
courseTaskId: l_data_id, courseTaskId: l_data_id,
projectId: props.projectId, projectId: props.projectId,
stageId: props.chooseStageId || 0, stageId: props.chooseStageId || 0,
type: 11, type: 11,
}).then(res=>{ })
console.log(res) .then((res) => {
console.log("项目中是否包含此评估了", res); console.log(res);
console.log("项目中是否包含此评估了", res);
if (res.data.data.length) { if (res.data.data.length) {
let strdata = res.data.data; let strdata = res.data.data;
let tipStr = ""; let tipStr = "";
@@ -239,71 +239,70 @@ export default {
return; return;
} else { } else {
apiTask apiTask
.addTask({ .addTask({
courseId: state.assessmentId, courseId: state.assessmentId,
name: state.assessmentName, name: state.assessmentName,
projectId: props.projectId, projectId: props.projectId,
projectTaskId: props.projectTaskId || 0, projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0, stageId: props.chooseStageId || 0,
type: 11, type: 11,
}) })
.then(() => { .then(() => {
message.success(`${props.edit ? "编辑" : "新增"}任务成功`); message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
ctx.emit("changeData", false); ctx.emit("changeData", false);
closeDrawer(); closeDrawer();
}) })
.catch(() => { .catch(() => {
message.error(`${props.edit ? "编辑" : "新增"}任务失败`); message.error(`${props.edit ? "编辑" : "新增"}任务失败`);
}); });
} }
}).catch(err=>{ })
console.log(err) .catch((err) => {
}) console.log(err);
});
} else if (props.isLevel == 3) { } else if (props.isLevel == 3) {
IsExistenceProjectTemplate({ IsExistenceProjectTemplate({
courseTaskId: l_data_id, courseTaskId: l_data_id,
projectTemplateId: props.projectTemplateId, projectTemplateId: props.projectTemplateId,
stageId: props.chooseStageId || 0, stageId: props.chooseStageId || 0,
type: 11, type: 11,
}).then((res)=>{ }).then((res) => {
console.log(res) console.log(res);
console.log("项目中是否包含此评估了", res); console.log("项目中是否包含此评估了", res);
if (res.data.data.length) { if (res.data.data.length) {
let strdata = res.data.data; let strdata = res.data.data;
let tipStr = ""; let tipStr = "";
for (let i = 0; i < strdata.length; i++) { for (let i = 0; i < strdata.length; i++) {
if (i == strdata.length - 1) { if (i == strdata.length - 1) {
tipStr += strdata[i].courseName; tipStr += strdata[i].courseName;
} else { } else {
tipStr += strdata[i].courseName + "/"; tipStr += strdata[i].courseName + "/";
}
} }
message.destroy();
message.warning("评估(" + tipStr + ")重复添加");
return;
}else{
addTempTask({
courseId: state.assessmentId,
name: state.assessmentName,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 11,
})
.then(() => {
message.destroy();
message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy();
message.error(`${props.edit ? "编辑" : "新增"}任务失败`);
});
} }
message.destroy();
message.warning("评估(" + tipStr + ")重复添加");
return;
} else {
addTempTask({
courseId: state.assessmentId,
name: state.assessmentName,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 11,
})
.then(() => {
message.destroy();
message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
message.destroy();
message.error(`${props.edit ? "编辑" : "新增"}任务失败`);
});
}
}); });
} }
}; };
@@ -313,7 +312,6 @@ export default {
closeDrawer, closeDrawer,
updateTask, updateTask,
checkAssDrawer, checkAssDrawer,
}; };
}, },
}; };
@@ -339,7 +337,6 @@ export default {
} }
} }
.contentMain { .contentMain {
.main { .main {
width: 100%; width: 100%;
.main_left { .main_left {
@@ -348,7 +345,7 @@ export default {
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
.fi_input { .fi_input {
margin-right: 20px; margin-right: 20px;
} }
@@ -410,7 +407,7 @@ export default {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-bottom:3px; margin-bottom: 3px;
height: 40px; height: 40px;
background-color: #e9f6fe; background-color: #e9f6fe;
.mntc_left { .mntc_left {
@@ -439,11 +436,11 @@ export default {
} }
} }
} }
.main_btns { .main_btns {
height: 72px; height: 72px;
width: 100%; width: 100%;
bottom: 0; bottom: 0;
left: 0; left: 0;
display: flex; display: flex;

View File

@@ -1,59 +1,54 @@
<!-- 评估列表 --> <!-- 评估列表 -->
<template> <template>
<div class="main_item">
<div class="main_item"> <div class="fi_input">
<div class="fi_input"> <a-input
<a-input v-model:value="inputV1"
v-model:value="inputV1" style="width: 424px; height: 40px; border-radius: 8px"
style="width: 424px; height: 40px; border-radius: 8px;" placeholder="请输入评估名称"
placeholder="请输入评估名称" maxlength="20"
maxlength="20" />
/>
</div>
<div class="btns" @click="getAllInvistText">
<div class="search"></div>
<div class="btnText">搜索</div>
</div>
<div class="btnsn" @click="resetInvist">
<div class="search"></div>
<div class="btnText">重置</div>
</div>
</div> </div>
<div class="main_notice"> <div class="btns" @click="getAllInvistText">
<div class="mntc_left"> <div class="search"></div>
<div class="notice_icon"></div> <div class="btnText">搜索</div>
<div v-if="assessment == null"> </div>
<span class="title" <div class="btnsn" @click="resetInvist">
>已选择 <span class="data">0</span> </span <div class="search"></div>
> <div class="btnText">重置</div>
</div> </div>
<div v-else> </div>
<div > <div class="main_notice">
<span class="title" <div class="mntc_left">
>已选择 <span class="data">1</span> ;</span <div class="notice_icon"></div>
> <div v-if="assessment == null">
<span class="title" <span class="title">已选择 <span class="data">0</span> </span>
>名称 <span class="data">{{ assessment.name }}</span> </div>
</span><!-- <div v-else>
<div>
<span class="title">已选择 <span class="data">1</span> ;</span>
<span class="title"
>名称 <span class="data">{{ assessment.name }}</span> </span
><!--
<span class="title" <span class="title"
>题数 <span class="data">{{ assessment.essayQuestionVoList?Number(assessment.essayQuestionVoList.length):0 >题数 <span class="data">{{ assessment.essayQuestionVoList?Number(assessment.essayQuestionVoList.length):0
+Number(assessment.multipleStemVoList?assessment.multipleStemVoList.length:0) +Number(assessment.multipleStemVoList?assessment.multipleStemVoList.length:0)
+Number(assessment.scoringQuestionVoList?assessment.scoringQuestionVoList.length:0) +Number(assessment.scoringQuestionVoList?assessment.scoringQuestionVoList.length:0)
+Number(assessment.singleStemVoList?assessment.singleStemVoList.length:0) }}</span> +Number(assessment.singleStemVoList?assessment.singleStemVoList.length:0) }}</span>
</span>--> </span>-->
<span class="title" <span class="title"
>题数 <span class="data">{{ assessment.num }}</span> >题数 <span class="data">{{ assessment.num }}</span>
</span> </span>
<span class="title" <span class="title"
>创建人 >创建人
<span class="data">{{ assessment.creator }}</span> <span class="data">{{ assessment.creator }}</span>
</span> </span>
<span class="title" <span class="title"
>创建时间 >创建时间
<span class="data">{{ assessment.time }}</span> <span class="data">{{ assessment.time }}</span>
</span> </span>
</div> </div>
<!-- <!--
<div v-else> <div v-else>
<span class="title" <span class="title"
>已选择 <span class="data">1</span> ;</span >已选择 <span class="data">1</span> ;</span
@@ -78,27 +73,27 @@
</span> </span>
</div> </div>
--> -->
</div>
</div>
</div> </div>
</div>
<div class="main_table"> </div>
<a-table
style="border: 1px solid #f2f6fe" <div class="main_table">
:columns="tableDataFunc()" <a-table
:data-source="tableData" style="border: 1px solid #f2f6fe"
:loading="tableDataTotal === -1 ? true : false" :columns="tableDataFunc()"
expandRowByClick="true" :data-source="tableData"
@expand="expandTable" :loading="tableDataTotal === -1 ? true : false"
:pagination="false" expandRowByClick="true"
:row-selection="{ @expand="expandTable"
type: 'radio', :pagination="false"
selectedRowKeys: selectedRowKeys, :row-selection="{
onChange: onSelectChange, type: 'radio',
}" selectedRowKeys: selectedRowKeys,
filterMultiple:false onChange: onSelectChange,
/> }"
<div class="tableBox"> filterMultiple:false
/>
<div class="tableBox">
<div class="pa"> <div class="pa">
<a-pagination <a-pagination
:showSizeChanger="false" :showSizeChanger="false"
@@ -110,12 +105,12 @@
class="pagination" class="pagination"
@change="handelChangePage" @change="handelChangePage"
/> />
</div></div> </div>
</div> </div>
</div>
</template> </template>
<script> <script>
import { reactive, toRefs,onMounted } from "vue"; import { reactive, toRefs, onMounted, watch } from "vue";
import * as api from "../../api/indexInvist.js"; import * as api from "../../api/indexInvist.js";
import dayjs from "dayjs"; import dayjs from "dayjs";
export default { export default {
@@ -127,11 +122,11 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
assessmentId:{ assessmentId: {
type: Number, type: Number,
default: null, default: null,
}, },
assessmentName:{ assessmentName: {
type: String, type: String,
default: null, default: null,
}, },
@@ -145,38 +140,55 @@ export default {
pageSize: 10, pageSize: 10,
tableDataTotal: 0, tableDataTotal: 0,
tableData: [], tableData: [],
selectedRowKeys:[], selectedRowKeys: [],
assessmentId:null, assessmentId: null,
assessmentName:null, assessmentName: null,
}); });
const closeDrawer = () => { const closeDrawer = () => {
ctx.emit("update:assessmentVisible", false); ctx.emit("update:assessmentVisible", false);
}; };
//清空所选 //清空所选
const clearLine = () => { const clearLine = () => {
console.log("state.selectedRowKeys",state.selectedRowKeys) console.log("state.selectedRowKeys", state.selectedRowKeys);
state.selectedRowKeys = []; state.selectedRowKeys = [];
state.addOnlineList = []; state.addOnlineList = [];
}; };
const queryInfo = () => { const queryInfo = () => {
//if (props.edit) { //if (props.edit) {
// state.titleTg = false; // state.titleTg = false;
//编辑讨 //编辑讨
console.log("查询评估",props.assessmentId); console.log("查询评估", props.assessmentId);
if(props.assessmentId){ if (props.assessmentId) {
api api
.queryAppraiseDetailById({ assessmentId: props.assessmentId }) .queryAppraiseDetailById({ assessmentId: props.assessmentId })
.then((res) => { .then((res) => {
console.log(res); console.log("查询评估xinxi ", res);
let info = res.data.data;
let obj = {
assessmentId: info.assessmentId,
name: info.assessmentName,
num: info.essayQuestionVoList
? Number(info.essayQuestionVoList.length)
: 0 + info.multipleStemVoList
? Number(info.multipleStemVoList.length)
: 0 + info.scoringQuestionVoList
? Number(info.scoringQuestionVoList.length)
: 0 + info.singleStemVoList
? Number(info.singleStemVoList.length)
: 0,
creator: info.createUser ? info.createUser : "-",
time: dayjs(info.createTime).format("YYYY-MM-DD"),
};
//更新讨论信息 //更新讨论信息
state.assessment = res.data.data; state.assessment = obj;
// state.assessmentId = res.data.data.assessmentId; state.selectedRowKeys = [info.assessmentId];
// state.assessmentId = res.data.data.assessmentId;
}) })
.catch(() => {}); .catch(() => {});
} }
// } // }
}; };
const tableDataFunc = () => { const tableDataFunc = () => {
const columns = [ const columns = [
@@ -219,13 +231,12 @@ export default {
state.addOnlineList = selectedRows; state.addOnlineList = selectedRows;
console.log(selectedRowKeys, selectedRows); console.log(selectedRowKeys, selectedRows);
state.assessment = selectedRows[0]; state.assessment = selectedRows[0];
console.log("selectedRows=======", state.assessment); console.log("selectedRows=======", state.assessment);
// ctx.emit("checkedAss", state.assessment); // ctx.emit("checkedAss", state.assessment);
ctx.emit("update:assessmentId", state.assessment.assessmentId); ctx.emit("update:assessmentId", state.assessment.assessmentId);
ctx.emit("update:assessmentName", state.assessment.name); ctx.emit("update:assessmentName", state.assessment.name);
} };
const handelChangePage = (page, pageSize) => { const handelChangePage = (page, pageSize) => {
state.currentPage = page; state.currentPage = page;
state.pageSize = pageSize; state.pageSize = pageSize;
@@ -234,21 +245,27 @@ 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) => {
let obj = { let obj = {
key: index, key: value.assessmentId,
assessmentId: value.assessmentId, assessmentId: value.assessmentId,
num: value.essayQuestionVoList?Number(value.essayQuestionVoList.length):0 num: value.essayQuestionVoList
+value.multipleStemVoList?Number(value.multipleStemVoList.length):0 ? Number(value.essayQuestionVoList.length)
+value.scoringQuestionVoList?Number(value.scoringQuestionVoList.length):0 : 0 + value.multipleStemVoList
+value.singleStemVoList?Number(value.singleStemVoList.length):0, ? Number(value.multipleStemVoList.length)
: 0 + value.scoringQuestionVoList
? Number(value.scoringQuestionVoList.length)
: 0 + value.singleStemVoList
? Number(value.singleStemVoList.length)
: 0,
name: value.assessmentName ? value.assessmentName : "-", name: value.assessmentName ? value.assessmentName : "-",
creator: value.createUser ? value.createUser : "-", creator: value.createUser ? value.createUser : "-",
time: dayjs(value.createTime).format("YYYY-MM-DD"), time: dayjs(value.createTime).format("YYYY-MM-DD"),
}; };
array.push(obj); array.push(obj);
}); });
(state.selectedRowKeys = []), (state.tableData = array); state.selectedRowKeys = [];
state.tableData = array;
}; };
//获取全部评估信息接口 //获取全部评估信息接口
const getAllInvistText = () => { const getAllInvistText = () => {
@@ -279,15 +296,34 @@ export default {
}; };
onMounted(() => { onMounted(() => {
clearLine(); clearLine();
console.log("state.selectedRowKeys",state.selectedRowKeys) console.log(
if(!state.assessmentId){ "state.selectedRowKeys",
state.selectedRowKeys,
state.assessmentId
);
if (!state.assessmentId) {
clearLine(); clearLine();
} }
queryInfo(); queryInfo();
getAllInvistText(); getAllInvistText();
}); });
watch(
() => props.assessmentId,
() => {
if (!props.assessmentId) {
clearLine();
state.assessment = null;
} else {
queryInfo();
}
console.log("props.assessmentId", props.assessmentId);
},
{
deep: true,
}
);
return { return {
...toRefs(state), ...toRefs(state),
onSelectChange, onSelectChange,
@@ -322,14 +358,13 @@ export default {
} }
} }
.contentMain { .contentMain {
.main_left { .main_left {
padding-right: 30px; padding-right: 30px;
margin-top: 32px; margin-top: 32px;
.main_item { .main_item {
display: flex; display: flex;
align-items: center; align-items: center;
.fi_input { .fi_input {
margin-right: 20px; margin-right: 20px;
} }
@@ -398,36 +433,36 @@ export default {
} }
} }
.main_table { .main_table {
position: relative; position: relative;
padding-bottom: 80px; padding-bottom: 80px;
.ant-checkbox-wrapper { .ant-checkbox-wrapper {
align-items: center; align-items: center;
margin-top: -2px; margin-top: -2px;
}
.ant-table-selection-column {
padding: 0px !important;
padding-left: 5px !important;
}
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1);
}
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
.pa {
left: 0;
width: 100%;
display: flex;
justify-content: center;
position: absolute;
bottom: 20px;
}
} }
.ant-table-selection-column {
padding: 0px !important;
padding-left: 5px !important;
}
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1);
}
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
.pa {
left: 0;
width: 100%;
display: flex;
justify-content: center;
position: absolute;
bottom: 20px;
}
}
.main_btns { .main_btns {
height: 72px; height: 72px;
width: 100%; width: 100%;