devops 4 дней назад
Родитель
Сommit
765bfbf953

+ 2 - 4
yudao-server/src/main/java/cn/iocoder/yudao/module/server/service/policycommunications/PolicyCommunicationsServiceImpl.java

@@ -683,7 +683,7 @@ public class PolicyCommunicationsServiceImpl implements PolicyCommunicationsServ
                     if (type.equals("POLICY_COMMUNICATIONS_DEADLINE")) {
                         content = buildReminderContent(item);
                     } else if (type.equals("POLICY_COMMUNICATIONS_CREATE")){
-                        content = "您有新的政策沟通交流待答复,请及时前往内蒙古自治区集约化平台-政策沟通交流系统进行处理。";
+                        content = "您有新的政策沟通交流待答复,请及时前往内蒙古自治区集约化平台-政策沟通交流系统进行处理。(系统内部测试阶段,本短信可忽略)";
                     }
                     // TODO: 调用短信发送服务
                     boolean b = false;
@@ -731,9 +731,7 @@ public class PolicyCommunicationsServiceImpl implements PolicyCommunicationsServ
             remainingText = String.format("剩余%d个工作日", remaining);
         }
 
-        return String.format(
-                "您有一条政策沟通待处理:%s,请及时办理。", remainingText
-        );
+        return String.format("您有一条政策沟通待处理:%s,请及时办理。", remainingText)+"(系统内部测试阶段,本短信可忽略)";
     }
 
 

+ 40 - 0
yudao-ui/yudao-ui-admin-vue2/src/views/server/policycommunications/PolicyCommunicationsBase.vue

@@ -92,6 +92,20 @@
         </template>
       </el-table-column>
 
+      <!-- 新增:政策来源网站列 -->
+      <el-table-column label="政策来源网站" align="center" width="150">
+        <template v-slot="scope">
+          <span
+            v-if="getWebsiteSource(scope.row.puburl)"
+            :title="getFullDomain(scope.row.puburl)"
+            class="website-source"
+          >
+            {{ getWebsiteSource(scope.row.puburl) }}
+          </span>
+          <span v-else class="website-source-empty">-</span>
+        </template>
+      </el-table-column>
+
       <el-table-column label="沟通主题" align="center" prop="title" />
       <el-table-column label="沟通类型" align="center" prop="submitType">
         <template v-slot="scope">
@@ -271,6 +285,32 @@ export default {
     this.getList();
   },
   methods: {
+    /** 从URL中提取主域名(用于显示) */
+    /** 从URL中提取完整域名(保留所有子域名) */
+    getWebsiteSource(url) {
+      if (!url) return null;
+
+      try {
+        // 处理没有协议的URL
+        let urlToParse = url;
+        if (!urlToParse.startsWith('http://') && !urlToParse.startsWith('https://')) {
+          urlToParse = 'https://' + urlToParse;
+        }
+
+        const urlObj = new URL(urlToParse);
+        // 直接返回完整的hostname,保留所有子域名(如 zsj.www.gov.cn)
+        return urlObj.hostname;
+      } catch (error) {
+        console.warn('解析URL失败:', url, error);
+        return null;
+      }
+    },
+
+    /** 获取完整域名(用于title提示) */
+    /** 获取完整域名(用于title提示,直接复用getWebsiteSource) */
+    getFullDomain(url) {
+      return this.getWebsiteSource(url) || url;
+    },
     /** 点击政策标题跳转 */
     handlePolicyTitleClick(row) {
       if (row.puburl) {