From a1df9699594b0a0e46d26a0394eafb1eb030c68b Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 20 五月 2026 17:42:09 +0800
Subject: [PATCH] 企业新闻

---
 src/views/officeProcessAutomation/EnterpriseNews/news-manage/enterpriseNewsApprovalBridge.js |  109 +++++-------------------------------------------------
 1 files changed, 11 insertions(+), 98 deletions(-)

diff --git a/src/views/officeProcessAutomation/EnterpriseNews/news-manage/enterpriseNewsApprovalBridge.js b/src/views/officeProcessAutomation/EnterpriseNews/news-manage/enterpriseNewsApprovalBridge.js
index f61d9a9..b870ab7 100644
--- a/src/views/officeProcessAutomation/EnterpriseNews/news-manage/enterpriseNewsApprovalBridge.js
+++ b/src/views/officeProcessAutomation/EnterpriseNews/news-manage/enterpriseNewsApprovalBridge.js
@@ -1,98 +1,11 @@
-import {
-  createEmptyForm,
-  publishStatusLabel,
-  PUBLISH_STATUS_OPTIONS,
-} from "./enterpriseNewsUtils.js";
-import { normalizeApprovalStatusKey } from "../../ApproveManage/approve-list/approveListConstants.js";
-
-/** formPayload 涓瓨鏀惧畬鏁翠紒涓氭柊闂讳笟鍔℃暟鎹殑閿� */
-export const ENTERPRISE_NEWS_PAYLOAD_KEY = "enterpriseNews";
-
-export function extractEnterpriseNewsFromRow(row) {
-  const payload = row?.formPayload || {};
-  const raw = payload[ENTERPRISE_NEWS_PAYLOAD_KEY];
-  if (raw && typeof raw === "object") {
-    return { ...createEmptyForm(), ...raw };
-  }
-  return {
-    ...createEmptyForm(),
-    title: payload.title || row?.title || "",
-    summary: payload.summary || "",
-    newsType: payload.newsType || "announcement",
-    contentHtml: payload.contentHtml || "",
-  };
-}
-
-/** 鍒楄〃琛屽寮猴細涓昏〃灞曠ず鏂伴椈瀛楁 */
-export function enrichEnterpriseNewsListRow(row) {
-  const news = extractEnterpriseNewsFromRow(row);
-  const publishStatus =
-    news.publishStatus || mapApprovalStatusToPublishStatus(row?.approvalStatus);
-  return {
-    ...row,
-    newsNo: news.newsNo || row.instanceNo || "鈥�",
-    title: news.title || row.title || "鈥�",
-    summary: news.summary,
-    newsType: news.newsType,
-    publisherName: news.publisherName || row.applicantName || "鈥�",
-    publishTime: news.publishTime || row.createTime || "",
-    updateTime: news.updateTime || row.createTime || "",
-    publishStatus,
-    _news: news,
-  };
-}
-
-function mapApprovalStatusToPublishStatus(approvalStatus) {
-  const key = normalizeApprovalStatusKey(approvalStatus);
-  if (key === "approved") return "published";
-  if (key === "pending") return "pending_review";
-  if (key === "rejected") return "draft";
-  return "draft";
-}
-
-/** 浼佷笟鏂伴椈琛ㄥ崟 鈫� 瀹℃壒瀹炰緥 formPayload */
-export function syncNewsFormToSubmitPayload(newsForm, submitForm) {
-  const snapshot = JSON.parse(JSON.stringify(newsForm));
-  submitForm.formPayload = {
-    ...(submitForm.formPayload || {}),
-    [ENTERPRISE_NEWS_PAYLOAD_KEY]: snapshot,
-    title: snapshot.title,
-    summary: snapshot.summary,
-  };
-}
-
-export function buildEnterpriseNewsTableColumns(buildTableActions) {
-  return [
-    { label: "缂栧彿", prop: "newsNo", width: 150 },
-    { label: "鏍囬", prop: "title", minWidth: 180, showOverflowTooltip: true },
-    {
-      label: "鍒嗙被",
-      prop: "newsType",
-      width: 100,
-      dataType: "slot",
-      slot: "newsType",
-    },
-    {
-      label: "鐘舵��",
-      prop: "publishStatus",
-      width: 90,
-      dataType: "tag",
-      formatData: (v) => publishStatusLabel(v),
-      formatType: (v) => {
-        const hit = PUBLISH_STATUS_OPTIONS.find((x) => x.value === v);
-        return hit?.tag || "info";
-      },
-    },
-    { label: "鍙戝竷浜�", prop: "publisherName", width: 110 },
-    { label: "鍙戝竷鏃堕棿", prop: "publishTime", width: 170 },
-    { label: "鏇存柊鏃堕棿", prop: "updateTime", width: 170 },
-    {
-      dataType: "action",
-      label: "鎿嶄綔",
-      align: "center",
-      fixed: "right",
-      width: 220,
-      operation: buildTableActions(),
-    },
-  ];
-}
+/** @deprecated 璇蜂娇鐢� enterpriseNewsMappers.js */
+export {
+  ENTERPRISE_NEWS_PAYLOAD_KEY,
+  buildEnterpriseNewsSaveDto,
+  buildEnterpriseNewsTableColumns,
+  canEditEnterpriseNewsRow,
+  extractEnterpriseNewsFromRow,
+  mapApiRowToNewsForm,
+  mapEnterpriseNewsFromApi,
+  syncNewsFormToSubmitPayload,
+} from "./enterpriseNewsMappers.js";

--
Gitblit v1.9.3