From 8a6a2c6852052c52ab351f5428af4e63362312a3 Mon Sep 17 00:00:00 2001 From: jacky Date: Thu, 25 Apr 2024 13:24:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E7=AB=A0=E7=BC=96?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E9=BB=98=E8=AE=A4=E6=97=B6=E9=97=B4=E9=94=99?= =?UTF-8?q?=E8=AF=AF=20=E4=BF=AE=E6=94=B9=E6=96=87=E7=AB=A0=E5=BF=85?= =?UTF-8?q?=E5=A1=AB=E9=A1=B9=E6=98=BE=E7=A4=BA=E5=92=8C=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view/content/components/articleEdit.vue | 40 ++++++++++++++------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/src/view/content/components/articleEdit.vue b/src/view/content/components/articleEdit.vue index 28bb1bd..2105ab8 100644 --- a/src/view/content/components/articleEdit.vue +++ b/src/view/content/components/articleEdit.vue @@ -174,15 +174,10 @@ const fullscreenLoading = ref(true) const isEdit = ref(false) // 确定是修改还是增加 isEdit = true 为修改,否则为增加 const fetcherArticleId = ref(0) // 记录从抓取库导入的文章id const elEditFormRef = ref() -const checkCategories = (rule, value, callback) => { - if (categoryIdList.value.length === 0) { - callback(new Error(rule.message)) - } else { - callback() - } -} -const checkChannels = (rule, value, callback) => { - if (channelIdList.value.length === 0) { + +const checkContent = (rule, value, callback) => { + const content = value.replace(/<\/?.+?\/?>|\r|\n|\s*/g, '') + if (content === '') { callback(new Error(rule.message)) } else { callback() @@ -196,13 +191,14 @@ const formRules = reactive({ { required: true, message: '请输入文章名称', trigger: 'blur' } ], categories: [ - { validator: checkCategories, message: '请选择文章分类', trigger: 'blur' } + { required: true, message: '请选择文章分类', trigger: 'blur' }, ], channels: [ - { validator: checkChannels, message: '请选择所属栏目', trigger: 'blur' } + { required: true, message: '请选择所属栏目', trigger: 'blur' }, ], content: [ - { required: true, message: '请输入文章内容', trigger: 'blur' } + { required: true, message: '请输入文章内容', trigger: 'blur' }, + { validator: checkContent, message: '请输入文章内容', trigger: 'blur' } ], publishDate: [ { required: true, message: '请选择发布时间', trigger: 'blur' } @@ -296,7 +292,7 @@ const emptyForm = () => { desc: '', source: '', url: '', - publishDate: formatDate(new Date()), + publishDate: getCurrentDatetime(), articleTime: '', tags: '', imgs: '', @@ -304,6 +300,17 @@ const emptyForm = () => { console.log(editForm.value) } +const getCurrentDatetime = () => { + const options = { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', weekday: 'short' }; + const date = new Date() + console.log('toISOString', date.toISOString()) + console.log('toUTCString', date.toUTCString()) + console.log('toLocaleString', date.toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai', ...options })) + console.log('toString', date.toString()) + return date.toISOString() + // return date.toLocaleDateString + 'T' + date.toLocaleTimeString + 'Z08:00' +} + // 初始化方法 const openPage = async (params) => { showDrawer.value = true @@ -440,10 +447,17 @@ const handleFormSubmit = async valid => { if (editForm.value.articleTime === '') { editForm.value.articleTime = null } + //校验用 + editForm.value.categories = categoryIdList.value.map(item => parseInt(item, 10)) + editForm.value.channels = channelIdList.value.map(item => parseInt(item, 10)) + elEditFormRef.value.validate(async valid => { if (!valid) { return } + //上传之前去掉 + editForm.value.categories = null + editForm.value.channels = null const rel = { categoryIds: categoryIdList.value.map(item => parseInt(item, 10)), channelIds: channelIdList.value.map(item => parseInt(item, 10)),