Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yuping
2022-11-30 23:35:11 +08:00
22 changed files with 646 additions and 697 deletions

View File

@@ -281,7 +281,7 @@ export default {
.addTask({
courseId: state.apiTaskList[i].casesId,
name: state.apiTaskList[i].title,
projectTemplateId: props.projectTemplateId,
projectId: props.projectId,
projectTaskId: props.projectTaskId,
stageId: Number(props.chooseStageId),
type: 3,
@@ -305,7 +305,7 @@ export default {
duration: 0,
flag: true,
name: state.apiTaskList[i].caseName,
projectId: props.projectId,
projectTaskId: props.projectTaskId,
projectTemplateId: props.projectTemplateId,
stageId: props.chooseStageId || 0,
type: 3,

View File

@@ -128,7 +128,7 @@ export default {
type: Number,
default: null,
},
projectTemplateId:{
projectTemplateId: {
type: Number,
default: null,
},
@@ -165,7 +165,7 @@ export default {
state.textV1 = "";
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
}
};
const queryDiscuss = () => {
if (props.edit) {
//编辑讨
@@ -197,7 +197,6 @@ export default {
type: 8,
})
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
@@ -214,7 +213,6 @@ export default {
type: 8,
})
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
@@ -231,7 +229,6 @@ export default {
type: 8,
})
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
})
.catch(() => {
@@ -258,11 +255,11 @@ export default {
updateTask(res);
closeDrawer();
ctx.emit("changeData", false);
message.destroy()
message.destroy();
message.success("创建讨论成功");
})
.catch(() => {
message.destroy()
message.destroy();
message.error("创建讨论失败");
});
} else {
@@ -272,11 +269,11 @@ export default {
updateTask(res);
closeDrawer();
ctx.emit("changeData", false);
message.destroy()
message.destroy();
message.success("创建讨论成功");
})
.catch(() => {
message.destroy()
message.destroy();
message.error("创建讨论失败");
});
}

View File

@@ -1,49 +1,30 @@
<template>
<a-drawer
:visible="addfaceteachVisible"
class="drawerStyle addfaceteachDrawer"
width="90%"
title="添加面授"
placement="right"
@after-visible-change="afterVisibleChange"
>
<a-drawer :visible="addfaceteachVisible" class="drawerStyle addfaceteachDrawer" width="90%" title="添加面授"
placement="right" @after-visible-change="afterVisibleChange">
<div class="drawerMain">
<div class="header">
<div class="headerTitle">添加面授</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer" />
</div>
<div class="contentMain">
<div class="main_left">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">课程名称</span>
</div>
<div class="btnbox">
<a-input
v-model:value="courseName"
style="width: 384px; height: 32px"
placeholder="请输入名称"
maxlength="20"
/>
<a-input v-model:value="courseName" style="width: 384px; height: 32px" placeholder="请输入名称"
maxlength="20" />
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">选择课程</span>
</div>
@@ -51,19 +32,16 @@
<button class="xkbtn">
{{ chooseCourse == null ? "选择" : "修改" }}面授课
</button>
<div v-if = "chooseCourse > 0">
<a-tag closable color="processing" @close="logC">
<span style="font-size:14px;line-height: 33px;" >删除课程</span>
</a-tag></div>
<div v-if="chooseCourse > 0">
<a-tag closable color="processing" @close="logC">
<span style="font-size:14px;line-height: 33px;">删除课程</span>
</a-tag>
</div>
</div>
<!-- 选择面授侧弹窗 -->
<div>
<sel-facet
v-model:selfacetVisible="selfacetvisible"
v-model:chooseCourse="chooseCourse"
/>
<sel-facet v-model:selfacetVisible="selfacetvisible" v-model:chooseCourse="chooseCourse" />
</div>
<!-- 选择面授侧弹窗 -->
</div>
@@ -72,100 +50,59 @@
<span style="margin-right: 3px">面授说明</span>
</div>
<div class="textarea">
<a-textarea
v-model:value="description"
placeholder="请输入说明"
allow-clear
maxlength="100"
/>
<a-textarea v-model:value="description" placeholder="请输入说明" allow-clear maxlength="100" />
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">授课教师</span>
</div>
<div class="btnbox">
<a-auto-complete
v-model:value="memberValue.label"
show-search
:not-found-content="fetching ? undefined : null"
placeholder="Select a teacher"
style="width: 364px"
:options="options"
@focus="handleFocus"
@blur="handleBlur"
@change="handleChange2"
@popupScroll="templateScroll"
@search="handleSearch"
></a-auto-complete>
<a-auto-complete v-model:value="memberValue.label" placeholder="选择老师" style="width: 364px"
:options="options" @search="handleSearch"></a-auto-complete>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">面授时间</span>
</div>
<div class="btnbox">
<a-range-picker
v-model:value="chooseTime"
:placeholder="[' 开始时间', ' 结束时间']"
/>
<a-range-picker v-model:value="chooseTime" :placeholder="[' 开始时间', ' 结束时间']" />
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">面授时长</span>
</div>
<div class="btnbox">
<a-input-number
:min="0"
:max="300"
:precision="0"
style="
<a-input-number :min="0" :max="300" :precision="0" style="
width: 364px;
height: 32px;
border-radius: 8px;
overflow: hidden;
"
v-model:value="duration"
></a-input-number>
" v-model:value="duration"></a-input-number>
<span style="margin-left: 5px; width: 30px">分钟</span>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<span style="margin-right: 3px">上课地址</span>
</div>
<div class="btnbox">
<a-input
v-model:value="address"
style="width: 384px; height: 32px"
placeholder="请输入上课地址"
maxlength="100"
/>
<a-input v-model:value="address" style="width: 384px; height: 32px" placeholder="请输入上课地址"
maxlength="100" />
</div>
</div>
<div class="main_item2">
@@ -174,42 +111,32 @@
</div>
<div class="kqszbox">
<div class="qdqtbox">
<div class="qdbtn"><div class="btntext">签到</div></div>
<div class="qdbtn">
<div class="btntext">签到</div>
</div>
</div>
<div class="setbox">
<div class="timerbox">
<span>开始前</span>
<a-input-number
:min="0"
:max="300"
:precision="0"
style="
<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>
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="300"
:precision="0"
style="
<a-input-number :min="0" :max="300" :precision="0" style="
width: 100px;
height: 32px;
border-radius: 8px;
overflow: hidden;"
v-model:value="afterStartValue"
></a-input-number>
overflow: hidden;" v-model:value="afterStartValue"></a-input-number>
<span style="color: #999999; margin-left: 8px">分钟</span>
</div>
</div>
</div>
</div>
<div class="main_item">
@@ -217,11 +144,11 @@
<span style="margin-right: 3px">完成标准设置</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="onlySign" @click="onlySign=!onlySign">仅签到</a-checkbox>
<a-checkbox v-model:checked="onlySign" @click="onlySign = !onlySign">仅签到</a-checkbox>
</div>
</div>
<div class="main_item">
@@ -229,9 +156,8 @@
<span style="margin-right: 3px">其他设置</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="completeLeave" @click="completeLeave=!completeLeave"
>学员请假后记为任务完成</a-checkbox
>
<a-checkbox v-model:checked="completeLeave"
@click="completeLeave = !completeLeave">学员请假后记为任务完成</a-checkbox>
</div>
</div>
<div class="main_item">
@@ -239,8 +165,9 @@
<span style="margin-right: 3px">现场参与</span>
</div>
<div class="btnbox">
<a-checkbox v-model:checked="innerPersion" @click="innerPersion=!innerPersion">允许项目内人员临时到场参加</a-checkbox>
<a-checkbox v-model:checked="outPersion" @click="outPersion=!outPersion">允许项目人员临时到场参加</a-checkbox>
<a-checkbox v-model:checked="innerPersion"
@click="innerPersion = !innerPersion">允许项目人员临时到场参加</a-checkbox>
<a-checkbox v-model:checked="outPersion" @click="outPersion = !outPersion">允许项目外人员临时到场参加</a-checkbox>
</div>
</div>
<div class="main_item2">
@@ -248,24 +175,21 @@
<span style="margin-right: 3px">评估</span>
</div>
<div class="btnbox2">
<a-checkbox v-model:checked="needEval" @click="needEval=!needEval"
>需要评估</a-checkbox >
<a-checkbox v-model:checked="needEval" @click="needEval = !needEval">需要评估</a-checkbox>
</div>
</div>
<div v-if="needEval" class="main_item">
<div class="signbox">
<div class="signbox">
</div>
<div class="btnbox">
<button class="xkbtn" @click="showAssessment">选择评估</button>
<div v-if = "assessmentId >0 ">
<a-tag closable color="processing" @close="logA">
<span style="font-size:14px;line-height: 33px;" >删除评估</span>
</a-tag></div>
<AssessmentList
v-model:assessmentVisible="assessmentVisible"
v-model:titleTag="titleTag"
v-model:assessmentId="assessmentId"
/>
<div v-if="assessmentId > 0">
<a-tag closable color="processing" @close="logA">
<span style="font-size:14px;line-height: 33px;">删除评估</span>
</a-tag>
</div>
<AssessmentList v-model:assessmentVisible="assessmentVisible" v-model:titleTag="titleTag"
v-model:assessmentId="assessmentId" />
</div>
</div>
@@ -279,26 +203,23 @@
</div>
<div class="btnbox" @click="showDrawerAddHomework">
<button class="xkbtn">配置</button>
<div v-if = "EditWorkId >0">
<a-tag closable color="processing" @close="logW">
<span style="font-size:14px;line-height: 33px;" >删除作业</span>
</a-tag></div>
<div v-if="EditWorkId > 0">
<a-tag closable color="processing" @close="logW">
<span style="font-size:14px;line-height: 33px;">删除作业</span>
</a-tag>
</div>
</div>
<!-- 添加作业侧弹窗 -->
<div>
<add-homework
v-model:addhomeworkVisible="addhomeworkvisible"
@getWork="getWork"
:faceLevel="true"
v-model:EditWorkId="EditWorkId"
/>
<add-homework v-model:addhomeworkVisible="addhomeworkvisible" @getWork="getWork" :faceLevel="true"
v-model:EditWorkId="EditWorkId" />
</div>
<!-- 添加作业侧弹窗 -->
</div>
<div>
</div>
<div class="main_item">
<div class="signbox">
@@ -306,18 +227,16 @@
</div>
<div class="btnbox" @click="showDrawerAddTest">
<button class="xkbtn">配置</button>
<div v-if = "EditTestId >0">
<a-tag closable color="processing" @close="logT">
<span style="font-size:14px;line-height: 33px;" >删除考试</span>
</a-tag></div>
<div v-if="EditTestId > 0">
<a-tag closable color="processing" @close="logT">
<span style="font-size:14px;line-height: 33px;">删除考试</span>
</a-tag>
</div>
</div>
<!-- 添加考试侧弹窗 -->
<div>
<add-test v-model:addtestVisible="addtestvisible"
v-model:EditTestId ="EditTestId"
:faceLevel="true"
/>
<add-test v-model:addtestVisible="addtestvisible" v-model:EditTestId="EditTestId" :faceLevel="true" />
</div>
<!-- 添加考试侧弹窗 -->
</div>
@@ -326,13 +245,8 @@
<span style="margin-right: 3px">附件</span>
</div>
<div class="btnbox">
<a-upload
@change="handleChange"
action="/manageApi/file/upload"
v-model:file-list="fileList"
>
<button class="xkbtn">上传附件</button></a-upload
>
<a-upload @change="handleChange" action="/manageApi/file/upload" v-model:file-list="fileList">
<button class="xkbtn">上传附件</button></a-upload>
</div>
</div>
</div>
@@ -341,7 +255,7 @@
<button class="btn1" @click="exitAdd">取消</button>
<button class="btn2" @click="updateFaceTeach">确定</button>
</div>
</div>
</a-drawer>
</template>
@@ -355,7 +269,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";、
@@ -414,11 +328,11 @@ export default {
type: Number,
default: null,
},
projectTemplateId:{
projectTemplateId: {
type: Number,
default: null,
},
},
setup(props, ctx) {
const options = ref([]);
@@ -427,8 +341,8 @@ export default {
addhomeworkvisible: false,
addtestvisible: false,
memberValue: {
value:"",
label:""
value: "",
label: ""
},
fetching: false,
totalPages: 0,
@@ -437,45 +351,45 @@ export default {
memberId: 0,
pageSize: 10,
courseName: "",
duration:null,
duration: null,
address: null,
before:null,
afterStartValue:null,
before: null,
afterStartValue: null,
description: "",
chooseTime: [],
fileList: [],
chooseCourse: null, //选择的在线课程
assessmentId:null,
EditTestId:null,
EditWorkId:null,
assessmentVisible:false,
needEval:false,
onlySign:false,
completeLeave:false,
innerPersion:false,
outPersion:false,
assessmentId: null,
EditTestId: null,
EditWorkId: null,
assessmentVisible: false,
needEval: false,
onlySign: false,
completeLeave: false,
innerPersion: false,
outPersion: false,
});
const clear = () => {
state.courseName = "";
state.memberValue = {};
state.duration = null;
state.address = null;
state.before=null;
state.afterStartValue=null;
state.before = null;
state.afterStartValue = null;
state.chooseTime = [];
state.description ="";
state.onlySign =false;
state.completeLeave =false;
state.innerPersion =false;
state.outPersion =false;
state.description = "";
state.onlySign = false;
state.completeLeave = false;
state.innerPersion = false;
state.outPersion = false;
state.chooseCourse = null;
state.EditTestId =null;
state.assessmentId=null;
state.EditWorkId=null;
state.EditEvalId=null;
state.applyFlag="";
state.needEval=false;
state.EditTestId = null;
state.assessmentId = null;
state.EditWorkId = null;
state.EditEvalId = null;
state.applyFlag = "";
state.needEval = false;
};
const closeDrawer = () => {
ctx.emit("update:addfaceteachVisible", false);
@@ -487,24 +401,24 @@ export default {
if (bool && props.edit) {
// 该页面显示同时 edit为true 时,发送查询请求,
queryFaceTeach();
}
};
const logC= e => {
state.chooseCourse=null;
const logC = e => {
state.chooseCourse = null;
console.log(e);
};
const logW = e => {
state.EditWorkId=null;
state.EditWorkId = null;
console.log(e);
};
const logT= e => {
state.EditTestId=null;
const logT = e => {
state.EditTestId = null;
console.log(e);
};
const logA= e => {
state.EditEvalId=null;
const logA = e => {
state.EditEvalId = null;
console.log(e);
};
@@ -513,7 +427,7 @@ export default {
};
const showDrawerAddHomework = () => {
state.addhomeworkvisible = true;
};
const showDrawerAddTest = () => {
state.addtestvisible = true;
@@ -522,14 +436,14 @@ export default {
//查询面授
const queryFaceTeach = () => {
queryFaceDetailById(props.EditFaceId).then((res) => {
console.log("获取到了面授课开课详情", res.data.data);
let result = res.data.data;
state.courseName = result.name;
state.description = result.description;
state.memberValue= {value:result.teacherId,label:result.teacher}
state.duration =result.duration;
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"),
@@ -539,21 +453,21 @@ export default {
state.chooseTime = [];
}
state.address = result.address;
state.before =result.beforeStart;
state.before = result.beforeStart;
state.afterStartValue = result.afterStart;
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.innerPersion = result.projectMember.split(",")[0]=="1"?true:false;
state.outPersion = result.projectMember.split(",")[1]=="1"?true:false;
state.onlySign = result.completeType.split(",")[0] == "1" ? true : false;
state.completeLeave = result.completeType.split(",")[1] == "1" ? true : false;
state.chooseCourse = result.offcourseId;
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.EditWorkId = result.homeWorkId;
state.assessmentId = result.evaluateId;
state.needEval = result.evaluateId;
console.log("state=======",state);
console.log("state=======", state);
});
};
@@ -565,7 +479,7 @@ export default {
//新建或编辑面授
// 新增任务
const updateFaceTeach = () => {
if (
state.courseName == "" ||
state.chooseCourse == null ||
@@ -573,42 +487,42 @@ export default {
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 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,
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.before || 0,
beginTime: parseInt( new Date(state.chooseTime[0].$d).getTime() / 1000),
completeType:type.concat(t),
afterStart: state.afterStartValue || 0,
beforeStart: state.before || 0,
beginTime: parseInt(new Date(state.chooseTime[0].$d).getTime() / 1000),
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,
evalFlag: state.needEval ? 1 : 0,
evaluateId: state.assessmentId,
homeWorkId: state.EditWorkId,
name: state.courseName,
projectMember:p.concat(p1),
offcourseId:state.chooseCourse,
offcoursePlanId:props.EditFaceId >0 ? props.EditFaceId : 0,
projectMember: p.concat(p1),
offcourseId: state.chooseCourse,
offcoursePlanId: props.EditFaceId > 0 ? props.EditFaceId : 0,
testId: state.EditTestId
};
console.log("obj============",obj,"6"+"9");
console.log("obj============", obj, "6" + "9");
editPlan(obj)
.then((res) => {
message.destroy();
message.error(`添加成功`);
message.sucsess(`添加成功`);
updateTask(res);
ctx.emit("changeData", false);
closeDrawer();
@@ -624,7 +538,7 @@ export default {
//更新任务列表
// 新增编辑或新增项目任务
const updateTask = (res) => {
console.log("props.isLevel=====",props.isLevel);
console.log("props.isLevel=====", props.isLevel);
if (props.isLevel == 1) {
let editObj1 = {
chapterId: props.isactive,
@@ -637,7 +551,7 @@ export default {
RouterEditTask(editObj1)
.then(() => {
//message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
// state.addLoading = false;
closeDrawer();
})
@@ -657,8 +571,8 @@ export default {
// 新增编辑或新增项目
ProjectEditTask(editObj)
.then(() => {
message.success( `${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` );
message.success(`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功`);
})
.catch(() => {
//message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
@@ -669,14 +583,14 @@ export default {
courseId: res.data.data.offcoursePlanId,
name: res.data.data.name,
duration: res.data.data.duration,
projectTemplateId:props.projectTemplateId,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 2,
})
.then(() => {
//message.success(`${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` );
})
.catch(() => {
//message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`);
@@ -792,6 +706,7 @@ export default {
.ant-table-striped :deep(.table-striped) td {
background-color: #fafafa !important;
}
.addfaceteachDrawer {
.drawerMain {
.header {
@@ -801,6 +716,7 @@ export default {
justify-content: space-between;
align-items: center;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
@@ -809,14 +725,17 @@ export default {
margin-left: 24px;
}
}
.contentMain {
display: flex;
justify-content: space-between;
.main_left {
height: 1080px;
padding-right: 30px;
flex: 1;
border-right: 1px solid #e8e8e8;
.main_item {
display: flex;
align-items: center;
@@ -909,14 +828,14 @@ export default {
.xkbtn {
cursor: pointer;
width: 130px;
width: 130px;
height: 40px;
background: #388be1;
border-radius: 8px;
border: 0;
margin-right: 16px 8px 32px 0;
color: #fff;
}
}
}
@@ -930,16 +849,19 @@ export default {
align-items: center;
margin-top: 32px;
margin-bottom: 32px;
.signbox {
width: 120px;
display: flex;
justify-content: end;
align-items: center;
}
.btnbox {
display: flex;
flex: 1;
align-items: center;
.xkbtn {
cursor: pointer;
width: 130px;
@@ -954,6 +876,7 @@ export default {
}
}
}
.main_btns {
height: 72px;
width: 100%;
@@ -963,6 +886,7 @@ export default {
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
@@ -972,6 +896,7 @@ export default {
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;

View File

@@ -169,7 +169,7 @@ export default {
type: Boolean,
default: false,
},
projectTemplateId:{
projectTemplateId: {
type: Number,
default: null,
},
@@ -182,6 +182,7 @@ export default {
});
const state = reactive({
addLoading: false,
workEnclosureAddress:"",
});
const formRef = ref();
@@ -252,6 +253,8 @@ export default {
const handleChange = (info) => {
if (info.file.status !== "uploading") {
console.log(info.file, info.fileList);
state.workEnclosureAddress = info.fileList[0].response.data;
console.log('state.workEnclosureAddress',state.workEnclosureAddress);
}
if (info.file.status === "done") {
@@ -263,21 +266,20 @@ export default {
const fileList = ref([]);
const closeDrawer = () => {
formState.choosedTime = "";
ctx.emit("update:addhomeworkVisible", false);
ctx.emit("update:edit", false);
ctx.emit("update:EditWorkId", state.EditWorkId);
console.log("state.EditWorkId==============",state.EditWorkId);
console.log("state.EditWorkId==============", state.EditWorkId);
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
fileList.value = [];
state.workEnclosureAddress = "";
resetForm();
};
const afterVisibleChange = () => {
if (props.EditWorkId >0) {
state.EditWorkId = props.EditWorkId;
if (props.EditWorkId > 0) {
state.EditWorkId = props.EditWorkId;
queryWork();
}
};
@@ -287,14 +289,15 @@ export default {
let obj = {
submitEndTime: dayjs(formState.choosedTime[1]).format("YYYY-MM-DD"),
submitStartTime: dayjs(formState.choosedTime[0]).format("YYYY-MM-DD"),
workEnclosureAddress: "",
workEnclosureAddress: state.workEnclosureAddress ? state.workEnclosureAddress : "" ,
workId: props.edit ? props.EditWorkId : 0,
workName: formState.workName,
workRequirement: formState.workRequirement,
};
if (props.EditWorkId >0) {
if (props.EditWorkId > 0) {
updateWorkTaskUsing(obj)
.then((res) => {
// console.log("添加成功", res);
updateTask(res);
ctx.emit("changeData", false);
closeDrawer();
@@ -306,6 +309,7 @@ export default {
} else {
createWorkTask(obj)
.then((res) => {
console.log("添加成功", res);
updateTask(res);
ctx.emit("changeData", false);
closeDrawer();
@@ -336,77 +340,80 @@ export default {
};
// 新增编辑或新增项目任务
const updateTask = (res) => {
if(props.faceLevel){
state.EditWorkId = res.data.data.workId
}else{
if (props.faceLevel) {
state.EditWorkId = res.data.data.workId;
} else {
if (props.isLevel == 1) {
let editObj1 = {
chapterId: props.isactive,
courseId: res.data.data.workId,
name: res.data.data.workName,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 4,
};
let editObj1 = {
chapterId: props.isactive,
courseId: res.data.data.workId,
name: res.data.data.workName,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 4,
};
RouterEditTask(editObj1)
.then(() => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务成功`);
state.addLoading = false;
})
.catch(() => {
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务失败`);
});
} else if (props.isLevel == 2) {
let editObj = {
courseId: res.data.data.workId,
name: res.data.data.workName,
projectId: props.EditWorkId > 0 ? props.projectId : 0,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0 ,
type: 4,
};
ProjectEditTask(editObj)
.then(() => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
state.addLoading = false;
})
.catch(() => {
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("projectTemplateId,===",props.projectTemplateId);
addTempTask({
courseId: res.data.data.workId,
name: res.data.data.workName,
projectTemplateId:props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 4,
})
.then(() => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
state.addLoading = false;
})
.catch(() => {
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
});
}
RouterEditTask(editObj1)
.then(() => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务成功`);
state.addLoading = false;
ctx.emit("changeData", false);
closeDrawer();
})
.catch(() => {
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}关卡任务失败`);
});
} else if (props.isLevel == 2) {
let editObj = {
courseId: res.data.data.workId,
name: res.data.data.workName,
projectId: props.projectId > 0 ? props.projectId : 0,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 4,
};
console.log("editObj", editObj);
ProjectEditTask(editObj)
.then((res) => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
console.log("chenggong", res);
state.addLoading = false;
ctx.emit("changeData", false);
closeDrawer();
})
.catch((err) => {
console.log("shibaii", err);
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("projectTemplateId,===", props.projectTemplateId);
addTempTask({
courseId: res.data.data.workId,
name: res.data.data.workName,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 4,
})
.then(() => {
//message.success(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务成功`);
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch(() => {
//message.error(`${props.EditWorkId > 0 ? "编辑" : "新增"}阶段任务失败`);
});
}
}
};
const cle = () => {
console.log("xx", formState);
let obj = {
submitEndTime: dayjs(formState.choosedTime[1]).format("YYYY-MM-DD"),
submitStartTime: dayjs(formState.choosedTime[0]).format("YYYY-MM-DD"),
workEnclosureAddress: "",
workEnclosureAddress: state.workEnclosureAddress ? state.workEnclosureAddress : "" ,
workId: props.EditWorkId > 0 ? props.EditWorkId : 0,
workName: formState.workName,
workRequirement: formState.workRequirement,

View File

@@ -122,42 +122,41 @@
</div>
</div>
<div class="mbl_items2">
<div class="item_nam">
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 14px">直播封面</span>
<div class="item_nam">
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 14px">直播封面</span>
</div>
<div class="item_inp">
<a-upload
name="avatar"
list-type="picture-card"
class="avatar-uploader"
:show-upload-list="false"
:before-upload="beforeUpload"
>
<img
class="i_upload_img"
v-if="imageUrl"
:src="imageUrl"
alt="avatar"
/>
<div class="i_upload" v-else>
<div class="addimg">
<div class="heng"></div>
<div class="shu"></div>
</div>
<div class="item_inp">
<a-upload
name="avatar"
list-type="picture-card"
class="avatar-uploader"
:show-upload-list="false"
:before-upload="beforeUpload"
>
<img
class="i_upload_img"
v-if="imageUrl"
:src="imageUrl"
alt="avatar"
/>
<div class="i_upload" v-else>
<div class="addimg">
<div class="heng"></div>
<div class="shu"></div>
</div>
</div>
</a-upload>
<div class="i_bottom">
<div class="tip">支持图片格式为jpg/jpeg/png 图片最大为2MB</div>
</div>
</div>
</div>
</div>
</a-upload>
<div class="i_bottom">
<div class="tip">支持图片格式为jpg/jpeg/png 图片最大为2MB</div>
</div>
</div>
</div>
<div class="main_item" style="margin-top: -10px">
<div class="signbox">
@@ -179,7 +178,7 @@
<a-switch v-model:checked="switchC1" @click="PlayBack" />
</div>
</div>
<div v-if ="switchC1">
<div v-if="switchC1">
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">回放链接</span>
@@ -199,29 +198,32 @@
<span style="margin-right: 3px">评估</span>
</div>
<div class="btnbox2">
<a-checkbox v-model:checked="needEval" @click="needEval=!needEval"
>需要评估</a-checkbox >
<a-checkbox
v-model:checked="needEval"
@click="needEval = !needEval"
>需要评估</a-checkbox
>
</div>
</div>
<div v-if="needEval" class="main_item">
<div class="signbox">
</div>
<div class="signbox"></div>
<div class="btnbox">
<button class="xkbtn" @click="showAssessment">选择评估</button>
<div v-if = "assessmentId >0 ">
<a-tag closable color="processing" @close="logA">
<span style="font-size:14px;line-height: 33px;" >删除评估</span>
</a-tag></div>
<AssessmentList
v-model:assessmentVisible="assessmentVisible"
v-model:titleTag="titleTag"
v-model:assessmentId="assessmentId"
/>
<div v-if="assessmentId > 0">
<a-tag closable color="processing" @close="logA">
<span style="font-size: 14px; line-height: 33px"
>删除评估</span
>
</a-tag>
</div>
<AssessmentList
v-model:assessmentVisible="assessmentVisible"
v-model:titleTag="titleTag"
v-model:assessmentId="assessmentId"
/>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">考勤设置</span>
@@ -346,8 +348,8 @@ function getBase64(img, callback) {
export default {
name: "AddLive",
components:{
AssessmentList
components: {
AssessmentList,
},
props: {
addliveVisible: {
@@ -394,7 +396,7 @@ export default {
type: Number,
default: null,
},
projectTemplateId:{
projectTemplateId: {
type: Number,
default: null,
},
@@ -409,8 +411,8 @@ export default {
fetching: false,
totalPages: 0,
memberValue: {
value:"",
label:""
value: "",
label: "",
}, // 授课老师关键词
inputV1: "", //*直播名称
time: "", //*直播时间
@@ -434,9 +436,9 @@ export default {
obj: {}, //要传的obj数据
assessment: [], //评估信息
assessmentvalue: null,
needEval:false,
otherSettings:false,
assessmentVisible:false,
needEval: false,
otherSettings: false,
assessmentVisible: false,
});
const closeDrawer = () => {
ctx.emit("update:addliveVisible", false);
@@ -455,14 +457,14 @@ export default {
state.textV1 = "";
state.switchC1 = "";
state.imageUrl = "";
state.needEval=false;
state.needEval = false;
state.otherSettings;
ctx.emit("changeData", false);
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
};
const afterVisibleChange = (bool) => {
if (props.edit&&bool) {
if (props.edit && bool) {
queryLive();
}
api
@@ -512,7 +514,6 @@ export default {
});
};
const cloradio1 = (value) => {
if (state.radioV1 === value.target._value) {
state.radioV1 = "";
@@ -579,12 +580,12 @@ export default {
//message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`);
});
} else if (props.isLevel == 3) {
console.log("props.projectTemplateId",props.projectTemplateId);
console.log("props.projectTemplateId", props.projectTemplateId);
addTempTask({
courseId: res.data.data.liveId,
duration: res.data.data.duration,
name: res.data.data.liveName,
projectTemplateId:props.projectTemplateId,
projectTemplateId: props.projectTemplateId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId || 0,
type: 6,
@@ -599,9 +600,8 @@ export default {
}
};
const showAssessment = () => {
state.assessmentVisible = true;
console.log("hshs======",state.assessmentVisible);
console.log("hshs======", state.assessmentVisible);
};
//创建直播
const updateLiveBroadcast = () => {
@@ -651,7 +651,7 @@ export default {
otherSettings: state.otherSettings, //1或0
signOutTime: state.inputV8,
standardSettings: state.radioV1, //1或2
isEvaluate:state.eedEval ? "1":"0",
isEvaluate: state.eedEval ? "1" : "0",
};
if (props.edit) {
api
@@ -697,14 +697,14 @@ export default {
image.src = reader.result;
image.onload = () => {
const formData = new FormData();
formData.append("file", file);
console.log(file);
fileUp(formData).then((res) => {
if (res.data.code === 200) {
state.imageUrl = res.data.data;
}
});
return resolve(true);
formData.append("file", file);
console.log(file);
fileUp(formData).then((res) => {
if (res.data.code === 200) {
state.imageUrl = res.data.data;
}
});
return resolve(true);
};
};
@@ -779,7 +779,7 @@ export default {
state.discussSettings = "false";
}
};
return {
...toRefs(state),
afterVisibleChange,
@@ -924,62 +924,61 @@ export default {
}
}
.mbl_items2 {
display: flex;
align-items: start;
margin-top: 10px;
margin-bottom: 10px;
.i_bottom{
margin-bottom: 30px;
display: flex;
align-items: start;
margin-top: 10px;
margin-bottom: 10px;
.i_bottom {
margin-bottom: 30px;
}
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
margin-right: 5px;
margin-top: -15px;
}
}
.item_inp {
flex: 1;
.i_upload_img {
width: 100px;
height: 100px;
border-radius: 8px;
}
.i_upload {
width: 100px;
height: 100px;
border: 1px solid #4ea6ff;
border-radius: 8px;
text-align: center;
align-items: center;
cursor: pointer;
.addimg {
position: relative;
.heng {
position: absolute;
top: 50px;
left: 25px;
width: 50px;
border: 1px solid #4ea6ff;
}
.item_nam {
width: 100px;
display: flex;
align-items: center;
justify-content: flex-end;
white-space: nowrap;
.asterisk_icon {
width: 10px;
height: 10px;
margin-right: 5px;
margin-top: -15px;
}
}
.item_inp {
flex: 1;
.i_upload_img {
width: 100px;
height: 100px;
border-radius: 8px;
}
.i_upload {
width: 100px;
height: 100px;
border: 1px solid #4ea6ff;
border-radius: 8px;
text-align: center;
align-items: center;
cursor: pointer;
.addimg {
position: relative;
.heng {
position: absolute;
top: 50px;
left: 25px;
width: 50px;
border: 1px solid #4ea6ff;
}
.shu {
position: absolute;
top: 25px;
left: 50px;
height: 50px;
border: 1px solid #4ea6ff;
}
}
}
.shu {
position: absolute;
top: 25px;
left: 50px;
height: 50px;
border: 1px solid #4ea6ff;
}
}
}
}
}
}
}
.main_btns {

View File

@@ -24,13 +24,14 @@
>
系统考试
</button>
<button
<!-- 2022-11-30注释 后面放开 -->
<!-- <button
style="width: 100px"
@click="changeOuter(2)"
:class="[isOuter == 2 ? 'outer' : 'notOuter']"
>
外部考试
</button>
</button> -->
</div>
<a-form
v-if="isOuter == 1"

View File

@@ -95,6 +95,9 @@
</div>
</div>
<div class="set_content">
<div class="sign" style="position:relative;left:70px;top:-3px;">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
</div>
<div class="setc_name"><span>审核意见</span></div>
<div class="setc_main">
<a-textarea v-model:value="valueSuggest" :rows="4" />
@@ -258,6 +261,12 @@ export default {
state.showDetail = !state.showDetail;
};
const subMit = () => {
if (state.valueSuggest == null || state.valueSuggest == undefined || state.valueSuggest == "") {
message.destroy();
message.error("请输入审核意见");
return
}
auditView({
createId: props.chooseCreateId,
createName: props.chooseCreater,

View File

@@ -386,7 +386,7 @@ export default {
}
let obj = {
voteId: props.edit?state.EditVoteId : 0,
voteId: props.edit?props.EditVoteId : 0,
voteName: state.inputV1,
voteStartTime: dayjs(state.time[0]).format("YYYY-MM-DD"),
voteEndTime: dayjs(state.time[1]).format("YYYY-MM-DD"),

View File

@@ -1,20 +1,12 @@
<!-- 评估管理-创建评估页面 -->
<template>
<a-drawer
:visible="createVoteVisible"
class="drawerStyle createvoteDrawer"
width="100%"
placement="right"
@after-visible-change="afterVisibleChange"
>
<a-drawer :visible="createVoteVisible" class="drawerStyle createvoteDrawer" width="100%" placement="right"
@after-visible-change="afterVisibleChange">
<div class="researchadd">
<div class="header">
<div class="headerTitle">创建投票</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer" />
</div>
<div class="main_left">
<div class="main_item">
@@ -25,12 +17,8 @@
<span style="margin-right: 3px">投票名称</span>
</div>
<div class="btnbox">
<a-input
v-model:value="ballotName"
style="width: 424px; height: 32px"
placeholder="请输入任务名称"
maxlength="20"
/>
<a-input v-model:value="ballotName" style="width: 424px; height: 32px" placeholder="请输入任务名称"
maxlength="20" />
</div>
</div>
<div class="main_item">
@@ -52,29 +40,20 @@
<div class="footer">
<div class="btn">
<a-button
type="primary"
style="
<a-button type="primary" style="
width: 100px;
height: 40px;
border-radius: 8px;
background-color: #409eff;
"
@click="handleSave"
>
" @click="handleSave">
保存
</a-button>
<a-button
type="primary"
ghost
style="
<a-button type="primary" ghost style="
width: 100px;
height: 40px;
margin-left: 14px;
border-radius: 8px;
"
@click="handleAllCancel"
>
" @click="handleAllCancel">
取消
</a-button>
</div>
@@ -84,21 +63,21 @@
</template>
<script>
import { reactive, toRefs } from "vue";
import { message } from "ant-design-vue";
import { message } from "ant-design-vue";
// import { createResearch } from "../../api/indexResearch";
import VoteQuestion from "./VoteQuestion.vue";
import {
// sortBy,
traverseArr,
//filterCommon,
//filterCommon,
// deepCloneFilterString,
} from "../../utils/utils";
//import store from "@/store";
import * as api from "@/api/indexVote";
//import { useRouter } from "vue-router";
import {} from "@/api/indexResearch";
import { } from "@/api/indexResearch";
//import { message } from "ant-design-vue";
@@ -126,17 +105,17 @@ export default {
ballotId: "",
ballotName: "",
allFormsData: [],
});
// const router = useRouter();
// const router = useRouter();
const afterVisibleChange = () => {
if(state.ballotId>0){
if (props.ballotId) {
getInfoDate();
}else{
} else {
handleTypes();
}
};
const closeDrawer = () => {
ctx.emit("update:createVoteVisible", false);
@@ -145,49 +124,49 @@ export default {
};
// 详情
const getInfoDate = async () => {
console.log("props.editChild=====",props.editChild);
if (props.ballotId>0) {
console.log("props.editChild2=====",props.editChild);
console.log("props.editChild=====", props.editChild);
if (props.ballotId) {
console.log("props.editChild2=====", props.editChild);
let res = await api
.queryStemByStemId({ballotId:props.ballotId})
.queryStemByStemId(props.ballotId)
.then((res) => {
if (res.data.code === 200) {
return res.data.data;
}
});
console.log("res====",res);
console.log("res====", res);
state.ballotName = res.ballotId;
// let renderArr = [...res];
// let renderArr = [...res];
// sortBy(renderArr, "orderNumber"); //序号
state.allFormsData = parseData(res); //类型
console.log( state.allFormsData);
console.log(state.allFormsData);
}
};
// 转换成前端格式
const parseData = (arr) => {
const resultArr = [];
state.ballotId = arr.ballotId;
state.ballotName =arr.ballotName;
console.log("arr.voteStemVoList=====",arr.voteStemVoList);
state.ballotName = arr.ballotName;
console.log("arr.voteStemVoList=====", arr.voteStemVoList);
arr.voteStemVoList.forEach((item) => {
let obj = {};
let restList = traverseArr(item.optionDetailList, {
inputVal: "optionName",
imgVal: "optionPictureAddress",
optionId: "optionId",
voteStemId:"voteStemId",
stem:"stem",
voteStemId: "voteStemId",
stem: "stem",
}).map((itm, idx) => {
itm.id = idx + 1;
return itm;
});
obj = {
voteStemId:item.voteStemId,
voteStemId: item.voteStemId,
valueSingle: item.voteStemName,
singleList: restList,
};
@@ -199,20 +178,20 @@ export default {
});
return resultArr;
};
// 转换成后端格式
const restData = (arr) => {
const resultArr = [];
arr.forEach((item) => {
let obj = {};
console.log("item=======",item);
// if (item[typeKey] === 1) {
// 转换成后端格式
const restData = (arr) => {
const resultArr = [];
arr.forEach((item) => {
let obj = {};
console.log("item=======", item);
// if (item[typeKey] === 1) {
let restList = traverseArr(item.singleList, {
optionName: "inputVal",
optionPictureAddress: "imgVal",
optionId: "optionId",
voteStemId:"voteStemId",
stem:"stem",
voteStemId: "voteStemId",
stem: "stem",
}).map((itm, idx) => {
itm.optionOrderNum = idx + 1;
return itm;
@@ -224,54 +203,54 @@ export default {
});
obj = {
voteStemName: item.valueSingle,
optionDetailList: restList,
voteStemId:item.voteStemId,
};
resultArr.push(obj);
// }
console.log("resultArr=======",resultArr);
});
resultArr.map((itm, idx) => {
itm.orderNumber = idx + 1;
return itm;
});
return resultArr;
};
voteStemId: item.voteStemId,
// 解散传值
const parseItem = (arrr) => {
// const filterComObj = filterCommon(arr, "questionType");
let resultObj = {};
// for (let key in filterComObj) {
// if (key === "1") {
// let arrSingle = arrr
//filterComObj[key];
console.log("arrr======",arrr);
/*
let arr = [];
arrSingle.forEach((item) => {
console.log("item======",item);
if (item.singleList.length) {
item.singleList.forEach((itm) => {
arr.push({
...itm,
optionName: item.optionName,
optionOrderNum: item.optionOrderNum,
});
};
resultArr.push(obj);
// }
console.log("resultArr=======", resultArr);
});
resultArr.map((itm, idx) => {
itm.orderNumber = idx + 1;
return itm;
});
return resultArr;
};
// 解散传值
const parseItem = (arrr) => {
// const filterComObj = filterCommon(arr, "questionType");
let resultObj = {};
// for (let key in filterComObj) {
// if (key === "1") {
// let arrSingle = arrr
//filterComObj[key];
console.log("arrr======", arrr);
/*
let arr = [];
arrSingle.forEach((item) => {
console.log("item======",item);
if (item.singleList.length) {
item.singleList.forEach((itm) => {
arr.push({
...itm,
optionName: item.optionName,
optionOrderNum: item.optionOrderNum,
});
}
});*/
resultObj.voteStemDtoList = arrr;
// }
console.log("resultObj======",resultObj);
// }
return resultObj;
};
});
}
});*/
resultObj.voteStemDtoList = arrr;
// }
console.log("resultObj======", resultObj);
// }
return resultObj;
};
const handleTypes = () => {
@@ -309,24 +288,24 @@ export default {
};
const handleSave = () => {
let resultPost = {};
let filterData = parseItem(restData(state.allFormsData, "type"));
if (!state.ballotName) {
return message.warning("请输入投票名称");
}
// 校验s
// 校验
if (!checkVal(filterData)) {
return false;
}
// checkVal(filterData);
// checkVal(filterData);
console.log(12121212);
console.log(filterData);
if (state.ballotId) {
resultPost = {
ballotId: state.ballotId,
@@ -342,9 +321,9 @@ export default {
console.log(resultPost);
api.updateStemMessage(resultPost).then((res) => {
if (res.data.code === 200) {
state.ballotId=res.data.data.ballotId
console.log("res.data.data==============",res.data.data);
console.log("res.state.ballotId==============",state.ballotId);
state.ballotId = res.data.data.ballotId
console.log("res.data.data==============", res.data.data);
console.log("res.state.ballotId==============", state.ballotId);
message.success("编辑成功");
closeDrawer();
}
@@ -360,44 +339,44 @@ export default {
"assessmentMinScore",
]);*/
console.log("=========",resultPost);
console.log("=========", resultPost);
api.createStemMessage(resultPost).then((res) => {
if (res.data.code === 200) {
state.ballotId=res.data.data.ballotId
console.log("res.data.data2==============",res.data.data);
console.log("res.state.ballotId=2s=============",state.ballotId);
state.ballotId = res.data.data.ballotId
console.log("res.data.data2==============", res.data.data);
console.log("res.state.ballotId=2s=============", state.ballotId);
message.success("创建成功");
closeDrawer();
}
});
}
};
const handleAllCancel = () => {
state.allFormsData = [];
};
const checkVal = (filterData) => {
console.log("filterData.====",filterData);
console.log("filterData.voteStemVoList====",filterData.voteStemDtoList);
if(!filterData.voteStemDtoList){
message.error("请添加题干");
return false;
}
let arr = filterData.voteStemDtoList;
arr.forEach((item) => {
console.log("item===",item);
console.log("!item.voteStemName===",!item.voteStemName);
if (!item.voteStemName) {
console.log("item.voteStemName===",item.voteStemName);
message.error("题干为必填 请确认",item.voteStemName);
return false;
}
});
return true;
console.log("filterData.====", filterData);
console.log("filterData.voteStemVoList====", filterData.voteStemDtoList);
if (!filterData.voteStemDtoList) {
message.error("请添加题干");
return false;
}
let arr = filterData.voteStemDtoList;
arr.forEach((item) => {
console.log("item===", item);
console.log("!item.voteStemName===", !item.voteStemName);
if (!item.voteStemName) {
console.log("item.voteStemName===", item.voteStemName);
message.error("题干为必填 请确认", item.voteStemName);
return false;
}
});
return true;
};
return {
...toRefs(state),