Commit 638a4901 authored by 冷玲鹏's avatar 冷玲鹏

修改上传,页面bug

parent 6da8c50a
......@@ -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,
......
......@@ -179,13 +179,13 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item
label="男生数量:"
prop="maleCount"
label="人数上限:"
prop="maxApplicationCount"
>
<el-input
v-model.trim="form.maleCount"
v-model.trim="form.maxApplicationCount"
: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.maxApplicationCount"
v-model.trim="form.maleCount"
: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
}
})
}
......
......@@ -10,9 +10,19 @@
clearable
:maxlength="500"
size="small"
style="width: 150px"
style="width: 100%"
/>
</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>
......@@ -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'],
......
......@@ -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
}
})
}
......
......@@ -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"
......
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