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

This commit is contained in:
yuping
2022-12-13 09:55:31 +08:00
31 changed files with 399 additions and 87 deletions

View File

@@ -70,7 +70,7 @@ export default {
href: "/leveladd",
},
{
name: "关卡",
name: "管理",
},
];
}

View File

@@ -203,6 +203,7 @@
</div> -->
</div>
</div>
<!--
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">完成标准设置</span>
@@ -211,14 +212,15 @@
<a-radio-group v-model:value="radioV1">
<a-radio v-model:checked="checked" :value="1" @click="cloradio1"
>仅签到
</a-radio>
</a-radio>-->
<!-- <a-radio v-model:checked="checked" :value="2" @click="cloradio1"
>签到签退全部完成
</a-radio
> -->
>
</a-radio-group>
</div>
</div>
</div>-->
<div class="main_item" style="height:40px;">
<div class="signbox">
<span style="margin-right: 3px"></span>
@@ -383,6 +385,10 @@ export default {
};
const updateTask = async (res) => {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
await RouterEditTask({
chapterId: props.isactive,
courseId: res.data.data.activityId,

View File

@@ -275,6 +275,10 @@ export default {
};
const updateTask = () => {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
for (let i = 0; i < state.apiTaskList.length; i++) {
RouterEditTask({
chapterId: props.isactive,

View File

@@ -191,6 +191,10 @@ export default {
}
};
const updateTask = async (res) => {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
if (props.isLevel == 1) {
await RouterEditTask({
chapterId: props.isactive,

View File

@@ -177,6 +177,10 @@ export default {
};
//向关卡或阶段渲染
const updateTask = async (value) => {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
if (props.isLevel == 1) {
await RouterEditTask({
chapterId: props.isactive,
@@ -249,8 +253,8 @@ export default {
state.description = res.data.data.evaluationExplain;
})
.catch((err) => {
message.destroy()
message.error("获取测量平信息失败");
//message.destroy()
// message.error("获取测量平信息失败");
console.log(err, "erererrerererererer");
});
}

View File

@@ -27,7 +27,7 @@
alt=""
/>
</div>
<span style="margin-right: 3px">课程任务名称</span>
<span style="margin-right: 3px">任务名称</span>
</div>
<div class="btnbox">
<a-input
@@ -100,8 +100,8 @@
</div>
<span style="margin-right: 3px">面授时间</span>
</div>
<div class="select">
<a-range-picker
<div class="select" >
<a-range-picker style="width: 400px;"
show-time
format="YYYY/MM/DD HH:mm"
v-model:value="chooseTime"
@@ -702,6 +702,10 @@ export default {
// 新增编辑或新增项目任务
const updateTask = async (res) => {
console.log("props.isLevel=====", props.isLevel);
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
if (props.isLevel == 1) {
let editObj1 = {
chapterId: props.isactive,

View File

@@ -394,6 +394,10 @@ export default {
state.EditWorkId = res.data.data.workId;
} else {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
let editObj1 = {
chapterId: props.isactive,
courseId: res.data.data.workId,

View File

@@ -163,6 +163,10 @@ export default {
l_data_id.push(Number(state.assessmentId))
console.log("state.assessment",state.assessment,state.assessmentId);
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
IsExistence({
chapterId: Number(props.isactive),
courseTaskId:l_data_id,

View File

@@ -38,21 +38,26 @@
/>
</div>
</div>
<div class="main_item2">
<div class="main_item" style="margin-top: -10px">
<div class="signbox">
<span style="margin-right: 3px">直播说明</span>
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">直播链接</span>
</div>
<div class="textarea">
<a-textarea
v-model:value="textV1"
placeholder="请输入直播说明"
allow-clear
show-count
:maxlength="200"
:rows="6"
<div class="btnbox">
<a-input
v-model:value="inputV4"
style="width: 400px; height: 40px; border-radius: 8px;"
placeholder="请输入直播链接"
:maxlength="100"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
@@ -148,19 +153,28 @@
</div>
</div>
</div>
<div class="main_item" style="margin-top: -10px">
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">直播链接</span>
<div class="asterisk_icon">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">直播公告</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV4"
style="width: 400px; height: 40px; border-radius: 8px;"
placeholder="请输入直播链接"
:maxlength="100"
<div class="textarea">
<a-textarea
v-model:value="liveNotice"
placeholder="请输入直播公告"
allow-clear
show-count
:maxlength="200"
:rows="6"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">回放设置</span>
@@ -184,6 +198,8 @@
</div>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">直播说明</span>
@@ -191,7 +207,7 @@
<div class="textarea">
<a-textarea
v-model:value="textV1"
placeholder="请输入考试说明"
placeholder="请输入直播说明"
allow-clear
show-count
:maxlength="200"
@@ -270,17 +286,18 @@
</div> -->
</div>
</div>
<!--
<div class="main_item">
<div class="signbox">
<span style="margin-right: 3px">完成标准设置</span>
</div>
<div class="btnbox">
<a-radio-group v-model:value="radioV1">
<a-radio :value="1" @click="cloradio1">仅签到</a-radio>
<a-radio :value="1" @click="cloradio1">仅签到</a-radio>-->
<!-- <a-radio :value="2" @click="cloradio1"
>签到签退全部完成</a-radio
> -->
<!--
</a-radio-group>
</div>
</div>
@@ -297,6 +314,8 @@
</a-checkbox>
</div>
</div>
-->
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">评估</span>
@@ -454,6 +473,7 @@ export default {
switchC1: "",
checkedC1: false,
checkedC2: false,
liveNotice :null,
assessmentId: null,
obj: {}, //要传的obj数据
assessment: [], //评估信息
@@ -483,6 +503,9 @@ export default {
state.needEval = false;
state.switchC2 = false;
state.assessmentId = null;
state.liveNotice =null;
state.liveTeacherId=null;
state.memberValue={};
ctx.emit("changeData", false);
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
@@ -532,7 +555,7 @@ export default {
state.inputV8 = res.data.data.signOutTime;
state.textV1 = res.data.data.liveExplain;
state.radioV1 = Number(res.data.data.standardSettings);
//state.= res.data.data
state.liveNotice = res.data.data.liveNotice;
state.assessmentId = res.data.data.assessmentId;
state.imageUrl = res.data.data.liveCover;
state.switchC1 = res.data.data.livePlayback === "1" ? true : false;
@@ -577,6 +600,10 @@ export default {
};
const updateTask = (res) => {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
RouterEditTask({
chapterId: props.isactive,
courseId: res.data.data.liveId,
@@ -641,6 +668,11 @@ export default {
message.destroy();
return message.warning("请输入直播名称");
}
if (!state.inputV4) {
message.destroy();
return message.warning("请输入直播链接");
}
if (!state.time) {
message.destroy();
return message.warning("请输入直播时间");
@@ -657,6 +689,10 @@ export default {
message.destroy();
return message.warning("请上传封面");
}
if (!state.liveNotice) {
message.destroy();
return message.warning("请输入直播公告");
}
const regular = /^[+]{0,1}(\d+)$/;
if (!regular.test(state.inputV2)) {
message.destroy();
@@ -682,6 +718,7 @@ export default {
liveEndTime: endTime,
liveStartTime: startTime,
liveExplain: state.textV1,
liveNotice:state.liveNotice,
liveFlag: "",
liveId: props.edit ? Number(props.EditLiveId) : 0,
liveLink: state.inputV4,

View File

@@ -36,7 +36,7 @@
/>
<div class="inp_num" style="position: absolute; right: 7px">
<span style="color: #c7cbd2">
{{ inputV1 ? inputV1.length : 0 }}/20
</span>
</div>
</div>
@@ -464,6 +464,10 @@ export default {
const updateTask = () => {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
console.log("我是要便利的数据2", state.addOnlineList);
let l_data = state.addOnlineList;
let l_data_id = [];

View File

@@ -551,6 +551,10 @@ export default {
const updateTask = async (res) => {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
await RouterEditTask({
chapterId: props.isactive,
courseId: res.key,

View File

@@ -182,6 +182,10 @@ export default {
};
const updateTask = async (res) => {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
RouterEditTask({
chapterId: props.isactive,
courseId: res.data.data.linkId,

View File

@@ -570,6 +570,10 @@ export default {
closeDrawer();
} else {
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
let editObj1 = {
chapterId: props.isactive,
duration: res.data.data.examinationDuration,

View File

@@ -58,6 +58,7 @@
</div>
</div>
</div>
<!--
<div class="main_notice">
<div class="mntc_left">
<div class="notice_icon"></div>
@@ -101,7 +102,8 @@
</div>
</div>
</div>
</div>-->
<div class="main_table">
<a-table

View File

@@ -105,7 +105,7 @@
<iframe
id="iframe"
style="width: 100%; height: 100%"
:src="iframeUrl + '/exam/tests'"
:src="iframeUrl + '/exam/papers'"
name="myframe"
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
></iframe>

View File

@@ -1,10 +1,13 @@
<template>
<a-input
<a-input
v-model:value="modelV"
:placeholder="placeholder"
:show-count="showCount"
:maxlength="maxlength"
:validate="validate"
@blur="validateProName"
@change="validateProName"
/>
<div style="color:red;font-size: 10px" v-if="value && !validate">名称重复请重新输入</div>
</template>
@@ -18,7 +21,7 @@ const props = defineProps({
},
validate: {
type: Boolean,
default: true
default:true
},
id: {
type: String,
@@ -55,9 +58,52 @@ watch(modelV, () => {
})
function validateProName() {
emit('update:finished', false);
props.value && validateName({name: props.value, type: props.type, id: props.id}).then(res => {
emit('update:validate', res.data.data !== 1)
emit('update:finished', true);
})
}
</script>
<style lang="scss">
.in{
.ant-input-affix-wrapper {
position: relative;
display: inline-block;
width: 99%;
min-width: 0;
padding: 0px 17px;
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
line-height: 1.5715;
background-color: #fff;
background-image: none;
border: 1px solid #d9d9d9;
border-radius: 8px;
transition: all 0.3s;
display: inline-flex;
}
}
.b_input,.i1_input{
.ant-input-affix-wrapper {
position: relative;
display: inline-block;
width: 88%;
min-width: 0;
padding: 8px 17px;
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
line-height: 1.5715;
background-color: #fff;
background-image: none;
border: 1px solid #d9d9d9;
border-radius: 8px;
transition: all 0.3s;
display: inline-flex;
}
}
</style>

View File

@@ -8,7 +8,7 @@
v-model:value="id"
style="width: 100%"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="自动带出 可修改"
placeholder="请选择归属组织"
allow-clear
:tree-data="options"
:fieldNames="{

View File

@@ -32,7 +32,7 @@
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
style="width: 424px; height: 40px; border-radius: 8px;"
placeholder="请输入投票任务名称"
maxlength="20"
/>
@@ -102,7 +102,7 @@
</div>
<span style="margin-right: 3px">起止时间</span>
</div>
<div class="btnbox">
<div class="select" >
<a-range-picker
show-time
format="YYYY-MM-DD HH:mm:ss"
@@ -306,6 +306,10 @@ export default {
const updateToTask = (res) => {
console.log("props.isLevel=====", props.isLevel);
if (props.isLevel == 1) {
if(!props.isactive){
message.destroy();
return message.warning("请先选中关卡");
}
RouterEditTask({
chapterId: props.isactive,
courseId: res.data.data.voteId,
@@ -661,7 +665,29 @@ export default {
}
}
}
.in {
element.style {
border-radius: 8px;
}
.ant-input-affix-wrapper {
position: relative;
display: inline-block;
width: 132%;
/* min-width: 19px; */
padding: 4px 11px;
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
line-height: 1.5715;
background-color: #fff;
background-image: none;
border: 1px solid #d9d9d9;
border-radius: 2px;
transition: all 0.3s;
display: inline-flex;
}
}
.main_item2 {
display: flex;
align-items: flex-start;
@@ -670,7 +696,7 @@ export default {
width: 423px;
.ant-input {
width: 100%;
width:355px;
}
.ant-input-textarea-show-count {