Commit f4752387 by 吴春元

增加举报页面

parent 386dafb6
......@@ -6,4 +6,25 @@
<script setup lang="ts">
import { ElConfigProvider } from "element-plus";
import { zhCn } from "element-plus/es/locale/index";
import { provide } from "vue";
const VITE_APP_TITLE = "太原市互联网宣传研究中心"; // 标题
const VITE_ADDRESS = "山西省太原市杏花岭区新建路 78 号新闻大厦 8 层"; // 地址
const VITE_EMAIL = "tyhlwjbzx@163.com"; // 举报邮箱
const VITE_PHONE = "0351-8222236"; // 举报电话
const VITE_FAX = "0351-8222234"; // 举报传真
const VITE_12377_URL = "https://www.12377.cn/"; // 中央网信办举报中心官网违法和不良信息举报入口
const VITE_SXGOV_URL = "https://www.sxgov.cn/node_280205.htm"; // 山西省互联网应急指挥和举报中心举报入口
//太原市互联网违法和不良信息举报平台
const VITE_TY_SXGOV_URL =
"http://oa.wangxinban.cn/jb/#/Home/Home?agencyID=52340bbb-f782-4886-02c4-08d9605acd8c&agencyName=太原市网信";
// 使用provide提供数据
provide("VITE_APP_TITLE", VITE_APP_TITLE);
provide("VITE_ADDRESS", VITE_ADDRESS);
provide("VITE_EMAIL", VITE_EMAIL);
provide("VITE_PHONE", VITE_PHONE);
provide("VITE_FAX", VITE_FAX);
provide("VITE_12377_URL", VITE_12377_URL);
provide("VITE_SXGOV_URL", VITE_SXGOV_URL);
</script>
import request from "@/utils/request";
// 热点留言列表
export function getUpdateForm(data) {
return request({
url: "/cms/leavemessage/list",
method: "post",
data: data,
});
}
//多文件上传
export function uploadFile(data) {
return request({
url: "/cms/upload/uploadFile",
method: "post",
headers: {
"Content-Type": "multipart/form-data", // 必须设置这个头
},
data: data,
});
}
......@@ -58,26 +58,18 @@
font-weight: normal;
}
.el-select-dropdown__wrap {
max-height: 500px !important;
}
body {
min-height: 100vh;
color: var(--color-text);
background: var(--color-background);
transition:
color 0.5s,
background-color 0.5s;
transition: color 0.5s, background-color 0.5s;
line-height: 1.6;
font-family:
Inter,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Oxygen,
Ubuntu,
Cantarell,
'Fira Sans',
'Droid Sans',
'Helvetica Neue',
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue",
sans-serif;
font-size: 15px;
text-rendering: optimizeLegibility;
......
......@@ -34,3 +34,9 @@ a,
padding: 0 2rem;
}
}
::v-deep .el-select-dropdown__wrap {
max-height: 1.2rem ;
}
......@@ -2,20 +2,24 @@
<div class="bg-gray-50">
<!-- 页脚 -->
<footer class="bg-gray-800 text-gray-300">
<div class="container mx-auto px-4 py-10 w-[1440px]">
<div class="container mx-auto px-4 pt-10 w-[1440px]">
<div class="grid grid-cols-3 gap-8">
<div>
<h3 class="text-lg font-medium mb-4">联系我们</h3>
<div class="space-y-2">
<p>地址:山西省太原市迎泽区迎泽大街 369 号</p>
<p>电话:0351-12345678</p>
<p>邮箱:te@tynet.gov.cn</p>
<p>地址:{{ inject("VITE_ADDRESS") }}</p>
<p>电话:{{ inject("VITE_PHONE") }}</p>
<p>
邮箱:<a href="mailto:{{ inject('VITE_EMAIL') }}">{{
inject("VITE_EMAIL")
}}</a>
</p>
</div>
</div>
<div>
<h4 class="text-lg font-medium mb-4">主办单位</h4>
<p>太原市互联网应急指挥和举报中心</p>
<p>{{ inject("VITE_APP_TITLE") }}</p>
</div>
<div></div>
<!-- <div>
......@@ -28,16 +32,16 @@
</div> -->
</div>
<div class="mt-8 pt-5 border-t border-gray-700 text-center">
<p>Copyright © 2024 太原市互联网应急指挥和举报中心 版权所有</p>
<p class="mt-2">晋ICP备12345678号-1 | 晋公网安备 14010002000001号</p>
<div class="mt-4 pt-2 pb-5 border-t border-gray-700 text-center">
<p>Copyright © 2025 {{ inject("VITE_APP_TITLE") }} 版权所有</p>
<!-- <p class="mt-2">晋ICP备12345678号-1 | 晋公网安备 14010002000001号</p> -->
</div>
</div>
</footer>
</div>
</template>
<script setup lang="ts">
import { ref, watch } from "vue";
import { ref, watch, inject } from "vue";
import { useRouter, useRoute } from "vue-router";
import { Message, Share, Link, Search } from "@element-plus/icons-vue";
</script>
......
......@@ -6,7 +6,7 @@
<img src="@/assets/logo1.png" alt="国徽" class="h-10 mr-4" />
<div class="flex-1 flex items-center justify-between">
<h1 class="text-2xl font-bold text-black">
太原市互联网应急指挥和举报中心
{{ inject("VITE_APP_TITLE") }}
</h1>
<div class="flex relative w-[360px] gap-4">
<el-input
......@@ -60,7 +60,7 @@
<p>邮箱:te@tynet.gov.cn</p>
</div>
</div>
<!-- <div>
<div>
<h3 class="text-lg font-medium mb-4">关注我们</h3>
<div class="flex space-x-4">
<el-icon class="text-2xl"><Message /></el-icon>
......@@ -78,7 +78,7 @@
</div>
</template>
<script setup lang="ts">
import { ref, watch } from "vue";
import { ref, watch, inject } from "vue";
import { useRouter, useRoute } from "vue-router";
import { Message, Share, Link, Search } from "@element-plus/icons-vue";
import { getTab } from "@/api/home/home";
......
......@@ -11,7 +11,7 @@
<!-- <p class="text-sm opacity-80">主办:山西省互联网信息办公室</p> -->
</div>
<p class="text-sm opacity-80 cursor-pointer" @click="goToHome()">
主办:太原市互联网应急指挥和举报中心
主办:{{ inject("VITE_APP_TITLE") }}
</p>
<!-- <div class="text-sm opacity-80">承办:黄河新闻网</div> -->
</div>
......@@ -50,7 +50,7 @@
</div>
</template>
<script lang="ts" setup>
import { computed, ref, watch } from "vue";
import { computed, ref, watch, inject } from "vue";
import { Swiper, SwiperSlide } from "swiper/vue";
import { Pagination, Navigation, Autoplay } from "swiper/modules";
import { useRouter, useRoute } from "vue-router";
......
......@@ -21,7 +21,7 @@
@click="goToHome()"
>
<p class="text-white font-bold pt-3 pr-5">
主办:太原市互联网应急指挥和举报中心
主办:{{ inject("VITE_APP_TITLE") }}
</p>
</div>
......@@ -123,7 +123,7 @@
</div>
</template>
<script lang="ts" setup>
import { ref } from "vue";
import { ref, inject } from "vue";
import {
ChatDotRound,
Comment,
......
......@@ -31,6 +31,11 @@ import RecoverDetail from "../views/wm/recover/RecoverDetail.vue";
import IMessage from "../views/wm/imessage/IMessage.vue";
import WmSearchList from "../views/wm/search/WmSearchList.vue";
// 举报平台布局
// import JbLayout from "../layout/jb.vue";
import TyJb from "../views/jb/tyjb/TyJb.vue"; //太原市举报平台
import TySubmit from "../views/jb/submit/TySubmit.vue"; //太原市举报平台提交
const router = createRouter({
history: createWebHashHistory(import.meta.env.BASE_URL),
routes: [
......@@ -167,6 +172,16 @@ const router = createRouter({
},
],
},
{
path: "/jb/tyjb",
name: "jb",
component: TyJb,
},
{
path: "/jb/tysubmit",
name: "tysubmit",
component: TySubmit,
},
],
});
......
let baseImageUrl;
if (process.env.NODE_ENV === "development") {
baseImageUrl = (path) => "http://192.168.19.142:9002" + path;
// baseImageUrl = (path) => "http://localhost:9002" + path;
// baseImageUrl = (path) => "http://192.168.19.142:9002" + path;
baseImageUrl = (path) => "http://localhost:9002" + path;
// baseImageUrl = (path) => "http://yjzh.sxyztech.cn" + path;
} else {
baseImageUrl = (path) => "http://yjzh.sxyztech.cn" + path;
}
export { baseImageUrl };
// 栏目属性
export const HLW_YJZH_JBZX = "tyshlwyjzhhjbzx"; //太原市互联网应急指挥和举报中心
export const HLW_LH_PYPT = "sxhlwlhpypt"; //山西互联网联合辟谣平台
......@@ -34,5 +35,3 @@ export const pyzq = "pyzq"; // 辟谣专区
export const zjjd = "zjjd"; // 专家解读
export const flfg = "flfg"; // 法律法规
export const dtsy = "dtsy"; // 读图识谣
<template>
<div class="min-h-screen bg-gray-50">
<!-- 轮播图 -->
<div class="container mx-auto px-4 mt-6 w-[1440px]">
<div class="container mx-auto px-4 mt-5 w-[1440px]">
<swiper
:modules="swiperModules"
:slides-per-view="1"
:loop="true"
:pagination="{ clickable: true, disableOnInteraction: false }"
:autoplay="{ delay: 3000 }"
class="h-[400px] rounded-lg overflow-hidden"
class="h-[350px] rounded-lg overflow-hidden"
>
<swiper-slide v-for="(slide, index) in slides" :key="index">
<div class="relative w-full h-full">
......@@ -29,8 +29,8 @@
</swiper>
</div>
<!-- 快捷入口 -->
<div class="container mx-auto px-4 mt-8 w-[1440px]">
<div class="grid grid-cols-3 gap-6">
<div class="container mx-auto px-4 mt-5 w-[1440px]">
<div class="grid grid-cols-3 gap-5">
<div
v-for="(entry, index) in quickEntries"
:key="index"
......@@ -61,9 +61,11 @@
</div>
</div>
<!-- 新闻内容区 -->
<div class="container mx-auto px-4 mt-8 grid grid-cols-3 gap-6 w-[1440px]">
<div class="container mx-auto px-4 mt-5 grid grid-cols-3 gap-5 w-[1440px]">
<!-- 最新新闻 -->
<div class="col-span-2 bg-white rounded-lg p-6 shadow-sm">
<div
class="col-span-2 bg-white rounded-lg p-6 shadow-[0_0_10px_rgba(5,157,254,0.32)]"
>
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold" style="color: #000">太原新闻</h2>
<el-button
......@@ -123,7 +125,9 @@
<!-- 侧边栏 -->
<div class="space-y-6">
<!-- 热门新闻 -->
<div class="bg-white rounded-lg p-6 shadow-sm">
<div
class="bg-white rounded-lg p-5 shadow-[0_0_10px_rgba(5,157,254,0.32)]"
>
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold" style="color: #000">热门新闻</h2>
<el-button
......@@ -175,7 +179,10 @@
</div>
</div>
<!-- 视频新闻 -->
<div class="bg-white rounded-lg p-6 shadow-sm" v-if="0">
<div
class="bg-white rounded-lg p-6 shadow-[0_0_10px_rgba(5,157,254,0.32)]"
v-if="0"
>
<h2 class="text-xl font-bold mb-4 text-black">视频新闻</h2>
<div class="space-y-4">
<div
......@@ -206,10 +213,12 @@
</div>
</div>
<!-- 权威发布与辟谣专区 -->
<div class="container mx-auto px-4 mt-8 w-[1440px]">
<div class="grid grid-cols-2 gap-6">
<div class="container mx-auto px-4 mt-5 w-[1440px]">
<div class="grid grid-cols-2 gap-5">
<!-- 权威发布 -->
<div class="bg-white rounded-lg p-6 shadow-sm">
<div
class="bg-white rounded-lg p-6 shadow-[0_0_10px_rgba(5,157,254,0.32)]"
>
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold text-black">权威发布</h2>
<el-button
......@@ -262,7 +271,9 @@
</div>
</div>
<!-- 辟谣专区 -->
<div class="bg-white rounded-lg p-6 shadow-sm">
<div
class="bg-white rounded-lg p-6 shadow-[0_0_10px_rgba(5,157,254,0.32)]"
>
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold text-black">辟谣专区</h2>
<el-button
......@@ -327,8 +338,10 @@
</div>
</div>
<!-- 友情链接 -->
<div class="container mx-auto px-4 mt-8 mb-8 w-[1440px]">
<div class="bg-white rounded-lg p-6 shadow-sm">
<div class="container mx-auto px-4 mt-5 mb-5 w-[1440px]">
<div
class="bg-white rounded-lg p-6 shadow-[0_0_10px_rgba(5,157,254,0.32)]"
>
<h2 class="text-xl font-bold mb-4 text-black">友情链接</h2>
<div class="grid grid-cols-6 gap-4">
<a
......
......@@ -133,36 +133,30 @@
<div class="space-y-8">
<section>
<h3 class="font-medium mb-4 text-black">
太原市互联网信息办公室
{{ inject("VITE_APP_TITLE") }}
</h3>
<ul class="space-y-2 text-gray-700">
<li class="flex items-center">
<!-- <el-icon class="mr-2"><Phone /></el-icon> -->
举报电话:0351-8222236
举报电话:{{ inject("VITE_PHONE") }}
</li>
<li class="flex items-center">
<!-- <el-icon class="mr-2"><Message /></el-icon> -->
举报传真:0351-8222234
举报传真:{{ inject("VITE_FAX") }}
</li>
<li class="flex items-center">
<!-- <el-icon class="mr-2"><Message /></el-icon> -->
举报邮箱:tyhlwjb@163.com
举报邮箱:{{ inject("VITE_EMAIL") }}
</li>
</ul>
</section>
<section>
<!-- <section>
<h3 class="font-medium mb-4 text-black">太原新闻网</h3>
<ul class="space-y-2 text-gray-700">
<li class="flex items-center">
<!-- <el-icon class="mr-2"><Phone /></el-icon> -->
举报电话:0351-8222094
</li>
<li class="flex items-center">
<!-- <el-icon class="mr-2"><Message /></el-icon> -->
举报邮箱:news1950@126.com
</li>
<li class="flex items-center">举报电话:0351-8222094</li>
<li class="flex items-center">举报邮箱:news1950@126.com</li>
</ul>
</section>
</section> -->
</div>
</div>
</div>
......@@ -174,6 +168,9 @@
<script lang="ts" setup>
import { ElButton, ElIcon } from "element-plus";
import { Phone, Message, ArrowRight } from "@element-plus/icons-vue";
import { useRouter } from "vue-router";
import { inject } from "vue";
const router = useRouter();
function goUrl(type: number) {
switch (type) {
......@@ -184,9 +181,11 @@ function goUrl(type: number) {
window.open("https://www.sxgov.cn/node_280205.htm");
break;
case 3: //太原市举报平台
window.open(
"http://oa.wangxinban.cn/jb/#/Home/Home?agencyID=52340bbb-f782-4886-02c4-08d9605acd8c&agencyName=太原市网信"
);
// window.open(
// "http://oa.wangxinban.cn/jb/#/Home/Home?agencyID=52340bbb-f782-4886-02c4-08d9605acd8c&agencyName=太原市网信"
// );
const jbRouter = router.resolve({ name: "jb" }).href;
window.open(jbRouter, "_blank");
break;
}
}
......
<!-- 代码已包含 CSS:使用 TailwindCSS , 安装 TailwindCSS 后方可看到布局样式效果 -->
<template>
<div class="min-h-screen bg-gray-50">
<div
class="bg-[url('@/assets/imgs/tyjb-bg.png')] bg-cover bg-center h-[240px] flex items-center justify-center text-[65px] font-bold text-white"
>
太原市互联网应急指挥和举报中心
</div>
<div
class="mt-5 w-[1250px] m-auto flex flex-col items-center justify-center"
>
<div class="con">
<div class="con1">
<ul>
<li>
<h4>举报须知</h4>
</li>
<li>
<h5>
省互联网信息办公室开通“山西省违法和不良信息举报通道”,欢迎广大网民依法如实举报。为了保证您的举报尽快得到受理,请认真阅读举报须知,了解举报受理范围。点击“接受”进入举报页面,点击“不接受”退出举报。
</h5>
</li>
<div class="line1"></div>
<br />
<li
class="bg-[#00000011]"
style="padding-top: 20px; padding-bottom: 10px"
>
<a :href="inject('VITE_12377_URL')" target="_blank"
><img
src="https://www.sxgov.cn/templateRes/202312/08/50291/50043/logo12377.jpg"
/></a>
<h1>
<a :href="inject('VITE_12377_URL')" target="_blank"
>中央网信办举报中心官网违法和不良信息举报入口</a
>
</h1>
</li>
<br />
<li
class="bg-[#00000011]"
style="padding-top: 20px; padding-bottom: 10px"
>
<a :href="inject('VITE_SXGOV_URL')" target="_blank"
><img
src="//www.sxgov.cn/templateRes/202301/05/50196/50122/jubaosx21.jpg"
/></a>
<h1>
<a :href="inject('VITE_SXGOV_URL')" target="_blank"
>山西省互联网应急指挥和举报中心举报入口</a
>
</h1>
</li>
<br />
<li
class="bg-[#00000011]"
style="padding-top: 0px; padding-bottom: 10px"
>
<h1 class="cursor-pointer">
<!-- <a
href="http://oa.wangxinban.cn/jb/#/Home/Home?agencyID=52340bbb-f782-4886-02c4-08d9605acd8c&agencyName=太原市网信"
target="_blank"
>太原市互联网违法和不良信息举报平台</a
> -->
<a target="_blank" @click="handleClick"
>太原市互联网违法和不良信息举报平台</a
>
</h1>
<h2>太原市互联网举报电话:{{ inject("VITE_PHONE") }}</h2>
<el-button
class="botton"
type="primary"
size="big"
@click="handleClick"
>
我要举报
</el-button>
</li>
<!-- <li>
<h3>
举报类别:政治类、暴恐类、诈骗类、色情类、低俗类、赌博类、侵权类、谣言类、其他类
</h3>
</li> -->
</ul>
</div>
<ul>
<li><h1>一、受理举报范围</h1></li>
<li>山西属地网站中出现的以下信息:</li>
<li>1、反对宪法所确定的基本原则的;</li>
<li>2、危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;</li>
<li>3、损害国家荣誉和利益的;</li>
<li>4、煽动民族仇恨、民族歧视,破坏民族团结的;</li>
<li>5、破坏国家宗教政策,宣扬邪教和封建迷信的;</li>
<li>6、散布谣言,扰乱社会秩序,破坏社会稳定的;</li>
<li>7、散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;</li>
<li>8、侮辱或者诽谤他人,侵害他人合法权益的;</li>
<li>9、含有法律、行政法规禁止的其他内容的。</li>
<li><h1>二、注意事项</h1></li>
<li>1、请您根据受理举报范围进行举报。</li>
<li>2、请您自觉遵守中华人民共和国宪法和法律。</li>
<li>
3、举报应当实事求是,应对举报内容的真实性、客观性负责,不得捏造事实、制造假证、诬告陷害他人。
</li>
<li>4、请如实提供违法违规信息(附链接地址、截图等)。</li>
<li>
5、提倡实名举报,请留下有效联系方式,以便工作人员和您取得联系。
</li>
<li>6、请不要重复举报。</li>
<!-- <li>7、举报电话:0351-3902004,0351-3902046</li> -->
<!-- <li>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;举报邮箱:sxwzblxxjb @ 126.com,sxhhtd
@ 126.com
</li> -->
</ul>
</div>
<!-- <div id="footer" class="iframe"> -->
<!-- <Footer></Footer> -->
<!-- <Footer class="w-[100%]"></Footer> -->
<!-- <iframe
src="https://topic.sxgov.cn/base.htm"
remote="remote"
name="top"
width="100%"
height="100%"
scrolling="no"
frameborder="0"
></iframe> -->
<!-- </div> -->
</div>
<Footer class="w-[100%] mt-10"></Footer>
</div>
</template>
<script lang="ts" setup>
// import { ElButton, ElIcon } from "element-plus";
// import { Phone, Message, ArrowRight } from "@element-plus/icons-vue";
import { useRouter } from "vue-router";
import { inject } from "vue";
import Footer from "@/components/footer.vue";
const router = useRouter();
function handleClick() {
const jbRouter = router.resolve({ name: "tysubmit" }).href;
window.open(jbRouter, "_blank");
}
</script>
<style scoped>
.min-h-screen {
min-height: 1024px;
}
.con {
width: 1050px;
margin: 0px auto;
height: auto;
padding-bottom: 10px;
box-shadow: 0px 0px 9.9px 0.1px rgba(5, 157, 254, 0.32);
}
.con1 {
width: 1050px;
margin: 0 auto;
text-align: center;
padding-top: 5px;
}
.con1 ul {
text-align: center;
}
.con ul {
padding-top: 20px;
padding-left: 30px;
padding-right: 30px;
}
.con1 h4 {
font-size: 24px;
color: #ca0000;
line-height: 280%;
font-weight: bold;
}
.con1 h5 {
font-size: 18px;
line-height: 220%;
text-align: left;
text-indent: 2em;
color: #000;
font-weight: bold;
}
.line1 {
border-bottom: 1px solid rgba(5, 157, 254, 0.56);
margin: 20px auto;
}
.con1 li {
text-align: center;
line-height: 180%;
padding: 0;
margin: 0;
}
.con li {
font-size: 18px;
line-height: 240%;
text-indent: 2em;
list-style: none;
}
.con1 h1 {
font-size: 18px;
color: #ca0000;
padding: 0;
margin: 0;
line-height: 180%;
}
.con1 h1 a {
color: #ca0000;
font-weight: bold;
}
.con1 h2 {
font-size: 18px;
color: #ca0000;
}
.con1 h2 a {
color: #ca0000;
font-weight: bold;
}
.con1 li {
text-align: center;
line-height: 180%;
padding: 0;
margin: 0;
}
.con1 h3 {
font-size: 18px;
color: #ca0000;
font-weight: normal;
}
.con h1 {
font-size: 20px;
font-weight: bold;
padding-top: 10px;
}
.con ul {
padding-top: 20px;
padding-left: 30px;
padding-right: 30px;
color: #000;
}
.con li {
font-size: 18px;
line-height: 240%;
/* text-indent: 2em; */
/* list-style: none; */
}
.botton {
width: 150px;
padding: 8px 10px;
border-radius: 30px;
box-shadow: 3px 3px 3px #909090;
margin: 10px auto;
background: linear-gradient(0deg, #2975c7, #58a6ee);
text-align: center;
color: #fff;
font-size: 18px;
font-weight: 700;
letter-spacing: 0.1em;
}
#footer {
width: 100vh;
/* height: 200px; */
text-align: center;
margin: 0px auto;
clear: both;
background-color: #ffffff;
margin-top: 40px;
}
/* iframe {
overflow-clip-margin: content-box !important;
overflow: clip !important;
border-width: 0px;
border-style: inset;
border-color: initial;
border-image: initial;
} */
</style>
......@@ -15,6 +15,9 @@ export default defineConfig({
"~": path.resolve(__dirname, "./"),
// 设置别名
"@": path.resolve(__dirname, "./src"),
// "@": path.resolve(__dirname, "./src"), // @指向src目录
// "@components": path.resolve(__dirname, "./src/components"),
// "@api": path.resolve(__dirname, "./src/api"), // 接口请求目录
},
// https://cn.vitejs.dev/config/#resolve-extensions
extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
......
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