Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cust_web
Project
Project
Details
Activity
Releases
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
张伯涛
cust_web
Commits
638a4901
Commit
638a4901
authored
Dec 27, 2024
by
冷玲鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改上传,页面bug
parent
6da8c50a
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
207 additions
and
126 deletions
+207
-126
index.vue
src/views/contentManagement/activity/index.vue
+27
-11
index.vue
src/views/contentManagement/activity/info/index.vue
+63
-51
index.vue
src/views/contentManagement/banner/index.vue
+51
-38
index.vue
src/views/contentManagement/notice/index.vue
+26
-4
index.vue
src/views/contentManagement/notice/info/index.vue
+27
-18
index.vue
src/views/contentManagement/topic/index.vue
+13
-4
No files found.
src/views/contentManagement/activity/index.vue
View file @
638a4901
...
...
@@ -3,18 +3,39 @@
<div
class=
"app-container"
>
<div
v-show=
"showSwitch.courseContent"
class=
"courseContent"
>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"发布状态:"
prop=
"flag"
>
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择发布状态"
>
<el-form
ref=
"queryForm"
style=
"padding: 30px 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"标题:"
prop=
"title"
>
<el-input
v-model
.
trim=
"queryParams.title"
placeholder=
"请输入活动标题"
clearable
:maxlength=
"30"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"顶置:"
prop=
"isTop"
>
<el-select
v-model=
"queryParams.isTop"
placeholder=
"请选择顶置状态"
style=
"width: 150px"
clearable
>
<el-option
v-for=
"item in yesOrNo"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"推荐:"
prop=
"isRecommended"
>
<el-select
v-model=
"queryParams.isRecommended"
placeholder=
"请选择推荐状态"
style=
"width: 150px"
clearable
>
<el-option
v-for=
"item in yesOrNo"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"状态:"
prop=
"flag"
>
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择发布状态"
style=
"width: 150px"
clearable
>
<el-option
v-for=
"item in releaseStatusOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
style=
"width: 150px"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"发布日期:"
prop=
"publishDate"
>
<el-form-item
label=
"发布日期:"
prop=
"publishDate"
clearable
>
<el-date-picker
v-model=
"dateRange"
value-format=
"yyyy-MM-dd"
...
...
@@ -84,9 +105,6 @@
<
template
slot-scope=
"scope"
>
<el-tag
v-if=
"scope.row.isTop === 1"
type=
"success"
size=
"medium "
>
置顶
</el-tag>
</
template
>
<!-- <template slot-scope="scope">
<span>{{ scope.row.isTop === 1 ? '是' : '否' }}</span>
</template>-->
</el-table-column>
<el-table-column
align=
"center"
prop=
"isRecommended"
min-width=
"80"
label=
"推荐"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
...
...
@@ -296,6 +314,7 @@ import {
import
{
parseTime
}
from
'@/utils'
import
{
getDataCache
,
setDataCache
}
from
'@/assets/js/filterData'
import
{
listCmsApplication
}
from
'@/api/contentManagement/application'
import
{
yesOrNo
}
from
'@/utils/allPageData'
export
default
{
name
:
'Index'
,
// components: {
...
...
@@ -303,6 +322,7 @@ export default {
// },
data
()
{
return
{
yesOrNo
,
pageKey
:
0
,
hasAddPerm
:
[
'sys:activity:add'
],
hasUpdatePerm
:
[
'sys:activity:update'
],
...
...
@@ -390,10 +410,6 @@ export default {
uploadList
:
{
fm
:
''
},
// search area
courseid
:
''
,
coursename
:
''
,
queryParams
:
{
page
:
1
,
rows
:
10
,
...
...
src/views/contentManagement/activity/info/index.vue
View file @
638a4901
...
...
@@ -179,13 +179,13 @@
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"
男生数量
:"
prop=
"ma
le
Count"
label=
"
人数上限
:"
prop=
"ma
xApplication
Count"
>
<el-input
v-model
.
trim=
"form.ma
le
Count"
v-model
.
trim=
"form.ma
xApplication
Count"
:disabled=
"secondFromDisabled"
placeholder=
"请输入
男生数量
"
placeholder=
"请输入
人数上限
"
size=
"small"
class=
"normalInput"
:maxlength=
"100"
...
...
@@ -194,31 +194,35 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"女生数量:"
prop=
"femaleCount"
label=
"报名费用:"
prop=
"applicationFee"
:rules=
"
{ required: !(controls.isOperation === '3'), message: '请输入报名所需费用', trigger: 'blur' }"
>
<el-input
v-model
.
trim=
"form.
femaleCount
"
v-model
.
trim=
"form.
applicationFee
"
:disabled=
"secondFromDisabled"
placeholder=
"请
女生数量
"
placeholder=
"请
输入报名所需费用
"
size=
"small"
class=
"normalInput"
:maxlength=
"100"
/>
:maxlength=
"300"
>
<template
slot=
"append"
>
<span>
元
</span>
</
template
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"人数上限:"
prop=
"maxApplicationCount"
:rules=
"
{ required: !(controls.isOperation === '3'), message: '请输入人数上限', trigger: 'blur' }"
label=
"男生数量:"
prop=
"maleCount"
>
<el-input
v-model
.
trim=
"form.ma
xApplication
Count"
v-model
.
trim=
"form.ma
le
Count"
:disabled=
"secondFromDisabled"
placeholder=
"请输入
人数上限
"
placeholder=
"请输入
男生数量
"
size=
"small"
class=
"normalInput"
:maxlength=
"100"
...
...
@@ -227,22 +231,17 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"报名费用:"
prop=
"applicationFee"
:rules=
"
{ required: !(controls.isOperation === '3'), message: '请输入报名所需费用', trigger: 'blur' }"
label=
"女生数量:"
prop=
"femaleCount"
>
<el-input
v-model
.
trim=
"form.
applicationFee
"
v-model
.
trim=
"form.
femaleCount
"
:disabled=
"secondFromDisabled"
placeholder=
"请
输入报名所需费用
"
placeholder=
"请
女生数量
"
size=
"small"
class=
"normalInput"
:maxlength=
"300"
>
<template
slot=
"append"
>
<span>
元
</span>
</
template
>
</el-input>
:maxlength=
"100"
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -264,25 +263,40 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"活动摘要:"
prop=
"summary"
>
<el-input
v-model
.
trim=
"form.summary"
type=
"textarea"
:disabled=
"secondFromDisabled"
placeholder=
"请输入活动摘要"
size=
"small"
rows=
"3"
class=
"normalInput"
:maxlength=
"300"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"活动封面:"
prop=
"pictureId"
>
<el-upload
ref=
"upload"
accept=
".png,.jpg,.jpeg,.PNG,.JPG,.JPEG"
:disabled=
"secondFromDisabled"
:file-list=
"fileList"
class=
"avatar-uploader"
list-type=
"picture-card"
class=
"avatar-uploader"
action=
"#"
:on-preview=
"handlePreview"
:on-remove=
"handleUploadRemoveFake"
:on-exceed=
"handleUploadExceed"
:show-file-list=
"false"
:before-upload=
"handleUploadBeforeFake"
:before-remove=
"handleFileRemoveBefore"
:auto-upload=
"true"
:limit=
"8"
>
<i
class=
"el-icon-plus avatar-uploader-icon"
/>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
alt=
""
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
/>
</el-upload>
</el-form-item>
...
...
@@ -374,7 +388,7 @@ export default {
weight
:
null
,
maleCount
:
null
,
femaleCount
:
null
,
maxApplicationCount
:
null
,
maxApplicationCount
:
'0'
,
applicationFee
:
'0.00'
,
isRecommended
:
null
,
isTop
:
null
,
...
...
@@ -441,15 +455,16 @@ export default {
formData
.
append
(
'file'
,
file
)
formData
.
append
(
'temp'
,
'CmsActivity'
)
try
{
// 发起上传请求
const
response
=
await
uploadPublic
(
formData
)
// 获取返回的 businessId,并更新 form.pictureId
const
businessId
=
response
.
data
.
businessId
this
.
form
.
pictureId
=
businessId
this
.
fileList
.
push
(
{
// 更新 fileList,保存文件的 URL 和其他信息
this
.
fileList
=
[
{
url
:
response
.
data
.
url
,
name
:
response
.
data
.
activityName
,
businessId
:
response
.
data
.
businessId
})
businessId
:
businessId
}]
this
.
form
.
pictureId
=
businessId
this
.
imageUrl
=
response
.
data
.
url
}
catch
(
error
)
{
console
.
error
(
'上传失败:'
,
error
)
}
...
...
@@ -460,12 +475,12 @@ export default {
// 判断是新增、编辑还是查看
if
(
isOperation
===
'1'
)
{
// 新增时,默认置顶为'是'(value: '1')
this
.
form
.
isRecommended
=
1
this
.
form
.
isTop
=
1
this
.
form
.
isRegistration
=
1
this
.
form
.
isAuthentication
=
1
this
.
form
.
isApplication
=
1
this
.
form
.
isNeedMember
=
1
this
.
form
.
isRecommended
=
0
this
.
form
.
isTop
=
0
this
.
form
.
isRegistration
=
0
this
.
form
.
isAuthentication
=
0
this
.
form
.
isApplication
=
0
this
.
form
.
isNeedMember
=
0
this
.
form
.
flag
=
'0'
}
},
...
...
@@ -516,10 +531,7 @@ export default {
getCmsActivity
(
this
.
$route
.
query
.
bussinessId
).
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
this
.
form
=
response
.
data
const
param
=
{
url
:
response
.
data
.
path
}
this
.
fileList
.
push
(
param
)
this
.
imageUrl
=
response
.
data
.
path
}
})
}
...
...
src/views/contentManagement/banner/index.vue
View file @
638a4901
...
...
@@ -10,9 +10,19 @@
clearable
:maxlength=
"500"
size=
"small"
style=
"width: 1
50px
"
style=
"width: 1
00%
"
/>
</el-form-item>
<el-form-item
label=
"分类:"
prop=
"type"
>
<el-select
v-model
.
trim=
"queryParams.isTop"
show-word-limit
placeholder=
"请输入类型"
style=
"width: 100%"
>
<el-option
v-for=
"item in typeField"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
:class=
"commonField.queryClass"
...
...
@@ -146,15 +156,12 @@
list-type=
"picture-card"
class=
"avatar-uploader"
action=
"#"
:on-preview=
"handlePreview"
:on-remove=
"handleUploadRemoveFake"
:on-exceed=
"handleUploadExceed"
:show-file-list=
"false"
:before-upload=
"handleUploadBeforeFake"
:before-remove=
"handleFileRemoveBefore"
:auto-upload=
"true"
:limit=
"8"
>
<i
class=
"el-icon-plus avatar-uploader-icon"
/>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
alt=
""
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
/>
</el-upload>
</el-form-item>
<el-form-item
label=
"权重:"
prop=
"weight"
>
...
...
@@ -223,11 +230,11 @@ export default {
flag
:
''
},
showImg
:
false
,
imagUrl
:
''
,
// 表单参数
form
:
{},
fileList
:
[],
dialogImageUrl
:
''
,
imageUrl
:
''
,
dialogVisible
:
false
,
typeField
,
enableOrDisable
,
...
...
@@ -256,24 +263,6 @@ export default {
},
methods
:
{
/** 上传 */
handlePreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
this
.
dialogVisible
=
true
},
handleFileRemoveBefore
(
file
,
fileList
)
{
console
.
log
(
'filebusinessId'
,
file
)
return
this
.
$confirm
(
`确定移除该图片吗?`
)
},
handleUploadRemoveFake
(
file
,
fileList
)
{
if
(
file
.
businessId
)
{
this
.
fileList
=
this
.
fileList
.
filter
(
fileItem
=>
fileItem
.
businessId
!==
file
.
businessId
)
}
else
{
this
.
fileList
=
this
.
fileList
.
filter
(
fileItem
=>
fileItem
.
pictureId
!==
file
.
pictureId
)
}
},
handleUploadExceed
(
files
,
fileList
)
{
this
.
$message
.
warning
(
`最多上传8张图片`
)
},
// 获取对应的分类名称
getTypeValue
(
type
)
{
// 查找 type 对应的 value
...
...
@@ -418,11 +407,8 @@ export default {
const
id
=
row
.
businessId
getCmsBanner
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
const
param
=
{
url
:
response
.
data
.
path
}
this
.
fileList
.
push
(
param
)
console
.
log
(
'hhahaah'
,
this
.
fileList
)
this
.
imageUrl
=
response
.
data
.
path
console
.
log
(
'hhahaah'
,
this
.
imagUrl
)
this
.
open
=
true
this
.
title
=
'修改banner'
})
...
...
@@ -509,6 +495,7 @@ export default {
}).
catch
(
function
()
{
})
},
// 上传
async
handleUploadBeforeFake
(
file
)
{
if
(
!
file
.
type
.
startsWith
(
'image/'
))
{
this
.
$message
.
warning
(
'只支持上传图片'
)
...
...
@@ -520,17 +507,14 @@ export default {
try
{
// 发起上传请求
const
response
=
await
uploadPublic
(
formData
)
// 获取返回的 businessId,并更新 form.pictureId
const
businessId
=
response
.
data
.
businessId
this
.
form
.
pictureId
=
businessId
// 更新 fileList,保存文件的 URL 和其他信息
this
.
fileList
.
push
(
{
this
.
fileList
=
[
{
url
:
response
.
data
.
url
,
name
:
response
.
data
.
bannerName
,
businessId
:
businessId
})
}]
this
.
form
.
pictureId
=
businessId
this
.
imageUrl
=
response
.
data
.
url
}
catch
(
error
)
{
console
.
error
(
'上传失败:'
,
error
)
}
...
...
@@ -580,4 +564,33 @@ export default {
height
:
45px
;
}
}
::v-deep
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
border-radius
:
6px
;
cursor
:
pointer
;
position
:
relative
;
overflow
:
hidden
;
display
:
flex
;
width
:
200px
;
height
:
180px
;
}
::v-deep
.avatar-uploader
.el-upload
:hover
{
border-color
:
#409EFF
;
}
::v-deep
.avatar-uploader-icon
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
200px
;
height
:
180px
;
line-height
:
180px
;
text-align
:
center
;
}
::v-deep
.avatar
{
width
:
200px
;
height
:
178px
;
display
:
block
;
}
</
style
>
src/views/contentManagement/notice/index.vue
View file @
638a4901
...
...
@@ -3,15 +3,35 @@
<div
class=
"app-container"
>
<div
v-show=
"showSwitch.courseContent"
class=
"courseContent"
>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"发布状态:"
prop=
"flag"
>
<!-- 发布状态下拉框-->
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择发布状态"
>
<el-form
ref=
"queryForm"
style=
"padding: 30px 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"标题:"
prop=
"title"
>
<el-input
v-model
.
trim=
"queryParams.title"
placeholder=
"请输入活动标题"
clearable
:maxlength=
"30"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"顶置:"
prop=
"isTop"
>
<el-select
v-model=
"queryParams.isTop"
placeholder=
"请选择顶置状态"
style=
"width: 150px"
clearable
>
<el-option
v-for=
"item in yesOrNo"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"推荐:"
prop=
"isRecommended"
>
<el-select
v-model=
"queryParams.isRecommended"
placeholder=
"请选择推荐状态"
style=
"width: 150px"
clearable
>
<el-option
v-for=
"item in yesOrNo"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"状态:"
prop=
"flag"
>
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择发布状态"
style=
"width: 150px"
clearable
>
<el-option
v-for=
"item in releaseStatusOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
style=
"width: 150px"
/>
</el-select>
</el-form-item>
...
...
@@ -174,6 +194,7 @@ import {
}
from
'@/api/contentManagement/notice'
import
{
parseTime
}
from
'@/utils'
import
{
getDataCache
,
setDataCache
}
from
'@/assets/js/filterData'
import
{
yesOrNo
}
from
'@/utils/allPageData'
export
default
{
name
:
'Index'
,
// components: {
...
...
@@ -181,6 +202,7 @@ export default {
// },
data
()
{
return
{
yesOrNo
,
pageKey
:
0
,
hasAddPerm
:
[
'sys:notice:add'
],
hasUpdatePerm
:
[
'sys:notice:update'
],
...
...
src/views/contentManagement/notice/info/index.vue
View file @
638a4901
...
...
@@ -77,7 +77,25 @@
prop=
"weight"
:rules=
"
{ required: !(controls.isOperation === '3'), message: '请选择权重', trigger: 'change' }"
>
<el-input-number
v-model
.
trim=
"form.weight"
style=
"width: 100%"
controls-position=
"right"
:min=
"0"
/>
<el-input-number
v-model
.
trim=
"form.weight"
style=
"width: 100%"
:disabled=
"secondFromDisabled"
controls-position=
"right"
:min=
"0"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"活动摘要:"
prop=
"summary"
>
<el-input
v-model
.
trim=
"form.summary"
type=
"textarea"
:disabled=
"secondFromDisabled"
placeholder=
"请输入活动摘要"
size=
"small"
rows=
"3"
class=
"normalInput"
:maxlength=
"300"
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -91,15 +109,12 @@
list-type=
"picture-card"
class=
"avatar-uploader"
action=
"#"
:on-preview=
"handlePreview"
:on-remove=
"handleUploadRemoveFake"
:on-exceed=
"handleUploadExceed"
:show-file-list=
"false"
:before-upload=
"handleUploadBeforeFake"
:before-remove=
"handleFileRemoveBefore"
:auto-upload=
"true"
:limit=
"8"
>
<i
class=
"el-icon-plus avatar-uploader-icon"
/>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
alt=
""
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
/>
</el-upload>
</el-form-item>
</el-col>
...
...
@@ -265,17 +280,14 @@ export default {
try
{
// 发起上传请求
const
response
=
await
uploadPublic
(
formData
)
// 获取返回的 businessId,并更新 form.pictureId
const
businessId
=
response
.
data
.
businessId
this
.
form
.
pictureId
=
businessId
// 更新 fileList,保存文件的 URL 和其他信息
this
.
fileList
.
push
(
{
this
.
fileList
=
[
{
url
:
response
.
data
.
url
,
name
:
response
.
data
.
noticeName
,
businessId
:
businessId
})
}]
this
.
form
.
pictureId
=
businessId
this
.
imageUrl
=
response
.
data
.
url
}
catch
(
error
)
{
console
.
error
(
'上传失败:'
,
error
)
}
...
...
@@ -337,10 +349,7 @@ export default {
getCmsNotice
(
this
.
$route
.
query
.
bussinessId
).
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
this
.
form
=
response
.
data
const
param
=
{
url
:
response
.
data
.
path
}
this
.
fileList
.
push
(
param
)
this
.
imageUrl
=
response
.
data
.
path
}
})
}
...
...
src/views/contentManagement/topic/index.vue
View file @
638a4901
...
...
@@ -3,10 +3,19 @@
<div
class=
"app-container"
>
<div
v-show=
"showSwitch.courseContent"
class=
"courseContent"
>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"发布状态:"
prop=
"flag"
>
<!-- 发布状态下拉框-->
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择发布状态"
>
<el-form
ref=
"queryForm"
style=
"padding: 30px 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"话题名称 :"
prop=
"title"
>
<el-input
v-model
.
trim=
"queryParams.title"
placeholder=
"请输入话题名称"
clearable
:maxlength=
"30"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"状态:"
prop=
"flag"
>
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择发布状态"
style=
"width: 150px"
>
<el-option
v-for=
"item in releaseStatusOptions"
:key=
"item.value"
...
...
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