模板库添加任务bug

This commit is contained in:
zhangyc
2022-11-28 08:26:46 +08:00
parent 0b1bc28368
commit f85ee37ca0
14 changed files with 199 additions and 284 deletions

View File

@@ -30,9 +30,9 @@
</div>
<div class="btnbox">
<a-input
v-model:value="inputV1"
v-model:value="courseName"
style="width: 384px; height: 32px"
placeholder="请输入小组名称"
placeholder="请输入名称"
maxlength="20"
/>
</div>
@@ -73,7 +73,7 @@
</div>
<div class="textarea">
<a-textarea
v-model:value="textV1"
v-model:value="description"
placeholder="请输入说明"
allow-clear
maxlength="100"
@@ -135,7 +135,7 @@
</div>
<div class="btnbox">
<a-input
v-model:value="inputV3"
v-model:value="duration"
style="width: 384px; height: 32px"
/>
<span style="margin-left: 5px; width: 30px">分钟</span>
@@ -153,7 +153,7 @@
</div>
<div class="btnbox">
<a-input
v-model:value="inputV4"
v-model:value="address"
style="width: 384px; height: 32px"
placeholder="请输入上课地址"
maxlength="100"
@@ -181,7 +181,7 @@
border-radius: 8px;
overflow: hidden;
"
:v-model:value="inputV5"
:v-model:value="beforeStart"
></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
@@ -197,35 +197,13 @@
border-radius: 8px;
overflow: hidden;
"
:v-model:value="inputV6"
:v-model:value="afterStart"
></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
</div>
<div class="qdqtbox">
<div class="qtbtn"><div class="btntext">签退</div></div>
</div>
<div class="setbox">
<div class="timerbox">
<span>结束前:</span>
<a-input-number
:min="0"
:max="30"
:precision="0"
style="
width: 88px;
height: 32px;
border-radius: 8px;
overflow: hidden; "
:v-model:value="inputV7"
></a-input-number>
<span style="color: #999999; margin-left: 8px"
>分钟(提前签退则记为早退)</span
>
</div>
</div>
</div>
</div>
<div class="main_item">
@@ -233,15 +211,11 @@
<span style="margin-right: 3px">完成标准设置:</span>
</div>
<div class="btnbox">
<a-radio-group v-model:value="radioV1">
<a-radio v-model:checked="checked" :value="1" @click="cloradio1"
>仅签到</a-radio
>
<!--
<a-radio v-model:checked="checked" :value="2" @click="cloradio1"
>签到、签退全部完成</a-radio
>-->
</a-radio-group>
<a-checkbox v-model:checked="onlySign" @click="onlySign=!onlySign">仅签到</a-checkbox>
</div>
</div>
<div class="main_item">
@@ -249,44 +223,31 @@
<span style="margin-right: 3px">其他设置:</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="checkedHolidy"
<a-checkbox v-model:checked="complete_leave" @click="complete_leave=!complete_leave"
>学员请假后记为任务完成</a-checkbox
>
</div>
</div>
<div class="main_item2">
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">现场参与:</span>
</div>
<div class="btnbox2">
<a-radio-group v-model:value="radioV2">
<a-radio v-model:checked="checked" :value="1" @click="cloradio2"
>允许项目内人员临时到场参加</a-radio
>
<a-radio v-model:checked="checked" :value="2" @click="cloradio2"
>允许项目外人员临时到场参加</a-radio
>
</a-radio-group>
<div class="btnbox">
<a-checkbox v-model:checked="innerPersion" @click="innerPersion=!innerPersion">允许项目内人员临时到场参加</a-checkbox>
<a-checkbox v-model:checked="outPerson" @click="outPerson=!outPerson">允许项目外人员临时到场参加</a-checkbox>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">评估:</span>
</div>
<div class="btnbox2">
<a-checkbox v-model:checked="checkedAssessment"
>需要评估</a-checkbox
>
<a-checkbox v-model:checked="needEval"
>需要评估</a-checkbox >
</div>
</div>
<div class="main_item">
<div class="signbox">
<div v-if="needEval" class="main_item">
<div class="signbox">
</div>
<div class="btnbox">
<button class="xkbtn" @click="showAssessment">选择评估</button>
@@ -335,7 +296,7 @@
</div>
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">配置考试</span>
<span style="margin-right: 3px">配置考试:</span>
</div>
<div class="btnbox" @click="showDrawerAddTest">
<button class="xkbtn">配置</button>
@@ -348,7 +309,9 @@
<!-- 添加考试侧弹窗 -->
<div>
<add-test v-model:addtestVisible="addtestvisible"
v-model:EditTestId ="EditTestId"/>
v-model:EditTestId ="EditTestId"
:faceLevel="true"
/>
</div>
<!-- 添加考试侧弹窗 -->
</div>
@@ -452,26 +415,22 @@ export default {
selfacetvisible: false,
addhomeworkvisible: false,
addtestvisible: false,
memberValue: null,
memberValue: {
value:"",
label:""
},
fetching: false,
totalPages: 0,
currentPage: 1,
tableDataTotal: 100,
memberId: 0,
pageSize: 10,
inputV1: "",
inputV2: "",
inputV3: "",
inputV4: null,
inputV5: null,
inputV6: null,
inputV7: null,
testV1: "",
radioV1: "",
radioV2: "",
textV1: "",
checkedHolidy: false,
checkedAssessment: false,
courseName: "",
duration: "",
address: null,
beforeStart: null,
afterStart: null,
description: "",
chooseTime: [],
fileList: [],
chooseCourse: null, //选择的在线课程
@@ -479,24 +438,22 @@ export default {
EditTestId:null,
EditWorkId:null,
assessmentVisible: false,
checkedAssessmentId:null,
isface: 1
});
const clear = () => {
state.inputV1 = null;
state.inputV2 = null;
state.inputV3 = null;
state.inputV4 = null;
state.inputV5 = null;
state.inputV6 = null;
state.inputV7 = null;
state.courseName = null;
state.memberValue = null;
state.duration = null;
state.address = null;
state.beforeStart = null;
state.afterStart = null;
state.chooseTime = [];
state.textV1 = null;
state.radioV1 = "";
state.radioV2 = "";
state.checkedHolidy = false;
state.checkedAssessment = false;
state.description = null;
state.onlySign =false;
state.completeLeave =false;
state.projectMember =false;
state.noProjectMember =false;
state.chooseCourse = null;
state.EditTestId =null;
state.assessmentId=null;
@@ -505,8 +462,6 @@ export default {
};
const closeDrawer = () => {
ctx.emit("update:addfaceteachVisible", false);
state.radioV1 = "";
state.radioV2 = "";
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
clear();
@@ -546,32 +501,17 @@ export default {
const showDrawerAddTest = () => {
state.addtestvisible = true;
};
const cloradio1 = (value) => {
if (value != "") {
state.radioV1 = "";
}
};
const cloradio2 = (value) => {
if (value != "") {
state.radioV2 = "";
}
};
/*
const getCheckedAss = (ass) => {
state.assessment = ass;
state.assessmentId = ass.assessmentId
};*/
//查询面授
const queryFaceTeach = () => {
//暂时写一个假的offcoursePlanId
queryFaceDetailById(props.EditFaceId).then((res) => {
// state.inputV1 = res.data.data.name;
// state.inputV2 = res.data.data.teacherId;
console.log("获取到了面授课开课详情", res.data.data);
let result = res.data.data;
state.inputV1 = result.name;
state.textV1 = result.description;
state.inputV2 = result.teacher;
state.courseName = result.name;
state.description = result.description;
state.memberValue= {value:result.teacherId,label:result.teacher}
state.duration =result.duration;
if (result.beginTime && result.endTime) {
state.chooseTime = [
dayjs(result.beginTime, "YYYY-MM-DD"),
@@ -580,42 +520,16 @@ export default {
} else {
state.chooseTime = [];
}
state.inputV4 = result.address;
state.inputV5 = result.beforeStart;
state.inputV6 = result.afterStart;
state.inputV7 = result.beforeEnd;
state.address = result.address;
state.beforeStart = result.beforeStart;
state.afterStart = result.afterStart;
state.fileList = JSON.parse(result.attach);
state.EditWorkId = result.homeWorkId;
// state.radioV1 = result.
state.checkedHolidy =
result.completeType == 1
? false
: result.completeType == 2
? false
: result.completeType == 3
? true
: false;
if (result.projectMember) {
state.radioV2 = "1";
} else if (result.noProjectMember) {
state.radioV2 = "2";
} else {
state.radioV2 = "";
}
if (result.completeSet == 1) {
state.radioV1 = "1";
} else {
state.radioV1 = "2";
}
state.checkedAssessment = result.evalFlag == 1 ? true : false;
/*
if (state.chooseWorkId) {
queryWorkDetailById({ workId: state.chooseWorkId }).then((res) => {
state.chooseWork = res.data.data;
state.chooseWorkName = res.data.data.workName;
});
}*/
state.onlySign = result.completeType.split(",")[0]==1?true:false;
state.completeLeave =result.completeType.split(",")[1]==1?true:false;
state.chooseCourse =result.offcourseId;
state.projectMember = result.projectMember.split(",")[0]==1?true:false;
state.noProjectMember = result.projectMember.split(",")[1]==1?true:false;
state.EditTestId = result.testId;
state.EditWorkId=result.homeWorkId;
state.assessmentId =result.evaluateId;
@@ -625,48 +539,38 @@ export default {
//新建或编辑面授
// 新增任务
const updateFaceTeach = () => {
console.log("==========",state.chooseCourse,"hha");
if (
state.inputV1 == "" ||
state.courseName == "" ||
state.chooseCourse == null ||
state.inputV2 == "" ||
state.memberValue == "" ||
state.chooseTime == [] ||
state.inputV3 == "" ||
state.inputV4 == ""
state.duration == "" ||
state.address == ""
) {
message.destroy();
return message.warning("请输入必填字段");
} else {
let obj = {
address: state.inputV4,
teacherId:state.memberValue.value,
teacher:state.memberValue.label,
address:state.address,
applyFlag: 1,
attach: JSON.stringify(state.fileList),
afterStart: state.inputV6 || 0,
beforeEnd: state.inputV7 || 0,
beforeStart: state.inputV5 || 0,
// beginTime: dayjs(state.chooseTime[0]).format("YYYY-MM-DD hh-mm-ss"),
beginTime: parseInt(
new Date(state.chooseTime[0].$d).getTime() / 1000
),
// beginTime: "",
completeType: state.radioV1 == "1" ? 2 : 1,
description: state.textV1,
// endTime: dayjs(state.chooseTime[1]).format("YYYY-MM-DD hh-mm-ss"),
afterStart: state.afterStart || 0,
beforeStart: state.beforeStart || 0,
beginTime: parseInt( new Date(state.chooseTime[0].$d).getTime() / 1000),
completeType: state.onlySign? "1,":"0," + state.completeLeave?"1":"0",
description: state.description,
endTime: parseInt(new Date(state.chooseTime[1].$d).getTime() / 1000),
// endTime: "",
evalFlag: state.checkedAssessment == true ? 1 : 0,
evalFlag: state.needEval?1:0,
evaluateId:state.assessmentId,
homeWorkId: state.EditWorkId,
name: state.inputV1,
noProjectMember: state.radioV2 == "1" ? 0 : 1,
name: state.courseName,
projectMember:state.innerPersion?"1":"0" + state.outPerson?"1":"0",
offcourseId:state.chooseCourse,
offcoursePlanId:props.edit ? props.EditFaceId : 0,
projectMember:state.radioV2 == "1" ? 1 : 0,
offcoursePlanId:props.EditFaceId >0 ? props.EditFaceId : 0,
signFlag: 0,
signWordFlag: 0,
teacherId: state.memberId,
testId: state.EditTestId,
// teacher: state.inputV2,
testId: state.EditTestId
};
editPlan(obj)
@@ -679,12 +583,7 @@ export default {
}
};
const upDateTable = (value) => {
console.log("gg", value);
console.log("gg", value[0].name);
// state.chooseCourse = value[0];
//state.chooseCourseName = value[0].name;
};
//更新任务列表
// 新增编辑或新增项目任务
@@ -715,7 +614,7 @@ export default {
name: res.data.data.name,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
stageId: props.chooseStageId || 0,
type: 2,
};
// 新增编辑或新增项目
@@ -732,11 +631,11 @@ export default {
} else if (props.isLevel == 3) {
addTempTask({
courseId: res.data.data.offcoursePlanId,
duration: 0,
name: res.data.data.name,
duration: res.data.data.duration,
projectTemplateId: props.projectTemplateId,
projectTemplateTaskId: props.projectTemplateTaskId || 0,
stageId: props.chooseStageId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 2,
})
.then(() => {
@@ -820,7 +719,7 @@ export default {
const handleChange2 = (value, label) => {
console.log(`selected ${value}`);
state.memberId = value;
state.inputV2 = label;
state.memberValue = label;
};
const handleFocus = () => {
queryMember();
@@ -832,11 +731,8 @@ export default {
showDrawerAddTest,
afterVisibleChange,
closeDrawer,
cloradio1,
cloradio2,
updateFaceTeach,
updateTask,
upDateTable,
clear,
handleChange,
showAssessment,
@@ -923,7 +819,7 @@ export default {
.main_item2 {
display: flex;
align-items: flex-start;
// margin-bottom: 32px;
margin-bottom: 32px;
.signbox {
width: 120px;