From 7103c40c44802b2ca1219eb797a23b739157601d Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 11 Aug 2025 19:22:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E7=AB=A0=E7=97=85?= =?UTF-8?q?=E4=BE=8B=E5=BA=93=E7=AE=A1=E7=90=86=E7=9B=B8=E5=85=B3=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../case-exchange/case-exchange-api.js | 7 ++ .../case-clinical-article-form.vue | 50 +++++++++++-- .../case-clinical-article-list.vue | 15 +--- .../case-exchange/case-exchange-list.vue | 74 +++++++++++++++++++ 4 files changed, 124 insertions(+), 22 deletions(-) diff --git a/src/api/business/case-exchange/case-exchange-api.js b/src/api/business/case-exchange/case-exchange-api.js index 8be4c9f..8210bf0 100644 --- a/src/api/business/case-exchange/case-exchange-api.js +++ b/src/api/business/case-exchange/case-exchange-api.js @@ -65,6 +65,13 @@ export const caseExchangeApi = { return postRequest(`/caseExchange/selected/update`, { exchangeId, isSelected }); }, + /** + * 更新审核状态 @author xing + */ + updateAuditStatus: (exchangeId, auditStatus) => { + return postRequest(`/caseExchange/auditStatus/update`, { exchangeId, auditStatus }); + }, + /** * 获取疾病标签数据 @author xing */ diff --git a/src/views/business/case-clinical-article/case-clinical-article-form.vue b/src/views/business/case-clinical-article/case-clinical-article-form.vue index e53b156..2ec1837 100644 --- a/src/views/business/case-clinical-article/case-clinical-article-form.vue +++ b/src/views/business/case-clinical-article/case-clinical-article-form.vue @@ -140,7 +140,7 @@ - + @@ -356,8 +356,13 @@ // 开关状态变化处理 function isLinkCheckedChange(checked) { form.isLink = checked ? 1 : 0; - if (!checked) { - form.isLinkUrl = undefined; // 关闭时清空链接地址 + if (checked) { + // 切换到外部链接模式时,清空内容字段 + form.articleContent = ''; + form.articleContentText = ''; + } else { + // 切换到非外部链接模式时,清空链接地址 + form.isLinkUrl = undefined; } } @@ -617,18 +622,47 @@ form.authorList.splice(index, 1); } - const rules = { + // 表单验证规则 + const rules = computed(() => ({ articleTitle: [{ required: true, message: '标题 必填' }], articleStatus: [{ required: true, message: '状态(1:正常 2:禁用) 必填' }], pushDate: [{ required: true, message: '发表时间 必填' }], - articleContent: [{ required: true, message: '内容 必填' }], - }; + isLinkUrl: [{ + required: isLinkChecked.value, + message: '外部链接地址 必填', + validator: (rule, value) => { + if (!isLinkChecked.value) { + return Promise.resolve(); + } + if (!value || value.trim() === '') { + return Promise.reject('外部链接地址 必填'); + } + return Promise.resolve(); + } + }], + articleContent: [{ + required: !isLinkChecked.value, + message: '内容 必填', + validator: (rule, value) => { + if (isLinkChecked.value) { + return Promise.resolve(); + } + if (!value || value.trim() === '') { + return Promise.reject('内容 必填'); + } + return Promise.resolve(); + } + }], + })); // 点击确定,验证表单 async function onSubmit() { try { - form.articleContent = contentRef.value.getHtml(); - form.articleContentText = contentRef.value.getText(); + // 只有在非外部链接模式下才获取内容 + if (!isLinkChecked.value) { + form.articleContent = contentRef.value.getHtml(); + form.articleContentText = contentRef.value.getText(); + } await formRef.value.validateFields(); save(); } catch (err) { diff --git a/src/views/business/case-clinical-article/case-clinical-article-list.vue b/src/views/business/case-clinical-article/case-clinical-article-list.vue index d6871d5..7169eb0 100644 --- a/src/views/business/case-clinical-article/case-clinical-article-list.vue +++ b/src/views/business/case-clinical-article/case-clinical-article-list.vue @@ -10,14 +10,11 @@ - + - - - - - @@ -196,11 +189,6 @@ }, width: 150, }, - { - title: '删除状态', - dataIndex: 'deleteStatus', - ellipsis: true, - }, { title: '阅读量', dataIndex: 'readNum', @@ -239,7 +227,6 @@ const queryFormState = { keywords: undefined, //关键字 articleStatus: undefined, //状态 - deleteStatus: undefined, //删除状态 pageNum: 1, pageSize: 10, }; diff --git a/src/views/business/case-exchange/case-exchange-list.vue b/src/views/business/case-exchange/case-exchange-list.vue index 5809e04..51b2559 100644 --- a/src/views/business/case-exchange/case-exchange-list.vue +++ b/src/views/business/case-exchange/case-exchange-list.vue @@ -18,6 +18,9 @@ + + + +