mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 22:06:45 +08:00
feat:合并
This commit is contained in:
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -405,6 +405,12 @@ export default {
|
||||
message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//if(state.addOnlineList.Target==undefined){
|
||||
// closeDrawer();
|
||||
//}
|
||||
|
||||
};
|
||||
//搜索在线列表
|
||||
const searchList = ()=> {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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' }">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -530,7 +530,7 @@ export default {
|
||||
let objn = {
|
||||
auditStatus: 1,
|
||||
// beginTime: 0,
|
||||
categoryId: 0,
|
||||
// categoryId: 0,
|
||||
createName: state.valuecreater,
|
||||
// endTime: 0,
|
||||
name: state.valuename,
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user