feat:修改活动直播任务签到时间

This commit is contained in:
lixg
2023-01-12 17:42:43 +08:00
parent 9a7c90af8d
commit d362e2a258
7 changed files with 812 additions and 719 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 734 B

View File

@@ -63,11 +63,10 @@ export default {
if (state.openList[0].href !== "/learningpath") {
state.openList.splice(key, 1);
$router.push({ path: "/learningpath" });
}else{
} else {
message.destroy();
return message.warning("至少保留一个页面");
}
} else {
if (value.active) {
if (key === state.openList.length - 1) {
@@ -118,7 +117,6 @@ export default {
width: 50px;
height: 50px;
position: absolute;
display: flex;
align-items: center;

View File

@@ -31,14 +31,13 @@
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 400px; height: 40px; border-radius: 8px;"
style="width: 400px; height: 40px; border-radius: 8px"
placeholder="请输入活动名称"
maxlength="20"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
@@ -51,10 +50,11 @@
</div>
<div class="btnbox">
<a-range-picker
:disabled-date="disabledDate" :disabled-time="disabledRangeTime"
:show-time="{ format: 'HH:mm' }"
:disabled-date="disabledDate"
:disabled-time="disabledRangeTime"
:show-time="{ format: 'HH:mm' }"
format="YYYY-MM-DD HH:mm"
style="width: 400px; height: 40px; border-radius: 8px;"
style="width: 400px; height: 40px; border-radius: 8px"
v-model:value="time"
:placeholder="[' 开始时间', ' 结束时间']"
/>
@@ -74,7 +74,7 @@
<a-input-number
:min="0"
:precision="0"
style="width: 400px; height: 40px; border-radius: 8px;"
style="width: 400px; height: 40px; border-radius: 8px"
v-model:value="inputV2"
/>
<span style="color: #999999; margin-left: 8px">分钟</span>
@@ -93,7 +93,7 @@
<div class="btnbox">
<a-input
v-model:value="inputV3"
style="width: 400px; height: 40px; border-radius: 8px;"
style="width: 400px; height: 40px; border-radius: 8px"
placeholder="请输入活动地点"
maxlength="100"
/>
@@ -109,13 +109,14 @@
</div>
<span style="margin-right: 3px">活动公告</span>
</div>
<div class="textarea" >
<div class="textarea">
<a-textarea
v-model:value="textV1"
placeholder="请输入活动公告"
allow-clear
:rows="6"
show-count :maxlength="200"
show-count
:maxlength="200"
/>
</div>
</div>
@@ -129,7 +130,8 @@
placeholder="请输入活动说明"
allow-clear
:rows="6"
show-count :maxlength="200"
show-count
:maxlength="200"
/>
</div>
</div>
@@ -158,7 +160,9 @@
"
v-model:value="inputV4"
/>
<span style="color: #999999; margin-left: 8px">分钟允许签到</span>
<span style="color: #999999; margin-left: 8px"
>分钟允许签到</span
>
</div>
<div class="timerbox">
<span>活动开始后</span>
@@ -174,7 +178,9 @@
"
v-model:value="inputV5"
/>
<span style="color: #999999; margin-left: 8px">分钟允许签到</span>
<span style="color: #999999; margin-left: 8px"
>分钟允许签到</span
>
</div>
</div>
<!-- <div class="qdqtbox">
@@ -214,7 +220,7 @@
<a-radio v-model:checked="checked" :value="1" @click="cloradio1"
>仅签到
</a-radio>-->
<!-- <a-radio v-model:checked="checked" :value="2" @click="cloradio1"
<!-- <a-radio v-model:checked="checked" :value="2" @click="cloradio1"
>签到签退全部完成
</a-radio
>
@@ -222,15 +228,12 @@
</div>
</div>-->
<div class="main_item" style="height:40px;">
<div class="main_item" style="height: 40px">
<div class="signbox">
<span style="margin-right: 3px"></span>
</div>
<div class="btnbox">
</div>
<div class="btnbox"></div>
</div>
</div>
</div>
<div class="main_btns">
@@ -318,7 +321,7 @@ export default {
textV2: "",
radioV1: "",
time: "",
isClick: false
isClick: false,
});
const closeDrawer = () => {
ctx.emit("update:addactiveVisible", false);
@@ -357,7 +360,8 @@ export default {
api
.getActivity(props.EditActiveId)
.then((res) => {
//更新讨论信息
console.log("获取活动信息", res);
//获取活动信息
state.inputV1 = res.data.data.activityName;
state.textV1 = res.data.data.activityNotice;
state.textV2 = res.data.data.activityExplain;
@@ -387,7 +391,7 @@ export default {
};
const updateTask = async (res) => {
if (props.isLevel == 1) {
if(!props.isactive){
if (!props.isactive) {
message.destroy();
return message.warning("请先选中关卡");
}
@@ -466,11 +470,11 @@ export default {
return message.warning("请输入活动地址");
}
if(state.isClick){
message.destroy();
message.error('请勿频繁点击')
return
}
if (state.isClick) {
message.destroy();
message.error("请勿频繁点击");
return;
}
state.isClick = true;
let obj = {
@@ -483,11 +487,12 @@ export default {
activityNotice: state.textV1, //活动公告
activityStartTime: dayjs(state.time[0]).format("YYYY-MM-DD HH:mm"), //活动开始时间
activityTag: "", //活动逻辑删除标识
afterSignIn: state.inputV5, //活动开始后多少分钟签到
beforeSignIn: state.inputV4, //活动开始前多少分钟签到
afterSignIn: state.inputV5 ? state.inputV5 : 0, //活动开始后多少分钟签到
beforeSignIn: state.inputV4 ? state.inputV4 : 0, //活动开始前多少分钟签到
signOutTime: state.inputV6, //签退开始时间
standardSettings: state.radioV1, //标准设置
};
console.log("obj", obj);
if (props.edit) {
//更新编辑活动信息
api
@@ -526,27 +531,27 @@ export default {
};
const range = (start, end) => {
const result = [];
const result = [];
for (let i = start; i < end; i++) {
result.push(i);
}
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
};
const disabledDate = (current) => {
// Can not select days before today and today
console.log('1111', dayjs().endOf('day'))
return current && current < dayjs().startOf('day');
};
return result;
};
const disabledDate = (current) => {
// Can not select days before today and today
console.log("1111", dayjs().endOf("day"));
return current && current < dayjs().startOf("day");
};
const disabledDateTime = () => {
return {
disabledHours: () => range(0, 24).splice(4, 20),
disabledMinutes: () => range(30, 60),
disabledSeconds: () => [55, 56],
};
};
const disabledDateTime = () => {
return {
disabledHours: () => range(0, 24).splice(4, 20),
disabledMinutes: () => range(30, 60),
disabledSeconds: () => [55, 56],
};
};
return {
...toRefs(state),
@@ -556,9 +561,7 @@ export default {
cloradio1,
updateActivityInfo,
disabledDateTime,
disabledDate
disabledDate,
};
},
};
@@ -701,7 +704,6 @@ export default {
}
.setbox {
flex-wrap: wrap;
margin-top: 10px;
margin-bottom: 24px;

View File

@@ -71,7 +71,8 @@
<div class="btnbox">
<a-range-picker
:show-time="{ format: 'HH:mm' }"
:disabled-date="disabledDate" :disabled-time="disabledRangeTime"
:disabled-date="disabledDate"
:disabled-time="disabledRangeTime"
style="width: 400px; height: 40px; border-radius: 8px"
v-model:value="time"
format="YYYY/MM/DD HH:mm"
@@ -486,7 +487,7 @@ export default {
switchC2: false,
assessmentVisible: false,
assessmentName: "",
isClick: false
isClick: false,
});
const closeDrawer = () => {
ctx.emit("update:addliveVisible", false);
@@ -701,11 +702,11 @@ export default {
message.destroy();
return message.warning("请输入直播公告");
}
if(state.isClick){
message.destroy();
message.error('请勿频繁点击')
return
}
if (state.isClick) {
message.destroy();
message.error("请勿频繁点击");
return;
}
state.isClick = true;
const regular = /^[+]{0,1}(\d+)$/;
@@ -722,8 +723,8 @@ export default {
"Y-M-D h:m"
);
state.obj = {
afterSignIn: state.inputV6,
beforeSignIn: state.inputV7,
afterSignIn: state.inputV6 ? state.inputV6 : 0,
beforeSignIn: state.inputV7 ? state.inputV7 : 0,
assessmentId:
state.assessmentId == null || state.assessmentId == ""
? 0
@@ -888,27 +889,27 @@ export default {
state.isEvaluate = "0";
};
const range = (start, end) => {
const result = [];
const result = [];
for (let i = start; i < end; i++) {
result.push(i);
}
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
};
const disabledDate = (current) => {
// Can not select days before today and today
console.log('1111', dayjs().endOf('day'))
return current && current < dayjs().startOf('day');
};
return result;
};
const disabledDate = (current) => {
// Can not select days before today and today
console.log("1111", dayjs().endOf("day"));
return current && current < dayjs().startOf("day");
};
const disabledDateTime = () => {
return {
disabledHours: () => range(0, 24).splice(4, 20),
disabledMinutes: () => range(30, 60),
disabledSeconds: () => [55, 56],
};
};
const disabledDateTime = () => {
return {
disabledHours: () => range(0, 24).splice(4, 20),
disabledMinutes: () => range(30, 60),
disabledSeconds: () => [55, 56],
};
};
return {
...toRefs(state),
afterVisibleChange,
@@ -927,7 +928,7 @@ export default {
showAssessment,
removePG,
disabledDateTime,
disabledDate
disabledDate,
};
},
};

View File

@@ -64,8 +64,13 @@
</a-button>
</a-col>
<a-col :span="2">
<a-button class="cus-btn white" style="width: 100px" @click="reset"
>重置
<a-button class="cus-btn white" style="width: 100px" @click="reset">
<template #icon>
<img
style="margin-right: 10px"
src="../../assets/images/leveladd/reset.png"
/></template>
重置
</a-button>
</a-col>
</a-row>

View File

@@ -536,9 +536,8 @@
<div class="split"></div>
<a-tabs>
<a-tab-pane key="1" tab="基本信息">
<!-- 2023-1-12 隐藏 后面放开 -->
<!-- <a-tab-pane key="1" tab="基本信息">
<div class="sametab">
<div class="Gcon">
<div class="pad"></div>
@@ -634,8 +633,7 @@
</div>
</div>
</div>
</a-tab-pane>
</a-tab-pane> -->
<a-tab-pane key="2" tab="共享文档">
<div class="sametab">
@@ -668,7 +666,13 @@
>
<img
src="@/assets/images/basicinfo/cloud.png"
style="cursor: pointer; width: 24px; height: 24px; margin-left: 8px;margin-bottom: 3px;"
style="
cursor: pointer;
width: 24px;
height: 24px;
margin-left: 8px;
margin-bottom: 3px;
"
alt=""
/>
</a-upload>
@@ -694,7 +698,6 @@
"
class="docListStyle"
>
<!-- <img
src="@/assets/images/basicinfo/download.png"
style="
@@ -705,26 +708,74 @@
"
alt=""
/> -->
<img v-if="
item.name.indexOf('jpg') !== -1 ||
item.name.indexOf('jpeg') !== -1 ||
item.name.indexOf('png') !== -1
"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/pngpic.png" />
<img
v-if="
item.name.indexOf('jpg') !== -1 ||
item.name.indexOf('jpeg') !== -1 ||
item.name.indexOf('png') !== -1
"
style="width: 27px; height: 32px; margin-right: 40px"
src="@/assets/images/coursewareManage/pngpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('doc') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/docpic.png" />
<img
v-if="item.name.indexOf('doc') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/docpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('xls') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/xlspic.png" />
<img
v-if="item.name.indexOf('xls') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/xlspic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('ppt') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/pptpic.png" />
<img
v-if="item.name.indexOf('ppt') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/pptpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('pdf') !== -1" style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/pdfpic.png" />
<img
v-if="item.name.indexOf('pdf') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/pdfpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('zip') !== -1"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/zippic.png" />
<img v-else style="width: 27px;height: 32px;margin-right: 40px;" src="@/assets/images/coursewareManage/docpic.png" />
<img
v-if="item.name.indexOf('zip') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/zippic.png"
/>
<img
v-else
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/docpic.png"
/>
</div>
</div>
</div>
@@ -742,7 +793,11 @@
:title="item.name"
>{{ item.name }}</span
>
<a :href="item.response?item.response.data:''" style="margin-left: 5px">下载</a>
<a
:href="item.response ? item.response.data : ''"
style="margin-left: 5px"
>下载</a
>
<span
style="color: #4ea6ff; cursor: pointer"
@click="deFile(item.uid)"
@@ -756,7 +811,6 @@
</a-tab-pane>
</a-tabs>
</a-tab-pane>
</a-tabs>
<a-modal
@@ -1428,7 +1482,10 @@ export default {
evaluationLevelName: "",
facestudent: "",
locationHref: location.href.indexOf('http://') !== -1 ? 'http://111.231.196.214:12016/' : location.href.slice(0, location.href.indexOf('/m')) + '/upload/'
locationHref:
location.href.indexOf("http://") !== -1
? "http://111.231.196.214:12016/"
: location.href.slice(0, location.href.indexOf("/m")) + "/upload/",
});
const levelList = reactive({
@@ -2048,7 +2105,7 @@ export default {
.then((res) => {
console.log("router-list", res);
state.fileList = JSON.parse(res.data.data.routerInfo.attach);
console.log('asdasdasd-------->',state.fileList)
console.log("asdasdasd-------->", state.fileList);
state.docChecked =
res.data.data.routerInfo.attachSwitch == 1 ? true : false;
if (res.data.data.routerInfo.status == 1) {

File diff suppressed because it is too large Load Diff