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> </div>
<div class="main_btns"> <div class="main_btns">
<button class="btn1" @click="closeDrawer">取消</button> <button class="btn1" @click="closeDrawer1">取消</button>
<button class="btn2" @click="updateActivityInfo">确定</button> <button class="btn2" @click="updateActivityInfo">确定</button>
</div> </div>
</div> </div>
@@ -317,6 +317,22 @@ export default {
localStorage.setItem("stageId", props.chooseStageId); localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive); 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 = () => { const queryActive = () => {
api api
.getActivity(props.EditActiveId) .getActivity(props.EditActiveId)
@@ -475,6 +491,7 @@ export default {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
closeDrawer, closeDrawer,
closeDrawer1,
cloradio1, cloradio1,
updateActivityInfo, updateActivityInfo,
}; };

View File

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

View File

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

View File

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

View File

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

View File

@@ -16,7 +16,7 @@
/> />
</div> </div>
<div style="display: flex; flex-direction: row"> <div style="display: flex; flex-direction: row; padding-top:32px;">
<button <button
style="width: 100px" style="width: 100px"
@click="changeOuter(1)" @click="changeOuter(1)"
@@ -32,7 +32,9 @@
外部考试 外部考试
</button> </button>
</div> </div>
<a-form <a-form
v-if="isOuter == 1"
ref="formRef" ref="formRef"
name="custom-validation" name="custom-validation"
:model="formState" :model="formState"
@@ -48,7 +50,7 @@
<div class="btnbox"> <div class="btnbox">
<a-form-item <a-form-item
has-feedback has-feedback
label="作业名称" label="考试名称"
name="examinationName" name="examinationName"
> >
<a-input <a-input
@@ -308,6 +310,80 @@
<a-button class="btn2" html-type="submit">确定</a-button> <a-button class="btn2" html-type="submit">确定</a-button>
</div> </div>
</a-form> </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>
<!-- 加载动画 --> <!-- 加载动画 -->
<div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }"> <div class="aeLoading" :style="{ display: addLoading ? 'flex' : 'none' }">

View File

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

View File

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

View File

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

View File

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

View File

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