fix:禁用作业过去时间选择

This commit is contained in:
wuyx
2022-12-22 12:35:59 +08:00
parent 13f9161781
commit 702e6e344b

View File

@@ -1,43 +1,21 @@
<template>
<a-drawer
:visible="addhomeworkVisible"
class="drawerStyle addhomeworkDrawer"
width="80%"
placement="right"
@after-visible-change="afterVisibleChange"
>
<a-drawer :visible="addhomeworkVisible" class="drawerStyle addhomeworkDrawer" width="80%" placement="right"
@after-visible-change="afterVisibleChange">
<div class="drawerMain">
<div class="header">
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}作业</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer2"
/>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer2" />
</div>
<a-form
ref="formRef"
name="custom-validation"
:model="formState"
:rules="rules"
v-bind="layout"
@finish="handleFinish"
@validate="handleValidate"
@finishFailed="handleFinishFailed"
>
<a-form 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="workName">
<a-input
v-model:value="formState.workName"
style="width: 400px; height: 40px; border-radius: 8px"
placeholder="请输入作业名称"
autocomplete="off"
show-count
:maxlength="20"
/>
<a-input v-model:value="formState.workName" style="width: 400px; height: 40px; border-radius: 8px"
placeholder="请输入作业名称" autocomplete="off" show-count :maxlength="20" />
</a-form-item>
</div>
</div>
@@ -45,48 +23,30 @@
<div class="main_item">
<div class="btnbox">
<a-form-item has-feedback label="提交时间" name="choosedTime">
<a-range-picker
show-time
style="width: 400px; height: 40px; border-radius: 8px"
v-model:value="formState.choosedTime"
format="YYYY/MM/DD HH:mm"
:placeholder="[' 开始时间', ' 结束时间']"
/>
<a-range-picker :disabled-date="disabledDate" :disabled-time="disabledRangeTime" show-time
style="width: 400px; height: 40px; border-radius: 8px" v-model:value="formState.choosedTime"
format="YYYY/MM/DD HH:mm" :placeholder="[' 开始时间', ' 结束时间']" />
</a-form-item>
</div>
</div>
<div class="main_item2">
<a-form-item has-feedback label="作业要求" name="workRequirement">
<div class="textarea">
<a-textarea
v-model:value="formState.workRequirement"
placeholder="请输入作业要求"
autocomplete="off"
allow-clear
:rows="6"
show-count
:maxlength="200"
/>
<a-textarea v-model:value="formState.workRequirement" placeholder="请输入作业要求" autocomplete="off"
allow-clear :rows="6" show-count :maxlength="200" />
</div>
</a-form-item>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/enclosure.png"
alt=""
/>
<img src="@/assets/images/coursewareManage/enclosure.png" alt="" />
</div>
<span style="margin-right: 3px">附件</span>
</div>
<div class="btnbox">
<a-upload
v-model:file-list="fileList"
name="file"
action="/manageApi/file/upload"
@change="handleChange"
>
<a-upload v-model:file-list="fileList" name="file" action="/manageApi/file/upload"
@change="handleChange">
<button class="xkbtn" type="button">上传附件</button>
</a-upload>
</div>
@@ -94,9 +54,7 @@
<div class="main_item" style="margin-top: -25px">
<div class="signbox"></div>
<div class="btnbox">
<span style="color: #999999"
>支持pdf.ppt.pptx.doc.docx.xls.xlsx.jpeg.png.gif.zip</span
>
<span style="color: #999999">支持pdf.ppt.pptx.doc.docx.xls.xlsx.jpeg.png.gif.zip</span>
</div>
</div>
</div>
@@ -367,7 +325,7 @@ export default {
};
if (props.EditWorkId > 0) {
if(state.isClick){
if (state.isClick) {
message.destroy();
message.error('请勿频繁点击')
return
@@ -388,7 +346,7 @@ export default {
state.isClick = false;
});
} else {
if(state.isClick){
if (state.isClick) {
message.destroy();
message.error('请勿频繁点击')
return
@@ -527,7 +485,33 @@ export default {
}
};
const range = (start, end) => {
const result = [];
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');
};
const disabledDateTime = () => {
return {
disabledHours: () => range(0, 24).splice(4, 20),
disabledMinutes: () => range(30, 60),
disabledSeconds: () => [55, 56],
};
};
return {
disabledDate,
disabledDateTime,
afterVisibleChange,
closeDrawer,
closeDrawer2,
@@ -620,6 +604,7 @@ export default {
display: flex;
align-items: flex-start;
margin-bottom: 32px;
.textarea {
width: 400px;
@@ -641,6 +626,7 @@ export default {
border-radius: 8px;
}
}
.signbox {
width: 120px;
display: flex;