Commit c2615073 by lijiabin

perf: 发布/推送时间限制为整分

parent 4c7cb11f
...@@ -203,7 +203,11 @@ ...@@ -203,7 +203,11 @@
v-model="form.pushTime" v-model="form.pushTime"
type="datetime" type="datetime"
placeholder="选择推送时间" placeholder="选择推送时间"
format="YYYY-MM-DD HH:mm"
time-format="HH:mm"
:disabled-date="(time: Date) => time.getTime() < Date.now() - 1000 * 60 * 60 * 24" :disabled-date="(time: Date) => time.getTime() < Date.now() - 1000 * 60 * 60 * 24"
:disabled-minutes="disabledMinutesOnlyTens"
:disabled-seconds="disabledSecondsOnlyZero"
value-format="X" value-format="X"
/> />
</el-form-item> </el-form-item>
...@@ -258,7 +262,11 @@ ...@@ -258,7 +262,11 @@
v-model="form.pushTime" v-model="form.pushTime"
type="datetime" type="datetime"
placeholder="选择推送时间" placeholder="选择推送时间"
format="YYYY-MM-DD HH:mm"
time-format="HH:mm"
:disabled-date="(time: Date) => time.getTime() < Date.now() - 1000 * 60 * 60 * 24" :disabled-date="(time: Date) => time.getTime() < Date.now() - 1000 * 60 * 60 * 24"
:disabled-minutes="disabledMinutesOnlyTens"
:disabled-seconds="disabledSecondsOnlyZero"
value-format="X" value-format="X"
/> />
</el-form-item> </el-form-item>
...@@ -285,7 +293,11 @@ ...@@ -285,7 +293,11 @@
v-model="form.sendTime" v-model="form.sendTime"
type="datetime" type="datetime"
placeholder="选择发布时间" placeholder="选择发布时间"
format="YYYY-MM-DD HH:mm"
time-format="HH:mm"
:disabled-date="(time: Date) => time.getTime() < Date.now() - 1000 * 60 * 60 * 24" :disabled-date="(time: Date) => time.getTime() < Date.now() - 1000 * 60 * 60 * 24"
:disabled-minutes="disabledMinutesOnlyTens"
:disabled-seconds="disabledSecondsOnlyZero"
value-format="X" value-format="X"
/> />
</el-form-item> </el-form-item>
...@@ -389,6 +401,11 @@ const [form, resetForm] = useResetData({ ...@@ -389,6 +401,11 @@ const [form, resetForm] = useResetData({
articleVideoUrl: '', articleVideoUrl: '',
}) })
// 时间选择只允许整十分(:00、:10、:20、:30、:40、:50),秒固定为 0
const disabledSecondsOnlyZero = () => Array.from({ length: 59 }, (_, i) => i + 1)
const disabledMinutesOnlyTens = () =>
Array.from({ length: 60 }, (_, i) => i).filter((m) => m % 10 !== 0)
const rules: Record<string, FormItemRule[]> = { const rules: Record<string, FormItemRule[]> = {
title: [{ required: true, message: '请输入文章标题', trigger: 'blur' }], title: [{ required: true, message: '请输入文章标题', trigger: 'blur' }],
content: [{ required: true, message: '请输入文章内容', trigger: 'blur' }], content: [{ required: true, message: '请输入文章内容', trigger: 'blur' }],
...@@ -615,6 +632,7 @@ onActivated(async () => { ...@@ -615,6 +632,7 @@ onActivated(async () => {
selectedDepts.value = [] selectedDepts.value = []
selectedUsers.value = [] selectedUsers.value = []
} else { } else {
form.value.isPushAll = BooleanFlag.NO
selectedDepts.value = selectedDepts.value =
data.pushList data.pushList
?.filter((item) => item.valueType === 1) ?.filter((item) => item.valueType === 1)
......
...@@ -180,11 +180,10 @@ ...@@ -180,11 +180,10 @@
type="datetime" type="datetime"
placeholder="请选择推送时间" placeholder="请选择推送时间"
value-format="X" value-format="X"
:disabled-date=" format="YYYY-MM-DD HH:mm"
(time: Date) => { time-format="HH:mm"
return time.getTime() < Date.now() - 1000 * 60 * 60 * 24 :disabled-minutes="disabledMinutesOnlyTens"
} :disabled-seconds="disabledSecondsOnlyZero"
"
/> />
</div> </div>
</el-form-item> </el-form-item>
...@@ -239,11 +238,10 @@ ...@@ -239,11 +238,10 @@
placeholder="选择发布时间" placeholder="选择发布时间"
size="small" size="small"
value-format="X" value-format="X"
:disabled-date=" format="YYYY-MM-DD HH:mm"
(time: Date) => { time-format="HH:mm"
return time.getTime() < Date.now() - 1000 * 60 * 60 * 24 :disabled-minutes="disabledMinutesOnlyTens"
} :disabled-seconds="disabledSecondsOnlyZero"
"
style="width: 250px" style="width: 250px"
/> />
<el-switch <el-switch
...@@ -413,6 +411,11 @@ const [form, resetData] = useResetData({ ...@@ -413,6 +411,11 @@ const [form, resetData] = useResetData({
summary: '', summary: '',
}) })
// 时间选择只允许整十分(:00、:10、:20、:30、:40、:50),秒固定为 0
const disabledSecondsOnlyZero = () => Array.from({ length: 59 }, (_, i) => i + 1)
const disabledMinutesOnlyTens = () =>
Array.from({ length: 60 }, (_, i) => i).filter((m) => m % 10 !== 0)
const selectedDepts = ref<{ id: string; name: string }[]>([]) const selectedDepts = ref<{ id: string; name: string }[]>([])
const selectedUsers = ref<{ id: string; name: string }[]>([]) const selectedUsers = ref<{ id: string; name: string }[]>([])
const selectedText = computed(() => { const selectedText = computed(() => {
...@@ -592,7 +595,7 @@ const handleSubmit = async (releaseStatus: ReleaseStatusTypeEnum) => { ...@@ -592,7 +595,7 @@ const handleSubmit = async (releaseStatus: ReleaseStatusTypeEnum) => {
await formRef.value?.validate() await formRef.value?.validate()
loading.value = true loading.value = true
try { try {
addOrUpdateArticle(tansformData(releaseStatus)) await addOrUpdateArticle(tansformData(releaseStatus))
push.success(releaseStatus === ReleaseStatusTypeEnum.PUBLISH ? '发布成功' : '存草稿成功') push.success(releaseStatus === ReleaseStatusTypeEnum.PUBLISH ? '发布成功' : '存草稿成功')
resetPageData() resetPageData()
router.push('/') router.push('/')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment