Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
emergency-project
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
吴春元
emergency-project
Commits
a19a6ba1
Commit
a19a6ba1
authored
Nov 13, 2025
by
吴春元
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
举报管理
parent
f4752387
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
279 additions
and
170 deletions
+279
-170
App.vue
src/App.vue
+2
-1
jb.js
src/api/jb/jb.js
+1
-1
config.js
src/utils/config.js
+1
-1
HomeView.vue
src/views/home/home/HomeView.vue
+10
-10
TySubmit.vue
src/views/jb/submit/TySubmit.vue
+262
-155
TyJb.vue
src/views/jb/tyjb/TyJb.vue
+2
-1
vite.config.ts
vite.config.ts
+1
-1
No files found.
src/App.vue
View file @
a19a6ba1
...
...
@@ -8,7 +8,8 @@ import { ElConfigProvider } from "element-plus";
import
{
zhCn
}
from
"element-plus/es/locale/index"
;
import
{
provide
}
from
"vue"
;
const
VITE_APP_TITLE
=
"太原市互联网宣传研究中心"
;
// 标题
const
VITE_APP_TITLE
=
"太原市互联网应急指挥和举报中心(太原市互联网宣传研究中心)"
;
// 标题
const
VITE_ADDRESS
=
"山西省太原市杏花岭区新建路 78 号新闻大厦 8 层"
;
// 地址
const
VITE_EMAIL
=
"tyhlwjbzx@163.com"
;
// 举报邮箱
const
VITE_PHONE
=
"0351-8222236"
;
// 举报电话
...
...
src/api/jb/jb.js
View file @
a19a6ba1
...
...
@@ -3,7 +3,7 @@ import request from "@/utils/request";
// 热点留言列表
export
function
getUpdateForm
(
data
)
{
return
request
({
url
:
"/cms/
leavemessage/list
"
,
url
:
"/cms/
report/saveEntity
"
,
method
:
"post"
,
data
:
data
,
});
...
...
src/utils/config.js
View file @
a19a6ba1
let
baseImageUrl
;
if
(
process
.
env
.
NODE_ENV
===
"development"
)
{
// baseImageUrl = (path) => "http://192.168.19.
142
:9002" + path;
// baseImageUrl = (path) => "http://192.168.19.
248
:9002" + path;
baseImageUrl
=
(
path
)
=>
"http://localhost:9002"
+
path
;
// baseImageUrl = (path) => "http://yjzh.sxyztech.cn" + path;
}
else
{
...
...
src/views/home/home/HomeView.vue
View file @
a19a6ba1
...
...
@@ -404,16 +404,16 @@ const activeNav = ref(0);
const
handleClick
=
(
index
:
number
,
entry
:
any
)
=>
{
switch
(
index
)
{
case
0
:
const
pyHomePageUrl
=
router
.
resolve
({
name
:
"PyHome"
}).
href
;
window
.
open
(
pyHomePageUrl
,
"_blank"
);
break
;
case
1
:
router
.
push
({
path
:
"/home/jb"
});
break
;
case
2
:
case
1
:
const
wmHomePageUrl
=
router
.
resolve
({
name
:
"wm"
}).
href
;
window
.
open
(
wmHomePageUrl
,
"_blank"
);
break
;
case
2
:
const
pyHomePageUrl
=
router
.
resolve
({
name
:
"PyHome"
}).
href
;
window
.
open
(
pyHomePageUrl
,
"_blank"
);
break
;
}
// 处理点击事件
};
...
...
@@ -601,11 +601,6 @@ const slides = ref([]);
const
quickEntries
=
[
{
title
:
"太原市互联网联合辟谣平台"
,
icon
:
"Message"
,
bg
:
"https://ai-public.mastergo.com/ai/img_res/36f741de94394af113bc0d3c823df49a.jpg"
,
},
{
title
:
"太原市互联网违法和不良信息举报平台"
,
icon
:
"Share"
,
bg
:
"https://ai-public.mastergo.com/ai/img_res/e3d550fe8d11531c42a774641cf3790a.jpg"
,
...
...
@@ -615,6 +610,11 @@ const quickEntries = [
icon
:
"Link"
,
bg
:
"https://ai-public.mastergo.com/ai/img_res/c907287d38d89eb460120dc7cf6b2d17.jpg"
,
},
{
title
:
"太原市互联网联合辟谣平台"
,
icon
:
"Message"
,
bg
:
"https://ai-public.mastergo.com/ai/img_res/36f741de94394af113bc0d3c823df49a.jpg"
,
},
];
</
script
>
<
style
>
...
...
src/views/jb/submit/TySubmit.vue
View file @
a19a6ba1
...
...
@@ -25,35 +25,39 @@
<div
class=
"gap-0"
>
<!-- 真实姓名 -->
<el-form-item
label=
"真实姓名"
prop=
"
real
Name"
class=
"mb-0"
>
<el-form-item
label=
"真实姓名"
prop=
"
user
Name"
class=
"mb-0"
>
<el-input
v-model=
"form.
real
Name"
v-model=
"form.
user
Name"
placeholder=
"请输入真实姓名"
clearable
></el-input>
</el-form-item>
<!-- 性别 -->
<el-form-item
label=
"性别"
prop=
"gender"
class=
"mb-0"
>
<el-radio-group
v-model=
"form.gender"
>
<el-radio
label=
"1"
>
男
</el-radio>
<el-radio
label=
"2"
>
女
</el-radio>
<el-form-item
label=
"性别"
prop=
"userSex"
class=
"mb-0"
>
<el-radio-group
v-model=
"form.userSex"
>
<el-radio
v-for=
"item in userSexOptions"
:key=
"item.value"
:label=
"item.value"
>
{{ item.label }}
</el-radio
>
</el-radio-group>
</el-form-item>
<!-- 电子邮箱 -->
<el-form-item
label=
"电子邮箱"
prop=
"
e
mail"
class=
"mb-0"
>
<el-form-item
label=
"电子邮箱"
prop=
"
userE
mail"
class=
"mb-0"
>
<el-input
v-model=
"form.
e
mail"
v-model=
"form.
userE
mail"
placeholder=
"请输入电子邮箱"
clearable
></el-input>
</el-form-item>
<!-- 电话号码 -->
<el-form-item
label=
"电话号码"
prop=
"
phon
e"
class=
"mb-0"
>
<el-form-item
label=
"电话号码"
prop=
"
userMobil
e"
class=
"mb-0"
>
<el-input
v-model=
"form.
phon
e"
v-model=
"form.
userMobil
e"
placeholder=
"请输入电话号码"
clearable
></el-input>
...
...
@@ -74,11 +78,11 @@
<!-- 通讯地址 -->
<el-form-item
label=
"通讯地址"
prop=
"
a
ddress"
prop=
"
userA
ddress"
class=
"mb-0 md:col-span-2"
>
<el-input
v-model=
"form.
a
ddress"
v-model=
"form.
userA
ddress"
type=
"textarea"
:rows=
"2"
placeholder=
"请输入详细通讯地址"
...
...
@@ -101,14 +105,17 @@
v-model=
"form.reportType"
@
change=
"handleReportTypeChange"
>
<el-radio
label=
"0"
>
网站
</el-radio>
<el-radio
label=
"1"
>
搜索引擎类
</el-radio>
<el-radio
label=
"2"
>
APP
</el-radio>
<el-radio
v-for=
"item in reportTypeOptions"
:key=
"item.value"
:label=
"item.value"
>
{{ item.label }}
</el-radio
>
</el-radio-group>
</el-form-item>
<!-- 网站类型 -->
<div
v-if=
"form.reportType ===
'0'
"
class=
"mb-4"
>
<div
v-if=
"form.reportType ===
1
"
class=
"mb-4"
>
<el-form-item
label=
"网址名称"
prop=
"websiteName"
class=
"mb-0"
>
<el-input
v-model=
"form.websiteName"
...
...
@@ -117,9 +124,9 @@
></el-input>
</el-form-item>
<el-form-item
label=
"被举报网址"
prop=
"websit
eUrl
"
class=
"mb-0"
>
<el-form-item
label=
"被举报网址"
prop=
"websit
Address
"
class=
"mb-0"
>
<el-input
v-model=
"form.websit
eUrl
"
v-model=
"form.websit
Address
"
placeholder=
"请输入被举报网址"
clearable
></el-input>
...
...
@@ -127,10 +134,10 @@
</div>
<!-- 搜索引擎类型 -->
<div
v-if=
"form.reportType ===
'1'
"
class=
"space-y-4 mb-4"
>
<el-form-item
label=
"搜索引擎类型"
prop=
"search
Engine
Type"
>
<div
v-if=
"form.reportType ===
2
"
class=
"space-y-4 mb-4"
>
<el-form-item
label=
"搜索引擎类型"
prop=
"searchType"
>
<el-select
v-model=
"form.search
Engine
Type"
v-model=
"form.searchType"
placeholder=
"请选择搜索引擎类型"
clearable
class=
"w-full"
...
...
@@ -148,11 +155,11 @@
<div
class=
"gap-0"
>
<el-form-item
label=
"举报关键字"
prop=
"
report
Keyword"
prop=
"
search
Keyword"
class=
"mb-0"
>
<el-input
v-model=
"form.
report
Keyword"
v-model=
"form.
search
Keyword"
placeholder=
"请输入举报关键字"
clearable
></el-input>
...
...
@@ -168,11 +175,11 @@
<el-form-item
label=
"被举报网址"
prop=
"websit
eUrl
"
prop=
"websit
Address
"
class=
"mb-0 md:col-span-2"
>
<el-input
v-model=
"form.websit
eUrl
"
v-model=
"form.websit
Address
"
placeholder=
"请输入被举报网址"
:disabled=
"disabled"
clearable
...
...
@@ -182,7 +189,7 @@
</div>
<!-- APP类型 -->
<div
v-if=
"form.reportType ===
'2'
"
class=
"mb-0"
>
<div
v-if=
"form.reportType ===
3
"
class=
"mb-0"
>
<el-form-item
label=
"APP名称"
prop=
"websiteName"
class=
"mb-0"
>
<el-input
v-model=
"form.websiteName"
...
...
@@ -191,9 +198,9 @@
></el-input>
</el-form-item>
<el-form-item
label=
"APP官方地址"
prop=
"websit
eUrl
"
class=
"mb-0"
>
<el-form-item
label=
"APP官方地址"
prop=
"websit
Address
"
class=
"mb-0"
>
<el-input
v-model=
"form.websit
eUrl
"
v-model=
"form.websit
Address
"
placeholder=
"请输入APP官方地址"
clearable
></el-input>
...
...
@@ -201,9 +208,13 @@
</div>
<!-- 信息所在详细网址 -->
<el-form-item
label=
"信息所在详细网址"
prop=
"detailUrl"
class=
"mb-4"
>
<el-form-item
label=
"信息所在详细网址"
prop=
"websitDetailAddress"
class=
"mb-4"
>
<el-input
v-model=
"form.
detailUrl
"
v-model=
"form.
websitDetailAddress
"
placeholder=
"请输入信息所在详细网址"
clearable
:disabled=
"disabled"
...
...
@@ -234,17 +245,17 @@
v-for=
"item in harmTypeOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.
value
"
:value=
"item.
label
"
></el-option>
</el-select>
</el-form-item>
<!-- 附件上传 -->
<el-form-item
label=
"附件"
prop=
"
attachmentsList
"
class=
"mb-4"
>
<el-upload
<el-form-item
label=
"附件"
prop=
"
fileUrl
"
class=
"mb-4"
>
<
!-- <
el-upload
v-model:file-list="fileList"
action="#"
accept=
".
gif,.jpg,.png,.bmp
,.jpeg,.doc,.docx,.pdf"
accept=".
jpg,.png
,.jpeg,.doc,.docx,.pdf"
list-type="text"
:auto-upload="false"
:limit="3"
...
...
@@ -260,6 +271,27 @@
每个附件大小不能超过10M,最多可上传3个附件
</div>
</template>
</el-upload> -->
<el-upload
:file-list=
"contentImg"
:action=
"'/cms/upload/uploadFile'"
:limit=
"3"
:on-exceed=
"handleExceed"
:before-upload=
"beforeUpload"
:on-error=
"contentImgError"
:on-success=
"contentImgSuccess"
:on-remove=
"contentImghandleRemove"
accept=
".jpg,.png,.jpeg,.doc,.docx,.pdf"
list-type=
"text"
name=
"multipartFile"
>
<el-button
type=
"primary"
>
点击上传
</el-button>
<
template
#
tip
>
<div
class=
"el-upload__tip text-sm text-gray-500"
>
每个附件大小不能超过10M,最多可上传3个附件
</div>
</
template
>
</el-upload>
</el-form-item>
...
...
@@ -307,40 +339,52 @@ import Footer from "@/components/footer.vue";
const
disabled
=
ref
(
false
);
const
fileList
=
ref
([]);
const
formRef
=
ref
();
const
contentImg
=
ref
<
any
>
([]);
const
harmTypeOptions
=
[
{
label
:
"网络“开盒”恶意评价、侮辱谩骂及造谣污蔑等信息"
,
value
:
0
},
{
label
:
"网络交易环境"
,
value
:
1
},
{
label
:
"网上虚假宣传制售“特供酒"
,
value
:
2
},
{
label
:
"境外赌场招赌信息"
,
value
:
3
},
{
label
:
"含有病态、低俗内容的热搜榜单"
,
value
:
4
},
{
label
:
"生活服务类平台信息"
,
value
:
5
},
{
label
:
"涉企侵权信息举报"
,
value
:
6
},
{
label
:
"低俗"
,
value
:
7
},
{
label
:
"谣言"
,
value
:
8
},
{
label
:
"淫秽色情"
,
value
:
9
},
{
label
:
"赌博"
,
value
:
1
0
},
{
label
:
"诈骗"
,
value
:
1
1
},
{
label
:
"侵权"
,
value
:
1
2
},
{
label
:
"病毒"
,
value
:
1
3
},
{
label
:
"违背宪法原则"
,
value
:
1
4
},
{
label
:
"攻击党和政府"
,
value
:
1
5
},
{
label
:
"违背社会公德"
,
value
:
1
6
},
{
label
:
"其他违法和不良信息"
,
value
:
1
7
},
{
label
:
"宣扬邪教"
,
value
:
1
8
},
{
label
:
"迷信暴力"
,
value
:
19
},
{
label
:
"新冠肺炎疫情"
,
value
:
2
0
},
{
label
:
"侵权假冒"
,
value
:
2
1
},
{
label
:
"网络“开盒”恶意评价、侮辱谩骂及造谣污蔑等信息"
,
value
:
1
},
{
label
:
"网络交易环境"
,
value
:
2
},
{
label
:
"网上虚假宣传制售“特供酒"
,
value
:
3
},
{
label
:
"境外赌场招赌信息"
,
value
:
4
},
{
label
:
"含有病态、低俗内容的热搜榜单"
,
value
:
5
},
{
label
:
"生活服务类平台信息"
,
value
:
6
},
{
label
:
"涉企侵权信息举报"
,
value
:
7
},
{
label
:
"低俗"
,
value
:
8
},
{
label
:
"谣言"
,
value
:
9
},
{
label
:
"淫秽色情"
,
value
:
10
},
{
label
:
"赌博"
,
value
:
1
1
},
{
label
:
"诈骗"
,
value
:
1
2
},
{
label
:
"侵权"
,
value
:
1
3
},
{
label
:
"病毒"
,
value
:
1
4
},
{
label
:
"违背宪法原则"
,
value
:
1
5
},
{
label
:
"攻击党和政府"
,
value
:
1
6
},
{
label
:
"违背社会公德"
,
value
:
1
7
},
{
label
:
"其他违法和不良信息"
,
value
:
1
8
},
{
label
:
"宣扬邪教"
,
value
:
1
9
},
{
label
:
"迷信暴力"
,
value
:
20
},
{
label
:
"新冠肺炎疫情"
,
value
:
2
1
},
{
label
:
"侵权假冒"
,
value
:
2
2
},
];
const
searchEngineTypeOptions
=
[
{
label
:
"其他"
,
value
:
"http://"
},
{
label
:
"百度"
,
value
:
"http://www.baidu.com"
},
{
label
:
"谷歌"
,
value
:
"http://www.google.com"
},
{
label
:
"雅虎"
,
value
:
"http://www.yahoo.cn"
},
{
label
:
"搜狗"
,
value
:
"http://www.sogou.com"
},
{
label
:
"360"
,
value
:
"https://www.so.com"
},
{
label
:
"必应"
,
value
:
"https://cn.bing.com"
},
{
label
:
"其他"
,
url
:
"http://"
,
value
:
1
},
{
label
:
"百度"
,
url
:
"http://www.baidu.com"
,
value
:
2
},
{
label
:
"谷歌"
,
url
:
"http://www.google.com"
,
value
:
3
},
{
label
:
"雅虎"
,
url
:
"http://www.yahoo.cn"
,
value
:
4
},
{
label
:
"搜狗"
,
url
:
"http://www.sogou.com"
,
value
:
5
},
{
label
:
"360"
,
url
:
"https://www.so.com"
,
value
:
6
},
{
label
:
"必应"
,
url
:
"https://cn.bing.com"
,
value
:
7
},
];
// 被举报类型选项
const
reportTypeOptions
=
[
{
label
:
"网站"
,
value
:
1
},
{
label
:
"搜索引擎类"
,
value
:
2
},
{
label
:
"APP"
,
value
:
3
},
];
const
userSexOptions
=
[
{
label
:
"男"
,
value
:
1
},
{
label
:
"女"
,
value
:
2
},
];
// 获取城市选项
...
...
@@ -358,51 +402,47 @@ function getCityOptions() {
// 处理区域选择变化
function
handleRegionChange
(
val
:
string
[])
{
if
(
val
.
length
===
2
)
{
form
.
provinces
=
val
[
0
];
form
.
city
s
=
val
[
1
];
form
.
country
=
val
[
0
];
form
.
city
=
val
[
1
];
}
}
// 表单数据
const
form
=
reactive
({
// 举报人基本信息
realName
:
""
,
gender
:
"1"
,
email
:
""
,
phone
:
""
,
region
:
[],
provinces
:
""
,
citys
:
""
,
address
:
""
,
reportType
:
"0"
,
// 举报信息
websiteName
:
""
,
//网址名称
websiteUrl
:
""
,
//被举报网址
searchEngineType
:
""
,
//搜索引擎类型
reportKeyword
:
""
,
//举报关键字
// searchWebsiteName: "", //被举报网站名称
// searchWebsiteUrl: "", //被举报网址
// appName: "", //APP名称
// appOfficialUrl: "", //APP官方网址
detailUrl
:
""
,
//信息所在详细网址
reportContent
:
""
,
harmType
:
""
,
attachmentsList
:
[],
userName
:
"吴大大"
,
userSex
:
"1"
,
userEmail
:
"123@qq.com"
,
userMobile
:
"13800000000"
,
region
:
[
"北京市"
,
"北京市"
],
country
:
"北京市"
,
city
:
"北京市"
,
userAddress
:
"北京市朝阳区XX路XX号"
,
reportType
:
1
,
// 举报信息
websiteName
:
"11"
,
//网址名称
websitAddress
:
"22"
,
//被举报网址
searchType
:
""
,
//搜索引擎类型
searchKeyword
:
""
,
//举报关键字
websitDetailAddress
:
"111"
,
//信息所在详细网址
reportContent
:
"222"
,
harmType
:
"2222"
,
fileUrl
:
""
,
images
:
""
,
captcha
:
""
,
status
:
"0"
,
});
// 表单验证规则
const
rules
=
reactive
({
real
Name
:
[
user
Name
:
[
{
required
:
true
,
message
:
"请输入真实姓名"
,
trigger
:
"blur"
},
{
min
:
2
,
max
:
10
,
message
:
"请输入2 到 10 位真实姓名"
,
trigger
:
"blur"
},
],
gender
:
[{
required
:
true
,
message
:
"请选择性别"
,
trigger
:
"change"
}],
e
mail
:
[
userSex
:
[{
required
:
true
,
message
:
"请选择性别"
,
trigger
:
"change"
}],
userE
mail
:
[
{
required
:
true
,
message
:
"请输入邮箱地址"
,
trigger
:
"blur"
},
{
type
:
"email"
,
message
:
"请输入正确的邮箱地址"
,
trigger
:
"blur"
},
],
phon
e
:
[
userMobil
e
:
[
{
required
:
true
,
message
:
"请输入电话号码"
,
trigger
:
"blur"
},
{
pattern
:
/^1
[
3-9
]\d{9}
$/
,
...
...
@@ -415,17 +455,17 @@ const rules = reactive({
{
required
:
true
,
message
:
"请选择被举报类型"
,
trigger
:
"change"
},
],
websiteName
:
[{
required
:
true
,
message
:
"请输入网址名称"
,
trigger
:
"blur"
}],
websit
eUrl
:
[
websit
Address
:
[
{
required
:
true
,
message
:
"请输入被举报网址"
,
trigger
:
"blur"
},
// { type: "url", message: "请输入正确的网址", trigger: "blur" },
],
search
Engine
Type
:
[
searchType
:
[
{
required
:
true
,
message
:
"请选择搜索引擎类型"
,
trigger
:
"change"
},
],
report
Keyword
:
[
search
Keyword
:
[
{
required
:
true
,
message
:
"请输入举报关键字"
,
trigger
:
"blur"
},
],
detailUrl
:
[
websitDetailAddress
:
[
{
required
:
true
,
message
:
"请输入信息所在详细网址"
,
trigger
:
"blur"
},
// { type: "url", message: "请输入正确的网址", trigger: "blur" },
],
...
...
@@ -434,7 +474,6 @@ const rules = reactive({
{
min
:
1
,
max
:
500
,
message
:
"举报内容不能超过500个字符"
,
trigger
:
"blur"
},
],
harmType
:
[{
required
:
true
,
message
:
"请选择危害类型"
,
trigger
:
"change"
}],
captcha
:
[
{
required
:
true
,
...
...
@@ -446,18 +485,22 @@ const rules = reactive({
// 处理举报类型变化
function
handleReportTypeChange
(
value
:
string
)
{
form
.
websit
eUrl
=
""
;
//被举报网址
form
.
detailUrl
=
""
;
//信息所在详细网址
form
.
websit
Address
=
""
;
//被举报网址
form
.
websitDetailAddress
=
""
;
//信息所在详细网址
form
.
websiteName
=
""
;
//网址名称
form
.
search
Engine
Type
=
""
;
//搜索引擎类型
form
.
report
Keyword
=
""
;
//举报关键字
form
.
searchType
=
""
;
//搜索引擎类型
form
.
search
Keyword
=
""
;
//举报关键字
disabled
.
value
=
false
;
}
// 处理搜索引擎类型变化
function
handleSearchEngineTypeChange
(
value
:
string
)
{
form
.
websiteUrl
=
value
;
//被举报网址
form
.
detailUrl
=
value
;
//信息所在详细网址
searchEngineTypeOptions
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
value
===
value
)
{
form
.
websitAddress
=
item
.
url
;
//被举报网址
form
.
websitDetailAddress
=
item
.
url
;
//信息所在详细网址
}
});
if
(
value
===
"http://"
)
{
disabled
.
value
=
false
;
}
else
{
...
...
@@ -467,44 +510,83 @@ function handleSearchEngineTypeChange(value: string) {
// 处理文件上传超出限制
function
handleExceed
(
files
:
any
,
fileList
:
any
)
{
ElMessage
.
warning
(
`最多只能上传 3 个文件,当前选择了
${
files
.
length
}
个文件,共
${
ElMessage
({
message
:
`最多只能上传 3 个文件,当前选择了
${
files
.
length
}
个文件,共
${
files
.
length
+
fileList
.
length
}
个文件`
);
}
个文件`
,
type
:
"warning"
,
});
}
// 文件上传前的验证
function
beforeUpload
(
file
:
any
)
{
const
isLt10M
=
file
.
size
/
1024
/
1024
<
10
;
if
(
!
isLt10M
)
{
ElMessage
.
error
(
"单个附件大小不能超过 10MB!"
);
ElMessage
({
message
:
"单个附件大小不能超过 10MB!"
,
type
:
"warning"
,
});
return
false
;
}
return
true
;
}
// 处理文件上传成功
function
contentImgSuccess
(
response
:
any
,
file
:
any
,
fileList
:
any
)
{
if
(
response
.
result
)
{
contentImg
.
value
.
push
({
url
:
file
.
url
,
name
:
file
.
name
,
path
:
response
.
data
,
uid
:
file
.
uid
,
});
}
debugger
;
}
// 处理文件上传错误
function
contentImgError
(
response
:
any
,
file
:
any
,
fileList
:
any
)
{
response
=
response
.
toString
().
replace
(
"Error: "
,
""
);
// debugger;
response
=
JSON
.
parse
(
response
);
ElMessage
({
message
:
response
.
msg
,
type
:
"error"
,
});
}
// 移除上传文件
function
removeUploadFile
(
file
:
any
,
fileList
:
any
)
{}
function
contentImghandleRemove
(
file
:
any
,
fileList
:
any
)
{
var
index
=
-
1
;
index
=
contentImg
.
value
.
findIndex
(
function
(
text
:
any
)
{
return
text
.
uid
==
file
.
uid
;
});
//查找元素下标
if
(
index
!=
-
1
)
{
contentImg
.
value
.
splice
(
index
,
1
);
//删除元素
}
}
// 移除上传文件
// function removeUploadFile(file: any, fileList: any) {}
// 处理文件上传变化
function
handleUploadChange
(
files
:
any
,
fileList
:
any
)
{
// let formData = new FormData();
// fileList.forEach((file: any) => {
// formData.append("multipartFile", file.raw); // 注意这里使用multipartFile对应后端参数
// });
// uploadFile(formData).then((res: any) => {
// if (res.code === 200) {
// form.images = res.data;
// ElMessage.success("文件上传成功!");
// } else {
// ElMessage.error("文件上传失败!");
// }
// });
}
//
function handleUploadChange(files: any, fileList: any) {
// let formData = new FormData();
// fileList.forEach((file: any) => {
// formData.append("multipartFile", file.raw); // 注意这里使用multipartFile对应后端参数
// });
// uploadFile(formData).then((res: any) => {
// if (res.code === 200) {
// form.images = res.data;
// ElMessage.success("文件上传成功!");
// } else {
// ElMessage.error("文件上传失败!");
// }
// });
//
}
// 处理文件上传成功
function
handleUploadSuccess
(
res
:
any
,
file
:
any
,
fileList
:
any
)
{}
//
function handleUploadSuccess(res: any, file: any, fileList: any) {}
// 提交表单
function
submitForm
()
{
...
...
@@ -520,38 +602,59 @@ function submitForm() {
form
.
captcha
=
""
;
return
;
}
if
(
fileList
.
value
.
length
===
0
)
{
getUpdateForm
(
form
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
ElMessage
.
success
(
"提交成功!"
);
resetForm
();
}
else
{
ElMessage
.
error
(
"提交失败!"
);
}
});
}
else
{
let
formData
=
new
FormData
();
fileList
.
value
.
forEach
((
file
:
any
)
=>
{
formData
.
append
(
"multipartFile"
,
file
.
raw
);
// 注意这里使用multipartFile对应后端参数
});
uploadFile
(
formData
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
===
200
)
{
form
.
images
=
res
.
data
;
getUpdateForm
(
form
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
ElMessage
.
success
(
"提交成功!"
);
resetForm
();
}
else
{
ElMessage
.
error
(
"提交失败!"
);
}
});
}
else
{
ElMessage
.
error
(
"文件上传失败!"
);
}
});
}
//contentImg转json赋值给form.fileUrl
form
.
fileUrl
=
JSON
.
stringify
(
contentImg
.
value
);
getUpdateForm
(
form
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
===
200
)
{
ElMessage
({
message
:
"提交成功!"
,
type
:
"success"
,
});
// 重置表单字段
resetForm
();
refreshCaptcha
();
// 刷新验证码
}
else
{
ElMessage
({
message
:
"提交失败!"
,
type
:
"error"
,
});
}
});
// if (fileList.value.length === 0) {
// getUpdateForm(form).then((res) => {
// if (res.code === 200) {
// ElMessage.success("提交成功!");
// resetForm();
// } else {
// ElMessage.error("提交失败!");
// }
// });
// } else {
// let formData = new FormData();
// fileList.value.forEach((file: any) => {
// formData.append("multipartFile", file.raw); // 注意这里使用multipartFile对应后端参数
// });
// uploadFile(formData).then((res: any) => {
// if (res.code === 200) {
// form.images = res.data;
// getUpdateForm(form).then((res) => {
// if (res.code === 200) {
// ElMessage.success("提交成功!");
// resetForm();
// } else {
// ElMessage.error("提交失败!");
// }
// });
// } else {
// ElMessage.error("文件上传失败!");
// }
// });
// }
}
else
{
ElMessage
.
error
(
"请填写完整信息!"
);
ElMessage
({
message
:
"请填写完整信息!"
,
type
:
"error"
,
});
return
false
;
}
});
...
...
@@ -559,7 +662,11 @@ function submitForm() {
// 重置表单
function
resetForm
()
{
formRef
.
value
.
resetFields
();
// ElMessage.info("表单已重置");
contentImg
.
value
=
[];
ElMessage
({
message
:
"表单已重置"
,
type
:
"info"
,
});
}
const
letters
=
Array
.
from
(
"ABCDEFGHJKLMNPQRSTUVWXYZ23456789"
);
...
...
src/views/jb/tyjb/TyJb.vue
View file @
a19a6ba1
...
...
@@ -67,7 +67,8 @@
>
太原市互联网违法和不良信息举报平台
</a
>
</h1>
<h2>
太原市互联网举报电话:
{{
inject
(
"VITE_PHONE"
)
}}
</h2>
<h3>
太原市互联网举报电话:
{{
inject
(
"VITE_PHONE"
)
}}
</h3>
<h3>
太原市互联网举报邮箱:
{{
inject
(
"VITE_EMAIL"
)
}}
</h3>
<el-button
class=
"botton"
type=
"primary"
...
...
vite.config.ts
View file @
a19a6ba1
...
...
@@ -32,9 +32,9 @@ export default defineConfig({
proxy
:
{
"/cms"
:
{
target
:
"http://localhost:9002"
,
// target: "http://192.168.19.248:9002",
// target: "http://172.16.70.52:8081",
// target: "http://192.168.19.142:9002",
// target: "http://192.168.19.127:9002",
changeOrigin
:
true
,
// rewrite: (path) => path.replace(/^\/cms/, "/cms"),
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment