feat:合并

This commit is contained in:
lixg
2022-11-29 18:19:08 +08:00
11 changed files with 210 additions and 54 deletions

View File

@@ -215,7 +215,7 @@
</div>
</div>
<div class="main_btns">
<button class="btn1" @click="closeDrawer">取消</button>
<button class="btn1" @click="closeDrawer1">取消</button>
<button class="btn2" @click="updateActivityInfo">确定</button>
</div>
</div>
@@ -317,6 +317,22 @@ export default {
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
};
const closeDrawer1 = () => {
ctx.emit("update:addactiveVisible", false);
ctx.emit("update:edit", false);
state.radioV1 = "";
state.inputV1 = "";
state.inputV2 = "";
state.inputV3 = "";
state.inputV4 = "";
state.inputV5 = "";
state.inputV6 = "";
state.textV1 = "";
state.textV2 = "";
state.time = "";
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
}
const queryActive = () => {
api
.getActivity(props.EditActiveId)
@@ -475,6 +491,7 @@ export default {
...toRefs(state),
afterVisibleChange,
closeDrawer,
closeDrawer1,
cloradio1,
updateActivityInfo,
};

View File

@@ -64,7 +64,7 @@
</div>
</div>
<div class="main_btns">
<button class="btn1" @click="closeDrawer">取消</button>
<button class="btn1" @click="closeDrawer1">取消</button>
<button class="btn2" @click="updateDiscussInfo">确定</button>
</div>
</div>
@@ -158,6 +158,14 @@ export default {
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
};
const closeDrawer1 = () => {
ctx.emit("update:adddiscussVisible", false);
ctx.emit("update:edit", false);
state.inputV1 = "";
state.textV1 = "";
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
}
const queryDiscuss = () => {
if (props.edit) {
//编辑讨
@@ -264,6 +272,7 @@ export default {
...toRefs(state),
afterVisibleChange,
closeDrawer,
closeDrawer1,
updateDiscussInfo,
checkRadio,
};

View File

@@ -134,10 +134,18 @@
<span style="margin-right: 3px">面授时长:</span>
</div>
<div class="btnbox">
<a-input
<a-input-number
:min="0"
:max="300"
:precision="0"
style="
width: 364px;
height: 32px;
border-radius: 8px;
overflow: hidden;
"
v-model:value="duration"
style="width: 384px; height: 32px"
/>
></a-input-number>
<span style="margin-left: 5px; width: 30px">分钟</span>
</div>
</div>
@@ -172,31 +180,30 @@
<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="beforeStartValue"
></a-input-number>
:min="0"
:max="300"
:precision="0"
style="
width: 100px;
height: 32px;
border-radius: 8px;
overflow: hidden; "
v-model:value="before"
></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
<div class="timerbox">
<span>开始后:</span>
<a-input-number
:min="0"
:max="30"
:max="300"
:precision="0"
style="
width: 88px;
width: 100px;
height: 32px;
border-radius: 8px;
overflow: hidden;"
:value="afterStartValue"
v-model:value="afterStartValue"
></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
@@ -233,7 +240,7 @@
</div>
<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>
<a-checkbox v-model:checked="outPersion" @click="outPersion=!outPersion">允许项目外人员临时到场参加</a-checkbox>
</div>
</div>
<div class="main_item2">
@@ -331,7 +338,7 @@
</div>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn1" @click="exitAdd">取消</button>
<button class="btn2" @click="updateFaceTeach">确定</button>
</div>
@@ -348,7 +355,7 @@ import { ProjectEditTask, RouterEditTask } from "@/api/indexTask";
import { message } from "ant-design-vue";
import { getMemberInfo } from "@/api/index1";
import { debounce } from "lodash-es";
import { queryFaceDetailById, editPlan } from "../../api/indexFace";
import { queryFaceDetailById,editPlan } from "../../api/indexFace";
import dayjs from "dayjs";
import AssessmentList from "../drawers/ AssessmentList.vue";
// import { toDate } from "../../api/method";、
@@ -432,8 +439,8 @@ export default {
courseName: "",
duration:null,
address: null,
beforeStartValue:20,
afterStartValue:10,
before:null,
afterStartValue:null,
description: "",
chooseTime: [],
fileList: [],
@@ -443,7 +450,10 @@ export default {
EditWorkId:null,
assessmentVisible:false,
needEval:false,
onlySign:false,
completeLeave:false,
innerPersion:false,
outPersion:false,
});
const clear = () => {
@@ -451,21 +461,21 @@ export default {
state.memberValue = null;
state.duration = null;
state.address = null;
state.beforeStart = 0;
state.afterStartValue =0;
state.before=null;
state.afterStartValue=null;
state.chooseTime = [];
state.description ="";
state.onlySign =false;
state.completeLeave =false;
state.projectMember =false;
state.noProjectMember =false;
state.innerPersion =false;
state.outPersion =false;
state.chooseCourse = null;
state.EditTestId =null;
state.assessmentId=null;
state.EditWorkId=null;
state.EditEvalId=null;
state.applyFlag="";
console.log("state.afterStart",state.afterStartValue);
state.needEval=false;
};
const closeDrawer = () => {
ctx.emit("update:addfaceteachVisible", false);
@@ -512,7 +522,7 @@ export default {
//查询面授
const queryFaceTeach = () => {
console.log("props.EditFaceI========d",props.EditFaceId);
queryFaceDetailById(props.EditFaceId).then((res) => {
console.log("获取到了面授课开课详情", res.data.data);
let result = res.data.data;
@@ -529,63 +539,72 @@ export default {
state.chooseTime = [];
}
state.address = result.address;
state.beforeStart = result.beforeStart;
state.before =result.beforeStart;
state.afterStartValue = result.afterStart;
console.log("编辑========",state.afterStartValue);
state.fileList = JSON.parse(result.attach);
state.EditWorkId = result.homeWorkId;
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.innerPersion = result.projectMember.split(",")[0]=="1"?true:false;
state.outPersion = result.projectMember.split(",")[1]=="1"?true:false;
state.EditTestId = result.testId;
state.EditWorkId=result.homeWorkId;
state.assessmentId =result.evaluateId;
state.needEval = result.evaluateId;
console.log("state=======",state);
});
};
// 点击取消按钮
const exitAdd = () => {
closeDrawer();
}
//新建或编辑面授
// 新增任务
const updateFaceTeach = () => {
console.log("v",state.beforeStart,"v",state.afterStartValue,"v",
state.applyFlag,"v",state.evalFlag,"v",state.completeType,"state.address",state.address);
if (
/*
state.courseName == "" ||
state.chooseCourse == null ||s
state.chooseCourse == null ||
state.memberValue == "" ||
state.chooseTime == [] ||
state.duration == "" ||
*/
state.address == ""
) {
message.destroy();
return message.warning("请输入必填字段");
} else {
let type =state.onlySign ? "1,":"0,";
let t = state.completeLeave?"1":"0";
let p=state.innerPersion?"1,":"0,";
let p1=state.outPersion?"1":"0";
let obj = {
teacherId:state.memberValue.value,
teacher:state.memberValue.label,
address:state.address,
applyFlag: state.applyFlag,
attach: JSON.stringify(state.fileList),
afterStart:state.afterStartValue ||0,
beforeStart:state.beforeStart,
afterStart:state.afterStartValue || 0,
beforeStart:state.before || 0,
beginTime: parseInt( new Date(state.chooseTime[0].$d).getTime() / 1000),
completeType: state.onlySign? "1,":"0," + state.completeLeave?"1":"0",
completeType:type.concat(t),
description: state.description,
endTime: parseInt(new Date(state.chooseTime[1].$d).getTime() / 1000),
evalFlag:state.needEval?1:0,
evaluateId:state.assessmentId,
homeWorkId: state.EditWorkId,
name: state.courseName,
projectMember:state.innerPersion?"1,":"0," + state.outPerson?"1":"0",
projectMember:p.concat(p1),
offcourseId:state.chooseCourse,
offcoursePlanId:props.EditFaceId >0 ? props.EditFaceId : 0,
testId: state.EditTestId
};
console.log("obj============",obj,"6"+"9");
editPlan(obj)
.then((res) => {
console.log("更新任务s's");
@@ -748,6 +767,7 @@ export default {
afterVisibleChange,
closeDrawer,
updateFaceTeach,
exitAdd,
updateTask,
clear,
handleChange,

View File

@@ -405,6 +405,12 @@ export default {
message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`);
});
}
//if(state.addOnlineList.Target==undefined){
// closeDrawer();
//}
};
//搜索在线列表
const searchList = ()=> {

View File

@@ -435,7 +435,13 @@ export default {
state.selectedRows.forEach((item) => {
let origin = JSON.parse(props.chooseProjectList);
console.log("ccxx", origin);
if(origin==null){
closeSameModal();
closeDrawer();
message.destroy();
message.info("添加成功");
return;
}
if (origin.length == 0) {
//可以直接添加到任务列表里
updateTask(item);

View File

@@ -16,7 +16,7 @@
/>
</div>
<div style="display: flex; flex-direction: row">
<div style="display: flex; flex-direction: row; padding-top:32px;">
<button
style="width: 100px"
@click="changeOuter(1)"
@@ -32,7 +32,9 @@
外部考试
</button>
</div>
<a-form
v-if="isOuter == 1"
ref="formRef"
name="custom-validation"
:model="formState"
@@ -48,7 +50,7 @@
<div class="btnbox">
<a-form-item
has-feedback
label="作业名称"
label="考试名称"
name="examinationName"
>
<a-input
@@ -308,6 +310,80 @@
<a-button class="btn2" html-type="submit">确定</a-button>
</div>
</a-form>
<a-form
v-else
ref="formRef"
name="custom-validation"
:model="formState"
:rules="rules"
v-bind="layout"
@finish="handleFinish"
@validate="handleValidate"
@finishFailed="handleFinishFailed"
>
<div class="contentMain">
<div class="main_left">
<div class="main_item">
<div class="btnbox">
<a-form-item
has-feedback
label="考试名称"
name="examinationName"
>
<a-input
v-model:value="formState.examinationName"
style="width: 424px; height: 32px; margin-left: 35px"
autocomplete="off"
placeholder="请输入考试名称"
maxlength="20"
/>
</a-form-item>
</div>
</div>
<div class="main_item">
<div class="btnbox">
<a-form-item
has-feedback
label="数据来源"
name="examinationName"
>
<a-input
v-model:value="请输入数据来源"
style="width: 424px; height: 32px; margin-left: 35px"
autocomplete="off"
placeholder="数据来源"
maxlength="20"
/>
</a-form-item>
</div>
</div>
<div class="main_item2">
<a-form-item
has-feedback
label="考试说明"
name="examinationExplain"
>
<a-textarea
v-model:value="formState.examinationExplain"
placeholder="请输入考试说明"
allow-clear
style="margin-left: 35px"
maxlength="150"
/>
</a-form-item>
</div>
</div>
</div>
<div class="main_btns">
<a-button class="btn1" @click="closeDrawer">取消</a-button>
<a-button class="btn2" html-type="submit">确定</a-button>
</div>
</a-form>
</div>
<!-- 加载动画 -->
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">

View File

@@ -72,8 +72,8 @@
</div>
</div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
<button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2" @click="closeDrawer">确定</button>
</div>
</div>
</a-drawer>

View File

@@ -458,6 +458,11 @@
<div class="item_inp">
<div class="select i6_input">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="fen_lei"
dropdownClassName="dropdown-style"
style="width: 440px"
@@ -475,7 +480,12 @@
</div>
<div class="item_inp">
<div class="select i7_input">
<a-select
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="chang_jin"
dropdownClassName="dropdown-style"
style="width: 440px"
@@ -493,6 +503,11 @@
</div>
<div class="item_inp">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="tags_val"
mode="tags"
style="width: 440px; height: 40px"
@@ -516,6 +531,11 @@
<div class="item_inp">
<div class="i1_input">
<a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="qdms_inputV5"
dropdownClassName="dropdown-style"
style="width: 440px; height: 40px; border-radius: 8px"

View File

@@ -187,7 +187,7 @@ export default {
const getList = () => {
let objn = {
auditStatus: 0,
categoryId: 0,
// categoryId: 0,
createName: state.valuecreater,
name: state.valuename,
pageNo: state.currentPage,

View File

@@ -530,7 +530,7 @@ export default {
let objn = {
auditStatus: 1,
// beginTime: 0,
categoryId: 0,
// categoryId: 0,
createName: state.valuecreater,
// endTime: 0,
name: state.valuename,

View File

@@ -174,7 +174,7 @@
<div class="filt">
<div class="le">
<div class="leftimg">
<img class="img" :src="picUrl" />
<img class="img" src="../../assets/images/leveladd/1.png" />
</div>
<div class="imgfor">
<div class="forz">{{ styTitle }}</div>
@@ -1495,6 +1495,7 @@ export default {
});
};
const showAddStu = () => {
state.AddSvisible = true;
};
@@ -2562,6 +2563,7 @@ export default {
width: 238px;
height: 40px;
border-radius: 8px;
padding-left: 12px;
input {
border: none;
outline: none;