【第一轮测试-项目-添加任务】所有添加任务涉及到从列表选择数据都存在选中数据删除后再次选择依旧为选中状态,且无法进行操作

This commit is contained in:
kclf
2022-12-06 14:16:58 +08:00
parent d5ad11d97a
commit ecc54f70b1
3 changed files with 264 additions and 257 deletions

View File

@@ -47,6 +47,7 @@
expandRowByClick="true" expandRowByClick="true"
@expand="expandTable" @expand="expandTable"
:pagination="false" :pagination="false"
:row-key="(record) => record.assessmentId"
:row-selection="{ :row-selection="{
selectedRowKeys: selectedRowKeys, selectedRowKeys: selectedRowKeys,
onChange: onSelectChange, onChange: onSelectChange,
@@ -74,7 +75,7 @@
</a-drawer> </a-drawer>
</template> </template>
<script> <script>
import { reactive, toRefs } from "vue"; import { reactive, toRefs, 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 {
@@ -94,12 +95,20 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
assessmentName:{ assessmentName: {
type:String, type: String,
default: null, default: null,
} },
}, },
setup(props, ctx) { setup(props, ctx) {
watch(
props,
(newVal) => {
state.selectedRowKeys = [newVal.assessmentId];
},
{ deep: true }
);
const state = reactive({ const state = reactive({
assessmentVisible: false, assessmentVisible: false,
assessment: null, assessment: null,
@@ -109,18 +118,17 @@ export default {
tableDataTotal: 0, tableDataTotal: 0,
tableData: [], tableData: [],
selectedRowKeys: [], selectedRowKeys: [],
assessmentId:null, assessmentId: null,
assessmentName:null, assessmentName: null,
}); });
const closeDrawer = () => { const closeDrawer = () => {
state.selectedRowKeys = []; state.selectedRowKeys = [];
ctx.emit("update:assessmentVisible", false); ctx.emit("update:assessmentVisible", false);
ctx.emit("update:titleTag", true); ctx.emit("update:titleTag", true);
}; };
const afterVisibleChange = (bool) => { const afterVisibleChange = (bool) => {
console.log("state getAllInvistText", bool,"======",props.titleTag); console.log("state getAllInvistText", bool, "======", props.titleTag);
if (props.assessmentVisible&&bool) { if (props.assessmentVisible && bool) {
getAllInvistText(); getAllInvistText();
} }
}; };
@@ -162,8 +170,7 @@ export default {
const rowSelection = { const rowSelection = {
type: "radio", type: "radio",
onSelect: (selectedRows) => { onSelect: (selectedRows) => {
state.assessment = selectedRows;
state.assessment =selectedRows;
/* state.assessmentId = selectedRows.assessmentId; /* state.assessmentId = selectedRows.assessmentId;
ctx.emit("checkedAss", state.assessment); ctx.emit("checkedAss", state.assessment);
@@ -182,15 +189,13 @@ export default {
const onSelectChange = (selectedRowKeys, selectRow) => { const onSelectChange = (selectedRowKeys, selectRow) => {
console.log("selectedRowKeys changed: ", selectedRowKeys, selectRow); console.log("selectedRowKeys changed: ", selectedRowKeys, selectRow);
state.selectedRowKeys = selectedRowKeys; state.selectedRowKeys = selectedRowKeys;
state.selectedRows = selectRow; console.log(selectRow);
console.log(selectRow) state.assessment = selectRow[0];
state.assessment =selectRow[0];
state.assessmentId = selectRow[0].assessmentId; state.assessmentId = selectRow[0].assessmentId;
ctx.emit("checkedAss", state.assessment); ctx.emit("checkedAss", state.assessment);
ctx.emit("update:assessmentId", state.assessmentId); ctx.emit("update:assessmentId", state.assessmentId);
ctx.emit("update:assessmentName", state.assessment.name); ctx.emit("update:assessmentName", state.assessment.name);
state.selectedRowKeys = [];
closeDrawer(); closeDrawer();
}; };
@@ -251,7 +256,7 @@ export default {
getAllInvistText, getAllInvistText,
resetInvist, resetInvist,
handelChangePage, handelChangePage,
onSelectChange onSelectChange,
}; };
}, },
}; };

View File

@@ -83,6 +83,7 @@
<AssessmentList <AssessmentList
v-model:assessmentVisible="assessmentVisible" v-model:assessmentVisible="assessmentVisible"
v-model:titleTag="titleTag" v-model:titleTag="titleTag"
:assessmentId="assessmentId"
@checkedAss="getCheckedAss" @checkedAss="getCheckedAss"
/> />
</div> </div>
@@ -157,10 +158,10 @@ export default {
type: Number, type: Number,
default: null, default: null,
}, },
projectTemplateId:{ projectTemplateId: {
type: Number, type: Number,
default: null, default: null,
} },
}, },
setup(props, ctx) { setup(props, ctx) {
const state = reactive({ const state = reactive({
@@ -178,6 +179,7 @@ export default {
titleTag: false, titleTag: false,
}); });
const getCheckedAss = (ass) => { const getCheckedAss = (ass) => {
state.assessmentId = ass.assessmentId;
state.assessment = ass; state.assessment = ass;
state.assessment1 = null; state.assessment1 = null;
}; };
@@ -207,7 +209,7 @@ export default {
api api
.queryAppraiseDetailById({ assessmentId: props.EditInvistId }) .queryAppraiseDetailById({ assessmentId: props.EditInvistId })
.then((res) => { .then((res) => {
console.log(res) console.log(res);
//更新讨论信息 //更新讨论信息
state.assessment1 = res.data.data; state.assessment1 = res.data.data;
}) })

View File

@@ -50,7 +50,6 @@
show-count show-count
:maxlength="200" :maxlength="200"
:rows="6" :rows="6"
/> />
</div> </div>
</div> </div>
@@ -111,8 +110,10 @@
<span style="margin-right: 3px">授课老师</span> <span style="margin-right: 3px">授课老师</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<ProjectManager v-model:value="memberValue.value" <ProjectManager
v-model:name="memberValue.label"></ProjectManager> v-model:value="memberValue.value"
v-model:name="memberValue.label"
></ProjectManager>
</div> </div>
</div> </div>
<div class="mbl_items2"> <div class="mbl_items2">
@@ -169,7 +170,7 @@
<span style="margin-right: 3px">回放设置</span> <span style="margin-right: 3px">回放设置</span>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<a-switch v-model:checked="switchC1"/> <a-switch v-model:checked="switchC1" />
</div> </div>
</div> </div>
<div v-if="switchC1"> <div v-if="switchC1">
@@ -196,19 +197,18 @@
v-model:checked="needEval" v-model:checked="needEval"
@click="needEval = !needEval" @click="needEval = !needEval"
>需要评估 >需要评估
</a-checkbox </a-checkbox>
>
</div> </div>
</div> </div>
<div v-if="needEval" class="main_item"> <div v-if="needEval" class="main_item">
<div class="signbox"></div> <div class="signbox"></div>
<div class="btnbox"> <div class="btnbox">
<button class="xkbtn" @click="showAssessment">选择评估</button> <button class="xkbtn" @click="showAssessment">选择评估</button>
<div v-if="(assessmentId > 0)"> <div v-if="assessmentId > 0">
<a-tag closable @close="removePG" color="processing"> <a-tag closable @close="removePG" color="processing">
<span style="font-size: 14px; line-height: 33px" <span style="font-size: 14px; line-height: 33px">{{
>{{assessmentName}}</span assessmentName
> }}</span>
</a-tag> </a-tag>
</div> </div>
<AssessmentList <AssessmentList
@@ -303,7 +303,6 @@
</div> </div>
</div> </div>
<div class="main_item"> <div class="main_item">
<div class="signbox"> <div class="signbox">
<span style="margin-right: 3px">其他设置</span> <span style="margin-right: 3px">其他设置</span>
@@ -313,8 +312,7 @@
v-model:checked="switchC2" v-model:checked="switchC2"
@onclick="switchC2 = !switchC2" @onclick="switchC2 = !switchC2"
>学员请假后记为任务完成 >学员请假后记为任务完成
</a-checkbox </a-checkbox>
>
</div> </div>
</div> </div>
</div> </div>
@@ -327,18 +325,18 @@
</a-drawer> </a-drawer>
</template> </template>
<script> <script>
import {reactive, toRefs, ref} from "vue"; import { reactive, toRefs, ref } from "vue";
import {message} from "ant-design-vue"; import { message } from "ant-design-vue";
import * as api from "../../api/indexLiveBroadcast"; import * as api from "../../api/indexLiveBroadcast";
import * as apiTask from "../../api/indexTaskadd"; import * as apiTask from "../../api/indexTaskadd";
import {toDate} from "@/api/method"; import { toDate } from "@/api/method";
import {RouterEditTask} from "@/api/indexTask"; import { RouterEditTask } from "@/api/indexTask";
import {addTempTask} from "../../api/indexTaskadd"; import { addTempTask } from "../../api/indexTaskadd";
import {getMemberInfo} from "@/api/index1"; import { getMemberInfo } from "@/api/index1";
import dayjs from "dayjs"; import dayjs from "dayjs";
import {fileUp} from "../../api/indexEval"; import { fileUp } from "../../api/indexEval";
import AssessmentList from "../drawers/ AssessmentList.vue"; import AssessmentList from "../drawers/ AssessmentList.vue";
import {debounce} from "lodash-es"; import { debounce } from "lodash-es";
import ProjectManager from "@/components/project/ProjectManager"; import ProjectManager from "@/components/project/ProjectManager";
// import { useRouter } from "vue-router"; // import { useRouter } from "vue-router";
@@ -402,7 +400,6 @@ export default {
type: Number, type: Number,
default: null, default: null,
}, },
}, },
setup(props, ctx) { setup(props, ctx) {
// const router = useRouter(); // const router = useRouter();
@@ -441,7 +438,7 @@ export default {
needEval: false, needEval: false,
switchC2: false, switchC2: false,
assessmentVisible: false, assessmentVisible: false,
assessmentName:"", assessmentName: "",
}); });
const closeDrawer = () => { const closeDrawer = () => {
ctx.emit("update:addliveVisible", false); ctx.emit("update:addliveVisible", false);
@@ -462,7 +459,7 @@ export default {
state.imageUrl = ""; state.imageUrl = "";
state.needEval = false; state.needEval = false;
state.switchC2 = false; state.switchC2 = false;
state.assessmentId =null; state.assessmentId = null;
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);
@@ -492,15 +489,15 @@ export default {
const queryLive = () => { const queryLive = () => {
let d = props.EditLiveId; let d = props.EditLiveId;
api api
.getLiveBroadcastInfor({liveId: d}) .getLiveBroadcastInfor({ liveId: d })
.then((res) => { .then((res) => {
console.log("获取的数据",res) console.log("获取的数据", res);
state.inputV1 = res.data.data.liveName; state.inputV1 = res.data.data.liveName;
state.time = [ state.time = [
dayjs(res.data.data.liveStartTime, "YYYY-MM-DD HH:mm"), dayjs(res.data.data.liveStartTime, "YYYY-MM-DD HH:mm"),
dayjs(res.data.data.liveEndTime, "YYYY-MM-DD HH:mm"), dayjs(res.data.data.liveEndTime, "YYYY-MM-DD HH:mm"),
]; ];
console.log(state.time) console.log(state.time);
state.inputV2 = res.data.data.liveDuration; state.inputV2 = res.data.data.liveDuration;
state.inputV3 = res.data.data.liveTeacherId; state.inputV3 = res.data.data.liveTeacherId;
@@ -515,10 +512,13 @@ export default {
//state.= res.data.data //state.= res.data.data
state.assessmentId = res.data.data.assessmentId; state.assessmentId = res.data.data.assessmentId;
state.imageUrl = res.data.data.liveCover; state.imageUrl = res.data.data.liveCover;
state.switchC1 = res.data.data.livePlayback === '1' ? true : false; state.switchC1 = res.data.data.livePlayback === "1" ? true : false;
state.switchC2 = res.data.data.otherSettings == 1 ? true : false; state.switchC2 = res.data.data.otherSettings == 1 ? true : false;
state.needEval = res.data.data.isEvaluate == '1' ? true : false; state.needEval = res.data.data.isEvaluate == "1" ? true : false;
state.memberValue = {value: res.data.data.liveTeacherId || '', label: res.data.data.liveTeacherName || ''}; state.memberValue = {
value: res.data.data.liveTeacherId || "",
label: res.data.data.liveTeacherName || "",
};
}) })
.catch(() => { .catch(() => {
//message.error(`查询失败`); //message.error(`查询失败`);
@@ -607,7 +607,6 @@ export default {
}; };
const showAssessment = () => { const showAssessment = () => {
state.assessmentVisible = true; state.assessmentVisible = true;
}; };
//创建直播 //创建直播
const updateLiveBroadcast = () => { const updateLiveBroadcast = () => {
@@ -624,7 +623,7 @@ export default {
message.destroy(); message.destroy();
return message.warning("请输入直播时长"); return message.warning("请输入直播时长");
} }
if (state.memberValue.value=="") { if (state.memberValue.value == "") {
message.destroy(); message.destroy();
return message.warning("请选择授课教师"); return message.warning("请选择授课教师");
} }
@@ -648,7 +647,10 @@ export default {
state.obj = { state.obj = {
afterSignIn: state.inputV6, afterSignIn: state.inputV6,
beforeSignIn: state.inputV7, beforeSignIn: state.inputV7,
assessmentId: state.assessmentId == null || state.assessmentId == "" ? 0 : Number(state.assessmentId), assessmentId:
state.assessmentId == null || state.assessmentId == ""
? 0
: Number(state.assessmentId),
liveCover: state.imageUrl, //直播封面 liveCover: state.imageUrl, //直播封面
liveDuration: Number(state.inputV2), liveDuration: Number(state.inputV2),
liveEndTime: endTime, liveEndTime: endTime,
@@ -667,21 +669,20 @@ export default {
standardSettings: state.radioV1, //1或2 standardSettings: state.radioV1, //1或2
isEvaluate: state.needEval ? "1" : "0", isEvaluate: state.needEval ? "1" : "0",
}; };
console.log('我是要更新的数据',state.obj ) console.log("我是要更新的数据", state.obj);
if (props.edit) { if (props.edit) {
api api
.updateLiveBroadcastMessage(state.obj) .updateLiveBroadcastMessage(state.obj)
.then(async (res) => { .then(async (res) => {
console.log(res) console.log(res);
message.destroy(); message.destroy();
message.success("提交成功"); message.success("提交成功");
closeDrawer(); closeDrawer();
await updateTask(res); await updateTask(res);
}) })
.catch((err) => { .catch((err) => {
console.log(err) console.log(err);
}); });
} else { } else {
api api
@@ -692,8 +693,7 @@ export default {
await updateTask(res); await updateTask(res);
closeDrawer(); closeDrawer();
}) })
.catch(() => { .catch(() => {});
});
} }
}; };
const beforeUpload = (file) => { const beforeUpload = (file) => {
@@ -732,7 +732,7 @@ export default {
}; };
const templateScroll = (e) => { const templateScroll = (e) => {
console.log("滚动", e); console.log("滚动", e);
const {target} = e; const { target } = e;
const scrllHeight = target.scrollHeight - target.scrollTop; const scrllHeight = target.scrollHeight - target.scrollTop;
const clientHeight = target.clientHeight; const clientHeight = target.clientHeight;
// console.log("scrllHeight", scrllHeight, clientHeight); // console.log("scrllHeight", scrllHeight, clientHeight);
@@ -800,10 +800,10 @@ export default {
// 删除评估 // 删除评估
const removePG = () => { const removePG = () => {
console.log("11111") console.log("11111");
state.assessmentId = ""; state.assessmentId = "";
state.isEvaluate = "0"; state.isEvaluate = "0";
} };
return { return {
...toRefs(state), ...toRefs(state),
@@ -821,7 +821,7 @@ export default {
templateScroll, templateScroll,
handleSearch, handleSearch,
showAssessment, showAssessment,
removePG removePG,
}; };
}, },
}; };