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