Commit b0888fee authored by 冷玲鹏's avatar 冷玲鹏

修改页面bug:数据回显

parent 63531717
import request from '@/utils/request'
import Qs from 'qs'
import {parseTime} from '@/utils/common';
/**
* 1. 列表查询
......@@ -11,7 +12,7 @@ import Qs from 'qs'
*
*/
// 1. 查询新闻资讯列表
// 1. 查询活动列表
export function listCmsActivity(query) {
return request({
url: '/cmsActivity/queryCmsActivityByPagination',
......@@ -20,7 +21,7 @@ export function listCmsActivity(query) {
})
}
// 2. 查询新闻资讯详细信息
// 2. 查询活动详细信息
export function getCmsActivity(businessId) {
return request({
url: '/cmsActivity/detail/' + businessId,
......@@ -28,7 +29,7 @@ export function getCmsActivity(businessId) {
})
}
// 3. 新增新闻资讯
// 3. 新增活动
export function addCmsActivity(data) {
data = Qs.stringify(data)
return request({
......@@ -38,7 +39,7 @@ export function addCmsActivity(data) {
})
}
// 4. 修改新闻资讯
// 4. 修改活动
export function updateCmsActivity(data) {
const businessId = data.businessId
data = Qs.stringify(data)
......@@ -49,7 +50,7 @@ export function updateCmsActivity(data) {
})
}
// 5. 逻辑删除新闻资讯
// 5. 逻辑删除活动
export function delCmsActivity(businessId) {
return request({
url: '/cmsActivity/delete/' + businessId,
......@@ -57,7 +58,7 @@ export function delCmsActivity(businessId) {
})
}
// 6. 导出新闻资讯
// 6. 导出活动
export function exportCmsActivity(query) {
return request({
url: '/cmsActivity/export',
......@@ -66,7 +67,7 @@ export function exportCmsActivity(query) {
responseType: 'blob'
})
}
// 7. 修改新闻资讯状态
// 7. 修改活动状态
export function updateStatus(data) {
const businessId = data.businessId
data = Qs.stringify(data)
......
......@@ -11,7 +11,7 @@ import Qs from 'qs'
*
*/
// 1. 查询新闻资讯列表
// 1. 查询公告列表
export function listCmsNotice(query) {
return request({
url: '/cmsNotice/queryCmsNoticeByPagination',
......@@ -20,7 +20,7 @@ export function listCmsNotice(query) {
})
}
// 2. 查询新闻资讯详细信息
// 2. 查询公告详细信息
export function getCmsNotice(businessId) {
return request({
url: '/cmsNotice/detail/' + businessId,
......@@ -28,7 +28,7 @@ export function getCmsNotice(businessId) {
})
}
// 3. 新增新闻资讯
// 3. 新增公告
export function addCmsNotice(data) {
data = Qs.stringify(data)
return request({
......@@ -38,7 +38,7 @@ export function addCmsNotice(data) {
})
}
// 4. 修改新闻资讯
// 4. 修改公告
export function updateCmsNotice(data) {
const businessId = data.businessId
data = Qs.stringify(data)
......@@ -49,7 +49,7 @@ export function updateCmsNotice(data) {
})
}
// 5. 逻辑删除新闻资讯
// 5. 逻辑删除公告
export function delCmsNotice(businessId) {
return request({
url: '/cmsNotice/delete/' + businessId,
......@@ -57,7 +57,7 @@ export function delCmsNotice(businessId) {
})
}
// 6. 导出新闻资讯
// 6. 导出公告
export function exportCmsNotice(query) {
return request({
url: '/cmsNotice/export',
......@@ -66,7 +66,7 @@ export function exportCmsNotice(query) {
responseType: 'blob'
})
}
// 7. 修改新闻资讯状态
// 7. 修改公告状态
export function updateStatus(data) {
const businessId = data.businessId
data = Qs.stringify(data)
......
......@@ -3,8 +3,8 @@ export { typeField, enableOrDisable, yesOrNo, isExam }
/** banner管理*/
/** 分类*/
const typeField = [
{ value: '0', label: '首页' },
{ value: '1', label: '活动' }
{ value: '1', label: '首页' },
{ value: '0', label: '活动' }
]
/** 启用、停用*/
const enableOrDisable = [
......@@ -14,8 +14,8 @@ const enableOrDisable = [
/** 是、否*/
const yesOrNo = [
{ value: 0, label: '是' },
{ value: 1, label: '否' }
{ value: 1, label: '是' },
{ value: 0, label: '否' }
]
const isExam = [
......
......@@ -53,14 +53,6 @@
:size="commonField.smallSize"
@click="handleAdd"
>{{ commonField.addName }}</el-button>
<!-- //新增按钮-->
<!-- <el-button-->
<!-- :class="commonField.addClass"-->
<!-- :type="commonField.typePrimary"-->
<!-- :icon="commonField.addIcon"-->
<!-- :size="commonField.smallSize"-->
<!-- @click="handleExamination"-->
<!-- >{{ "跳转考核临时" }}</el-button>-->
</el-form-item>
</div>
</el-form>
......@@ -76,14 +68,8 @@
</el-table-column>
<el-table-column align="center" prop="title" label="活动标题" min-width="230" show-overflow-tooltip />
<el-table-column align="center" label="封面" min-width="120" prop="pictureId">
<!-- <template slot-scope="scope">
<div :id="step(scope.$index)">
<el-image :src="scope.row.path" :preview-src-list="[scope.row.path]" style="width:100%;height:100%;" @mouseover="justEnter($event)" @mouseout="justOut($event)" />
</div>
</template>-->
<template slot-scope="scope">
<div :id="step(scope.$index)">
<!-- 修改 src 路径 -->
<el-image
:src="getImagePath(scope.row.path)"
:preview-src-list="[getImagePath(scope.row.path)]"
......@@ -94,14 +80,8 @@
</div>
</template>
</el-table-column>
<!-- <el-table-column align="left" prop="isForntPage" label="是否为头条活动" show-overflow-tooltip>-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.isForntPage === 1 ? '是' : '否' }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" prop="isTop" min-width="80" label="置顶" show-overflow-tooltip>
<template slot-scope="scope">
<!-- 只显示 isTop === 1 时,显示标签 -->
<el-tag v-if="scope.row.isTop === 1" type="success" size="medium ">置顶</el-tag>
</template>
<!-- <template slot-scope="scope">
......@@ -138,15 +118,7 @@
<template slot-scope="scope">
{{ numberFormatter(scope.row.applicationFee, 2) || '-' }}
</template>
<!-- <template slot-scope="scope">
<span>{{ scope.row.applicationFee }}</span>
</template>-->
</el-table-column>
<!-- <el-table-column align="center" prop="createUser" label="提交人" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.nickName }}</span>
</template>
</el-table-column>-->
<el-table-column align="center" prop="publishDate" label="发布日期" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.publishDate }}</span>
......@@ -154,20 +126,14 @@
</el-table-column>
<el-table-column align="center" prop="startTime" label="开始时间" min-width="180" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.startTime }}</span>
<span>{{ scope.row.startTime | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="endTime" label="结束时间" min-width="180" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.endTime }}</span>
<span>{{ scope.row.endTime | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>
</template>
</el-table-column>
<!-- <el-table-column align="left" prop="createDate" label="提交时间" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.createDate }}</span>
</template>
</el-table-column>-->
<el-table-column align="center" label="操作" min-width="150">
<template slot-scope="scope">
<el-button
......@@ -190,7 +156,6 @@
:size="commonField.size"
@click="removeCourse(scope.row)"
>删除</el-button>
<!-- <el-button type="text" @click="handleView(scope.row)">查看</el-button>-->
</template>
</el-table-column>
......@@ -328,12 +293,9 @@ import {
delCmsActivity,
listCmsActivity, updateStatus
} from '@/api/contentManagement/activity'
import { updateResponseUrl } from '@/utils/updateUrl'
import { error } from 'autoprefixer/lib/utils'
import { parseTime } from '@/utils'
import { getDataCache, setDataCache } from '@/assets/js/filterData'
import { listCmsApplication } from '@/api/contentManagement/application'
import { listCmsBanner } from '@/api/contentManagement/banner'
export default {
name: 'Index',
// components: {
......@@ -345,8 +307,6 @@ export default {
hasAddPerm: ['sys:activity:add'],
hasUpdatePerm: ['sys:activity:update'],
hasDetailPerm: ['sys:activity:query'],
/* imageSrc: require('@/assets/image/test.png'),*/
// 显示开关
showSwitch: {
courseContent: true,
......@@ -500,17 +460,6 @@ export default {
step(index) {
return 'step' + index
},
changPlate(data) {
if (data === '1') {
return '板块一'
}
if (data === '2') {
return '板块二'
}
if (data === '3') {
return '板块三'
}
},
/**
* @description: 点击蒙版关闭预览图片
* @author: gaoyu
......@@ -703,7 +652,6 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
console.log('我是修改')
this.$router.push({
path: '/contentManagement/activity/info',
query: {
......@@ -747,8 +695,12 @@ export default {
})
},
// 获取图片的正确路径
getImagePath() {
return require(`@/assets/image/testImage/test.png`)
getImagePath(path) {
// 返回图片路径
if (path) {
return path
}
return ''
},
// 封面图片预览
justEnter(event) {
......@@ -770,13 +722,6 @@ export default {
margin: 10px;
height: 45px;
}
/* ::v-deep .el-table .cell {
text-align: center !important;
}
::v-deep .el-table th .cell{
justify-content: center;
text-align: center !important;
}*/
}
app-container1{
font-size: 18px;
......@@ -787,41 +732,5 @@ app-container1{
height: 25px;
}
}
/*.courseContent{
!*padding-left: 15px;*!
width:100%;
height:100%;
::v-deep .el-table th .cell{
justify-content: left!important;
}
::v-deep .el-table td .cell{
margin: 10px 0 10px 0;
text-align: left!important;
}
}
#courseManage .table_box{
margin:0;
height:calc(100% - 175px);
}
#courseManage .el-table{height:100%;}
#courseManage .el-table__body-wrapper{
height:calc(100% - 40px);
overflow-x:hidden;
overflow-y:auto;
}
#courseManage .pages{margin-top:15px;}
#courseManage .breadNav{margin-left:0;}
#courseManage .search_area{margin:1em 0;}
#courseManage .info_change{margin-left:0;}
#courseManage .search_area div{width:190px;}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {-webkit-appearance: none;}
input[type="number"]{-moz-appearance: textfield;}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
margin: 0;
}*/
</style>
......@@ -68,11 +68,11 @@
<el-col :span="12">
<el-form-item
label="开放报名:"
prop="isRegistration"
prop="isApplication"
:rules="{ required: !(controls.isOperation === '3'), message: '请选择是否需要实名认证', trigger: 'change' }"
>
<el-select
v-model="form.isRegistration"
v-model="form.isApplication"
placeholder="请选择是否需要报名"
size="small"
class="normalInput"
......@@ -102,14 +102,32 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item
label="是否会员:"
prop="isNeedMember"
:rules="{ required: !(controls.isOperation === '3'), message: '请选择是否会员', trigger: 'change' }"
>
<el-select
v-model="form.isNeedMember"
placeholder="请选择是否会员"
size="small"
class="normalInput"
:disabled="secondFromDisabled"
>
<el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="发布日期:"
prop="releaseDate"
prop="publishDate"
:rules="{ required: !(controls.isOperation === '3'), message: '请选择发布日期', trigger: 'blur' }"
>
<el-date-picker
v-model="form.releaseDate"
v-model="form.publishDate"
type="date"
placeholder="选择发布日期"
:disabled="secondFromDisabled"
......@@ -119,22 +137,6 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="权重:"
prop="weight"
:rules="{ required: !(controls.isOperation === '3'), message: '请选择排序号', trigger: 'change' }"
>
<el-input-number
v-model.trim="form.weight"
style="width: 100%"
:disabled="secondFromDisabled"
controls-position="right"
placeholder="请选择排序号"
:min="0"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
......@@ -151,6 +153,7 @@
size="small"
class="normalInput"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
/>
</el-form-item>
</el-col>
......@@ -168,6 +171,7 @@
size="small"
class="normalInput"
value-format="yyyy-MM-dd HH:mm"
format="yyyy-MM-dd HH:mm"
/>
</el-form-item>
</el-col>
......@@ -208,11 +212,11 @@
<el-col :span="12">
<el-form-item
label="人数上限:"
prop="maximumApplication"
prop="maxApplicationCount"
:rules="{ required: !(controls.isOperation === '3'), message: '请输入人数上限', trigger: 'blur' }"
>
<el-input
v-model.trim="form.maximumApplication"
v-model.trim="form.maxApplicationCount"
:disabled="secondFromDisabled"
placeholder="请输入人数上限"
size="small"
......@@ -224,11 +228,11 @@
<el-col :span="12">
<el-form-item
label="报名费用:"
prop="registrationFee"
prop="applicationFee"
:rules="{ required: !(controls.isOperation === '3'), message: '请输入报名所需费用', trigger: 'blur' }"
>
<el-input
v-model.trim="form.registrationFee"
v-model.trim="form.applicationFee"
:disabled="secondFromDisabled"
placeholder="请输入报名所需费用"
size="small"
......@@ -245,20 +249,18 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item
label="是否会员:"
prop="sNeedMember"
:rules="{ required: !(controls.isOperation === '3'), message: '请选择是否会员', trigger: 'change' }"
label="权重:"
prop="weight"
:rules="{ required: !(controls.isOperation === '3'), message: '请选择排序号', trigger: 'change' }"
>
<el-select
v-model="form.sNeedMember"
placeholder="请选择是否会员"
size="small"
class="normalInput"
<el-input-number
v-model.trim="form.weight"
style="width: 100%"
:disabled="secondFromDisabled"
>
<el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
controls-position="right"
placeholder="请选择排序号"
:min="0"
/>
</el-form-item>
</el-col>
</el-row>
......@@ -280,33 +282,12 @@
:auto-upload="true"
:limit="8"
>
<!-- <img v-if="imageUrl" :src="imageUrl" style="height: 200px;width: 200px">-->
<i class="el-icon-plus avatar-uploader-icon" />
</el-upload>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="24">
<el-form-item
label="活动摘要:"
prop="summary"
:rules="{ required: !(controls.isOperation === '3'), message: '请输入活动简介', trigger: 'blur' }"
>
<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="24">
<el-form-item
......@@ -344,12 +325,9 @@ import {
addCmsActivity,
getCmsActivity, updateCmsActivity
} from '@/api/contentManagement/activity'
import { updateResponseUrl } from '@/utils/updateUrl'
import { VueEditor } from 'vue2-editor'
import { yesOrNo, enableOrDisable } from '@/utils/allPageData'
import {uploadPublic} from "@/api/system/ossInfo";
/* import { uploadPublic } from '@/api/contentManagement/sysContest'*/
import { uploadPublic } from '@/api/system/ossInfo'
export default {
components: {
VueEditor
......@@ -362,21 +340,6 @@ export default {
isOperation: null,
// 变更字段存储数组
formChanges: [],
// 板块选择框
plateOptions: [
{
label: '板块一',
value: '1'
},
{
label: '板块二',
value: '2'
},
{
label: '板块三',
value: '3'
}
],
customToolbar: [
['bold', 'italic', 'underline', 'strike'], // 加粗 斜体 下划线 删除线 -----['bold', 'italic', 'underline', 'strike']
['blockquote', 'code-block'], // 引用 代码块-----['blockquote', 'code-block']
......@@ -398,55 +361,34 @@ export default {
// 1:代表新增 2:代表编辑 3:代表查看
isOperation: '1'
},
// 是否List
/* isList: [
{
label: '是',
value: 1
},
{
label: '否',
value: 0
}
],*/
fileUpload: '/dev-api/common/fileUpload?file=' + this.file + '&temp=' + 'activity',
// 提交表单
form: {
// 主表id
businessId: undefined,
createBy: undefined,
createDate: undefined,
deptId: undefined,
deptTwoId: undefined,
activityName: undefined,
flag: undefined,
photoossId: undefined,
summary: undefined,
weight: undefined,
// isForntPage: undefined,
isRecommended: undefined,
isTop: undefined,
isRegistration: undefined,
isAuthentication: undefined,
registrationFee: '0.00'
businessId: null,
title: null,
isApplication: null,
publishDate: null,
flag: null,
startTime: null,
endTime: null,
weight: null,
maleCount: null,
femaleCount: null,
maxApplicationCount: null,
applicationFee: '0.00',
isRecommended: null,
isTop: null,
isRegistration: null,
isAuthentication: null,
isNeedMember: null,
pictureId: null,
details: null
},
fileList: [],
dialogImageUrl: '',
dialogVisible: false,
yesOrNo,
enableOrDisable,
// 状态
statusOptions: [
{
label: '启用',
value: '1'
},
{
label: '停用',
value: '0'
}
],
// 校验规则
rules: {
startDateS: [],
......@@ -500,6 +442,9 @@ export default {
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({
url: response.data.url,
name: response.data.activityName,
......@@ -514,12 +459,14 @@ export default {
// 判断是新增、编辑还是查看
if (isOperation === '1') {
// 新增时,默认置顶为'否'(value: '0')
// 新增时,默认置顶为'是'(value: '1')
this.form.isRecommended = 1
this.form.isTop = 1
this.form.isRegistration = 1
this.form.isAuthentication = 1
this.form.flag = '停用'
this.form.isApplication = 1
this.form.isNeedMember = 1
this.form.flag = '0'
}
},
queryRules() {
......@@ -532,7 +479,7 @@ export default {
* @param:
* @return:
**/
/* handleUpload(file) {
handleUpload(file) {
const formData = new FormData()
formData.append('file', file.file)
formData.append('temp', 'newInformation')
......@@ -560,7 +507,7 @@ export default {
// resetUploader()
// } else { }
// })
},*/
},
// 查询详情
getDetail() {
......@@ -568,24 +515,11 @@ export default {
if (this.$route.query.bussinessId) {
getCmsActivity(this.$route.query.bussinessId).then(response => {
if (response.code === 200) {
// 处理data数据里的url
if (this.$store.getters.type === '1') { // 开启
if (response.data.path !== undefined) {
const newUrl = updateResponseUrl(response.data.path)
response.data.path = newUrl
}
if (response.data.url !== undefined) {
const newUrl = updateResponseUrl(response.data.url)
response.data.url = newUrl
}
if (response.data.avatarUrl !== undefined) {
const newUrl = updateResponseUrl(response.data.avatarUrl)
response.data.avatarUrl = newUrl
}
}
// console.log('res.data:', res.data)
this.form = response.data
this.imageUrl = response.data.path
const param = {
url: response.data.path
}
this.fileList.push(param)
}
})
}
......@@ -622,34 +556,31 @@ export default {
},
// 保存方法
submit() {
// 拷贝form
const form = JSON.parse(JSON.stringify(this.form))
// 转换时间格式
this.$refs.deviceFormRef.validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
if (this.form.businessId !== null) {
// 编辑
updateCmsActivity(form).then(res => {
console.log('编辑打印',this.form)
updateCmsActivity(this.form).then(res => {
if (res.code === 200) {
this.$message({
message: '保存成功',
type: 'success'
})
this.$router.push({
path: '/contentManagement/activity/index'
path: '/contentManagement/activity'
})
}
})
} else {
addCmsActivity(form).then(res => {
addCmsActivity(this.form).then(res => {
if (res.code === 200) {
this.$message({
message: '保存成功',
type: 'success'
})
this.$router.push({
path: '/contentManagement/activity/index'
path: '/contentManagement/activity'
})
}
})
......@@ -659,16 +590,14 @@ export default {
},
// 发布方法
publish() {
// 拷贝form
const form = JSON.parse(JSON.stringify(this.form))
// 转换时间格式
this.pubLoading = true
this.$refs.deviceFormRef.validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
if (this.form.businessId !== null) {
// 编辑
form.flag = '1'
updateCmsActivity(form).then(res => {
console.log('编辑打印',this.form)
this.form.flag = '1'
updateCmsActivity(this.form).then(res => {
if (res.code === 200) {
this.$message({
message: '保存成功',
......@@ -676,15 +605,15 @@ export default {
})
this.pubLoading = false
this.$router.push({
path: '/contentManagement/activity/index'
path: '/contentManagement/activity'
})
}
}).catch(() => {
this.pubLoading = false
})
} else {
form.flag = '1'
addCmsActivity(form).then(res => {
this.form.flag = '1'
addCmsActivity(this.form).then(res => {
if (res.code === 200) {
this.$message({
message: '保存成功',
......@@ -692,7 +621,7 @@ export default {
})
this.pubLoading = false
this.$router.push({
path: '/contentManagement/activity/index'
path: '/contentManagement/activity'
})
}
}).catch(() => {
......@@ -716,19 +645,10 @@ export default {
overflow: hidden;
}
::v-deep.avatar-uploader .el-upload:hover {
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
/*::v-deep.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}*/
::v-deep.avatar {
width: 178px;
height: 178px;
......
......@@ -67,22 +67,6 @@
</div>
</template>
</el-table-column>
<!-- <template slot-scope="scope">
<div :id="step(scope.$index)">
<el-image
style="width:100%;height:100%;"
:src="scope.row.url"
:preview-src-list="[scope.row.url]"
@click="handleClickStop(scope.$index)"
@mouseover="justEnter($event)"
@mouseout="justOut($event)"
>
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline" />
</div>
</el-image>
</div>
</template>-->
<el-table-column align="center" label="分类" prop="type" :show-overflow-tooltip="true" min-width="80">
<template slot-scope="scope">
<span v-if="scope.row.type=='0'">首页</span>
......@@ -152,12 +136,12 @@
</el-select>
</el-form-item>
<el-form-item label="名称:" prop="bannerName">
<el-input v-model.trim="form.bannerName" show-word-limit :maxlength="500" placeholder="请输入banner名字"/>
<el-input v-model.trim="form.bannerName" show-word-limit :maxlength="500" placeholder="请输入banner名字" />
</el-form-item>
<el-form-item label="封面:" prop="pictureId">
<el-upload
accept=".png,.jpg,.jpeg,.PNG,.JPG,.JPEG"
ref="upload"
accept=".png,.jpg,.jpeg,.PNG,.JPG,.JPEG"
:file-list="fileList"
list-type="picture-card"
class="avatar-uploader"
......@@ -170,11 +154,11 @@
:auto-upload="true"
:limit="8"
>
<i class="el-icon-plus avatar-uploader-icon"/>
<i class="el-icon-plus avatar-uploader-icon" />
</el-upload>
</el-form-item>
<el-form-item label="排序:" prop="weight">
<el-input-number v-model.trim="form.weight" style="width: 100%" controls-position="right" :min="0"/>
<el-form-item label="权重:" prop="weight">
<el-input-number v-model.trim="form.weight" style="width: 100%" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="状态:">
<el-radio-group v-model="form.flag" style="width: 100%">
......@@ -199,12 +183,12 @@
<script>
import {
addCmsBanner,
delCmsBanner, exportCmsBanner,
delCmsBanner,
getCmsBanner,
listCmsBanner,
updateCmsBanner
} from '@/api/contentManagement/banner'
import {typeField, enableOrDisable} from '@/utils/allPageData'
import { typeField, enableOrDisable } from '@/utils/allPageData'
import commonField from '@/utils/commonField'
import {uploadPublic} from "@/api/system/ossInfo";
......@@ -217,9 +201,6 @@ export default {
courseContent: true,
curCat: false
},
imageUrl: '',
/* fileUpload: '/dev-api/common/fileUpload?file=' + this.file + '&temp=' + 'development',*/
// 遮罩层
loading: true,
// 总条数
......@@ -230,17 +211,6 @@ export default {
title: '',
// 是否显示弹出层
open: false,
// 状态菜单
statusOptions: [
{
dictLabel: '启用',
dictValue: '1'
},
{
dictLabel: '停用',
dictValue: '0'
}
],
// 查询参数
queryParams: {
page: 1,
......@@ -264,15 +234,13 @@ export default {
// 表单校验
rules: {
bannerName: [
{required: true, message: '请输入名称', trigger: 'blur'}
{ required: true, message: '请输入名称', trigger: 'blur' }
],
type: [
{required: true, message: '请选择类型'}
{ required: true, message: '请选择类型', trigger: 'change' }
],
weight: [
{required: true, message: '请输入排序'}
{ required: true, message: '请输入权重', trigger: 'change' }
]
}
......@@ -287,12 +255,13 @@ export default {
this.getList() // 列表查询
},
methods: {
// 上传
/** 上传 */
handlePreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
handleFileRemoveBefore(file, fileList) {
console.log('filebusinessId', file)
return this.$confirm(`确定移除该图片吗?`)
},
handleUploadRemoveFake(file, fileList) {
......@@ -326,31 +295,13 @@ export default {
justOut(event) {
// 鼠标离开时的操作
},
/**
* @description: 点击蒙版关闭预览图片
* @author: gaoyu
* @param: imageId
* @return:
**/
handleClickStop(imageId) {
this.$nextTick(() => {
var domImageView = document.querySelector(`#${this.step(imageId)} .el-image-viewer__mask`)
if (!domImageView) {
return
}
var closeButton = document.querySelector(`#${this.step(imageId)} .el-image-viewer__close`)
domImageView.addEventListener('click', () => {
closeButton.click()
})
})
},
/**
* @description: 处理上传接口
* @author: gaoyu
* @param:
* @return:
**/
handleUpload(file) {
/* handleUpload(file) {
// 获取上传的文件
const formData = new FormData()
formData.append('file', file.file)
......@@ -361,7 +312,7 @@ export default {
// 假设你将本地路径保存到 form.pictureId 中
this.imageUrl = localPath // 显示图片路径
this.form.pictureId = localPath // 保存到表单字段中
},
},*/
/* handleUpload(file) {
const formData = new FormData()
formData.append('file', file.file)
......@@ -373,12 +324,13 @@ export default {
this.form.pictureId = res.data.businessId
})
},*/
handleAvatarSuccess(res, file) {
/* handleAvatarSuccess(res, file) {
console.log('res', res)
// this.imageUrl = URL.createObjectURL(file.raw)
// this.form.pictureId = res.data.businessId
// this.form.url = res.data.url
},
},*/
beforeAvatarUpload(file) {
// this.file = file
// 判断文件是否为图片类型
......@@ -414,24 +366,25 @@ export default {
}
)
},
// 取消按钮
/** 取消按钮 */
cancel() {
this.open = false
this.reset()
},
// 表单重置
/** 表单重置 */
reset() {
this.fileList = []
this.form = {
businessId: undefined,
pictureId: undefined,
bannerName: undefined,
type: undefined,
weight: undefined,
remarks: undefined,
path: undefined,
businessId: null,
pictureId: null,
bannerName: null,
type: '1',
weight: null,
remarks: null,
path: null,
flag: '1'
}
this.resetForm('form')
this.fileList = []
},
/** 查询按钮操作 */
handleQuery() {
......@@ -443,20 +396,19 @@ export default {
this.queryParams = {
page: 1,
rows: 10,
pictureId: undefined,
bannerName: undefined,
type: undefined,
weight: undefined,
path: undefined,
pictureId: null,
bannerName: null,
type: null,
weight: null,
path: null,
flag: ''
}
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
this.imageUrl = null
this.fileList = null
this.reset()
console.log('this', this.form)
this.open = true
this.title = '添加banner'
},
......@@ -470,7 +422,7 @@ export default {
url: response.data.path
}
this.fileList.push(param)
console.log("hhahaah",this.fileList)
console.log('hhahaah', this.fileList)
this.open = true
this.title = '修改banner'
})
......@@ -482,38 +434,59 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function () {
}).then(function() {
return updateCmsBanner(row)
}).then(() => {
this.$message({
message: text + '成功',
type: 'success'
})
}).catch(function () {
}).catch(function() {
row.flag = row.flag === '0' ? '1' : '0'
})
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
// 先验证表单
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
// 获取表单中的权重值
const weight = this.form.weight
const pictureId = this.form.pictureId
// 如果权重为 0,提示用户选择有效权重
if (weight === 0) {
this.$message.error('请选择有效的权重值')
return
}
// 检查当前 weight 是否与已获取的列表中的 weight 重复
const isWeightExists = this.cmsBannerList.some(banner => banner.weight === weight)
const isPictureIdExists = this.cmsBannerList.some(banner => banner.pictureId === pictureId)
if (isPictureIdExists && isWeightExists) {
// 如果重复,提醒用户并阻止继续提交
this.$message.error('该权重值已经存在,请选择其他权重')
return // 停止提交
}
// 权重不重复,继续新增或修改
if (this.form.businessId !== null) {
// 修改操作
updateCmsBanner(this.form).then(response => {
this.msgSuccess('修改成功')
this.open = false
this.getList()
this.getList() // 更新列表
}).catch(error => {
this.$message.error('修改失败')
})
}else {
// 确保 pictureId 已经从 fileList 中获得正确的 businessId
if (this.form.pictureId) {
addCmsBanner(this.form).then(response => {
this.msgSuccess('新增成功');
this.open = false;
this.getList();
});
} else {
this.$message.warning('请上传封面图片');
}
// 新增操作
addCmsBanner(this.form).then(response => {
this.msgSuccess('新增成功')
this.open = false
this.getList() // 更新列表
}).catch(error => {
this.$message.error('新增失败')
})
}
}
})
......@@ -525,7 +498,7 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function () {
}).then(function() {
return delCmsBanner(id)
}).then(() => {
this.getList()
......@@ -533,7 +506,7 @@ export default {
message: '删除成功',
type: 'success'
})
}).catch(function () {
}).catch(function() {
})
},
async handleUploadBeforeFake(file) {
......@@ -546,7 +519,7 @@ export default {
formData.append('temp', 'CmsBanner')
try {
// 发起上传请求
const response = await uploadPublic(formData);
const response = await uploadPublic(formData)
// 获取返回的 businessId,并更新 form.pictureId
const businessId = response.data.businessId
......@@ -557,10 +530,9 @@ export default {
url: response.data.url,
name: response.data.bannerName,
businessId: businessId
});
})
} catch (error) {
console.error('上传失败:', error);
console.error('上传失败:', error)
}
},
/** 导出按钮操作 */
......@@ -570,7 +542,7 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function () {
}).then(function() {
return exportCmsBanner(queryParams).then(response => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
......@@ -586,7 +558,7 @@ export default {
}
}
}
</script>
</script>s
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
......@@ -599,17 +571,6 @@ export default {
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
/*.avatar-uploader-icon {
font-size: 30px;
color: #8c939d;
width: 180px;
height: 180px;
line-height: 178px;
text-align: center;
border: 1px solid #dcdfe6;
}*/
.app-container {
font-size: 18px;
padding: 0;
......@@ -618,13 +579,5 @@ export default {
margin: 10px;
height: 45px;
}
/* ::v-deep .el-table .cell {
text-align: center !important;
}
::v-deep .el-table th .cell{
justify-content: center;
text-align: center !important;
}*/
}
</style>
......@@ -67,26 +67,21 @@
</template>
</el-table-column>
<el-table-column align="center" prop="title" label="公告标题" min-width="200" show-overflow-tooltip />
<el-table-column align="center" label="封面" min-width="120" prop="pictureId">
<!-- <template slot-scope="scope">
<div :id="step(scope.$index)">
<el-image :src="scope.row.path" :preview-src-list="[scope.row.path]" style="width:100%;height:100%;" @mouseover="justEnter($event)" @mouseout="justOut($event)" />
</div>
</template>-->
<el-table-column align="center" label="图片" prop="pictureId" min-width="120">
<template slot-scope="scope">
<div :id="step(scope.$index)">
<!-- 修改 src 路径 -->
<el-image
:src="getImagePath(scope.row.path)"
:preview-src-list="[getImagePath(scope.row.path)]"
style="width:100%;height:100%;"
@mouseover="justEnter($event)"
@mouseout="justOut($event)" />
@mouseout="justOut($event)"
/>
</div>
</template>
</el-table-column>
<el-table-column align="left" prop="isTop" min-width="80" label="置顶" show-overflow-tooltip>
<!-- <template slot-scope="scope">
<!-- <template slot-scope="scope">
<span>{{ scope.row.isTop === 1 ? '是' : '否' }}</span>
</template>-->
<template slot-scope="scope">
......@@ -114,7 +109,7 @@
/>
</template>
</el-table-column>
<!-- <el-table-column align="left" prop="createUser" label="提交人" show-overflow-tooltip>
<!-- <el-table-column align="left" prop="createUser" label="提交人" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.nickName }}</span>
</template>
......@@ -124,7 +119,7 @@
<span>{{ scope.row.publishDate }}</span>
</template>
</el-table-column>
<!-- <el-table-column align="left" prop="createDate" label="提交时间" show-overflow-tooltip>
<!-- <el-table-column align="left" prop="createDate" label="提交时间" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.createDate }}</span>
</template>
......@@ -159,8 +154,8 @@
</el-table>
</div>
<pagination
:key="pageKey"
v-show="total>0"
:key="pageKey"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
......@@ -177,11 +172,8 @@ import {
delCmsNotice,
listCmsNotice, updateStatus
} from '@/api/contentManagement/notice'
import { updateResponseUrl } from '@/utils/updateUrl'
import { error } from 'autoprefixer/lib/utils'
import { parseTime } from '@/utils'
import { getDataCache, setDataCache } from '@/assets/js/filterData'
import { listCmsActivity } from '@/api/contentManagement/activity'
export default {
name: 'Index',
// components: {
......@@ -193,8 +185,6 @@ export default {
hasAddPerm: ['sys:notice:add'],
hasUpdatePerm: ['sys:notice:update'],
hasDetailPerm: ['sys:notice:query'],
/* imageSrc: require('@/assets/image/test.png'),*/
// 显示开关
showSwitch: {
courseContent: true,
......@@ -216,10 +206,8 @@ export default {
formLabelWidth: '90px',
// 表格
tableData: [],
lineindex: 0,
teacode: '',
// edit form
labelPosition: 'right',
formLabelAlign: {
......@@ -231,21 +219,6 @@ export default {
},
// 日期范围
dateRange: [],
// 板块选择框
plateOptions: [
{
label: '板块一',
value: '1'
},
{
label: '板块二',
value: '2'
},
{
label: '板块三',
value: '3'
}
],
// 发布状态
releaseStatusOptions: [
{
......@@ -257,30 +230,18 @@ export default {
value: '0'
}
],
// 上传提交
uploadList: {
fm: ''
},
// search area
courseid: '',
coursename: '',
queryParams: {
page: 1,
rows: 10,
flag: ''
},
// pagination
total: 0,
actionUrl: '',
filelist: [],
bussid: [],
fullscreenLoading: false,
curCatForm: {
},
tableDataTips: '加载中'
}
},
......@@ -302,7 +263,7 @@ export default {
vm.queryParams.page = JSON.parse(getDataCache(vm.$route.path)).page
setTimeout(() => {
vm.loadData()
},500)
}, 500)
}
})
},
......@@ -316,17 +277,6 @@ export default {
step(index) {
return 'step' + index
},
changPlate(data) {
if (data === '1') {
return '板块一'
}
if (data === '2') {
return '板块二'
}
if (data === '3') {
return '板块三'
}
},
/**
* @description: 点击蒙版关闭预览图片
* @author: gaoyu
......@@ -470,8 +420,12 @@ export default {
},
// 获取图片的正确路径
getImagePath() {
return require(`@/assets/image/testImage/test.png`)
getImagePath(path) {
// 返回图片路径
if (path) {
return path
}
return ''
},
// 封面图片预览
justEnter(event) {
......
......@@ -28,20 +28,7 @@
</el-col>
</el-row>
<el-row :gutter="20">
<!-- <el-col :span="12">-->
<!-- &lt;!&ndash; 是否为头条新闻&ndash;&gt;-->
<!-- <el-form-item-->
<!-- label="是否为头条新闻:"-->
<!-- prop="isForntPage"-->
<!-- :rules="{ required: !(controls.isOperation === '3'), message: '请选择是否为头条新闻', trigger: 'blur' }"-->
<!-- >-->
<!-- <el-select v-model="form.isForntPage" placeholder="请选择是否为头条新闻" size="small" class="normalInput" :disabled="secondFromDisabled">-->
<!-- <el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="12">
<!-- 是否推荐-->
<el-form-item
label="是否推荐:"
prop="isRecommended"
......@@ -70,11 +57,11 @@
<el-col :span="12">
<el-form-item
label="发布日期:"
prop="releaseDate"
prop="publishDate"
:rules="{ required: !(controls.isOperation === '3'), message: '请选择发布日期', trigger: 'blur' }"
>
<el-date-picker
v-model="form.releaseDate"
v-model="form.publishDate"
type="date"
placeholder="选择发布日期"
:disabled="secondFromDisabled"
......@@ -84,13 +71,22 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="权重:"
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-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="公告封面:" prop="pictureId">
<el-upload
accept=".png,.jpg,.jpeg,.PNG,.JPG,.JPEG"
ref="upload"
accept=".png,.jpg,.jpeg,.PNG,.JPG,.JPEG"
:file-list="fileList"
list-type="picture-card"
class="avatar-uploader"
......@@ -103,31 +99,11 @@
:auto-upload="true"
:limit="8"
>
<i class="el-icon-plus avatar-uploader-icon"/>
<i class="el-icon-plus avatar-uploader-icon" />
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
label="公告摘要:"
prop="summary"
:rules="{ required: !(controls.isOperation === '3'), message: '请输入公告简介', trigger: 'blur' }"
>
<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="24">
<el-form-item
......@@ -163,8 +139,7 @@ import {
import { updateResponseUrl } from '@/utils/updateUrl'
import { VueEditor } from 'vue2-editor'
import { yesOrNo, enableOrDisable } from '@/utils/allPageData'
import {uploadPublic} from "@/api/system/ossInfo";
/* import { uploadPublic } from '@/api/contentManagement/sysContest'*/
import { uploadPublic } from '@/api/system/ossInfo'
export default {
components: {
......@@ -221,33 +196,21 @@ export default {
// 提交表单
form: {
// 主表id
businessId: undefined,
createBy: undefined,
createDate: undefined,
deptId: undefined,
deptTwoId: undefined,
noticeName: undefined,
flag: undefined,
photoossId: undefined,
summary: undefined,
weight: undefined,
// isForntPage: undefined,
isRecommended: undefined,
isTop: undefined
businessId: null,
createBy: null,
createDate: null,
deptId: null,
deptTwoId: null,
noticeName: null,
flag: null,
photoossId: null,
summary: null,
weight: null,
isRecommended: null,
isTop: null
},
yesOrNo,
enableOrDisable,
// 状态
statusOptions: [
{
label: '启用',
value: '1'
},
{
label: '停用',
value: '0'
}
],
// 校验规则
rules: {
startDateS: [],
......@@ -301,7 +264,7 @@ export default {
formData.append('temp', 'CmsNotice')
try {
// 发起上传请求
const response = await uploadPublic(formData);
const response = await uploadPublic(formData)
// 获取返回的 businessId,并更新 form.pictureId
const businessId = response.data.businessId
......@@ -312,10 +275,9 @@ export default {
url: response.data.url,
name: response.data.noticeName,
businessId: businessId
});
})
} catch (error) {
console.error('上传失败:', error);
console.error('上传失败:', error)
}
},
setFormDefaults() {
......@@ -375,7 +337,10 @@ export default {
getCmsNotice(this.$route.query.bussinessId).then(response => {
if (response.code === 200) {
this.form = response.data
this.imageUrl = response.data.path
const param = {
url: response.data.path
}
this.fileList.push(param)
}
})
}
......@@ -418,7 +383,7 @@ export default {
this.$refs.deviceFormRef.validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
if (this.form.businessId !== null) {
// 编辑
updateCmsNotice(form).then(res => {
if (res.code === 200) {
......@@ -427,7 +392,7 @@ export default {
type: 'success'
})
this.$router.push({
path: '/contentManagement/activity/index'
path: '/contentManagement/notice'
})
}
})
......@@ -439,7 +404,7 @@ export default {
type: 'success'
})
this.$router.push({
path: '/contentManagement/activity/index'
path: 'contentManagement/notice'
})
}
})
......@@ -455,8 +420,9 @@ export default {
this.pubLoading = true
this.$refs.deviceFormRef.validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
if (this.form.businessId !== null) {
// 编辑
console.log('编辑打印',form)
form.flag = '1'
updateCmsNotice(form).then(res => {
if (res.code === 200) {
......@@ -466,7 +432,7 @@ export default {
})
this.pubLoading = false
this.$router.push({
path: '/contentManagement/activity/index'
path: '/contentManagement/notice'
})
}
}).catch(() => {
......@@ -482,7 +448,7 @@ export default {
})
this.pubLoading = false
this.$router.push({
path: '/contentManagement/activity/index'
path: '/contentManagement/notice'
})
}
}).catch(() => {
......@@ -505,17 +471,17 @@ export default {
position: relative;
overflow: hidden;
}
::v-deep.avatar-uploader .el-upload:hover {
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
::v-deep.avatar-uploader-icon {
/*::v-deep.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
}*/
::v-deep.avatar {
width: 178px;
height: 178px;
......
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