|
@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<a-modal
|
|
|
title="编辑定时任务"
|
|
|
title="编辑banner"
|
|
|
:width="900"
|
|
|
:visible="visible"
|
|
|
:confirmLoading="confirmLoading"
|
|
@ -12,7 +12,7 @@
|
|
|
<a-form-item
|
|
|
style="display: none;"
|
|
|
>
|
|
|
<a-input v-decorator="['id']" />
|
|
|
<a-input v-decorator="['bannerId']" />
|
|
|
</a-form-item>
|
|
|
<a-form-item label="名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
|
|
|
<a-input
|
|
@ -21,15 +21,15 @@
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
<a-form-item label="跳转方式" :labelCol="labelCol" :wrapperCol="wrapperCol" :required="true">
|
|
|
<a-radio-group name="bannerType" v-decorator="['bannerType', { initialValue: 1 }]">
|
|
|
<a-radio :value="1">无</a-radio>
|
|
|
<a-radio :value="2">站内文章</a-radio>
|
|
|
<a-radio :value="3">外部链接</a-radio>
|
|
|
<a-radio-group name="bannerType" v-decorator="['bannerType']" @change="changeType">
|
|
|
<a-radio :value="0">无</a-radio>
|
|
|
<a-radio :value="1">站内文章</a-radio>
|
|
|
<a-radio :value="2">外部链接</a-radio>
|
|
|
</a-radio-group>
|
|
|
</a-form-item>
|
|
|
<a-form-item
|
|
|
:required="true"
|
|
|
v-if="bannerType==2"
|
|
|
v-show="bannerType==1"
|
|
|
label="选择文章"
|
|
|
:labelCol="labelCol"
|
|
|
:wrapperCol="wrapperCol"
|
|
@ -38,18 +38,18 @@
|
|
|
<a-select
|
|
|
style="width: 100%"
|
|
|
placeholder="请选择文章"
|
|
|
v-decorator="['bannerTypeUrl', {rules: [{ required: true, message: '请选择文章!' }]}]"
|
|
|
v-decorator="['bannerTypeUrl', {rules: [{validator: checkUrl}]}]"
|
|
|
>
|
|
|
<a-select-option
|
|
|
v-for="(item,index) in actionClassData"
|
|
|
:key="index"
|
|
|
:value="item"
|
|
|
>{{ item }}</a-select-option>
|
|
|
:value="item.articleContentId"
|
|
|
>{{ item.articleContentTitle }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
|
<a-form-item
|
|
|
:required="true"
|
|
|
v-if="bannerType==3"
|
|
|
v-show="bannerType==2"
|
|
|
label="跳转链接Url"
|
|
|
:labelCol="labelCol"
|
|
|
:wrapperCol="wrapperCol"
|
|
@ -95,7 +95,7 @@
|
|
|
/>
|
|
|
</a-form-item>
|
|
|
<a-form-item label="是否上线" :labelCol="labelCol" :wrapperCol="wrapperCol" :required="true">
|
|
|
<a-radio-group name="bannerIsLine" v-decorator="['bannerIsLine',{ initialValue: 1 }]">
|
|
|
<a-radio-group name="bannerIsLine" v-decorator="['bannerIsLine']">
|
|
|
<a-radio :value="1">上线</a-radio>
|
|
|
<a-radio :value="0">下线</a-radio>
|
|
|
</a-radio-group>
|
|
@ -127,7 +127,7 @@ import { checkUrl } from '@/utils/util'
|
|
|
actionClassData: [],
|
|
|
formLoading: false,
|
|
|
form: this.$form.createForm(this),
|
|
|
bannerType: 3,
|
|
|
bannerType: 0,
|
|
|
remarkTxt: '请上传1920×712规格图像'
|
|
|
}
|
|
|
},
|
|
@ -136,11 +136,14 @@ import { checkUrl } from '@/utils/util'
|
|
|
edit (record) {
|
|
|
this.visible = true
|
|
|
this.formLoading = true
|
|
|
// this.getActionClass()
|
|
|
this.getActionClass()
|
|
|
setTimeout(() => {
|
|
|
if (record.bannerType === 1) {
|
|
|
record.bannerTypeUrl = JSON.parse(record.bannerTypeUrl).articleContentId
|
|
|
}
|
|
|
this.form.setFieldsValue(
|
|
|
{
|
|
|
id: record.id,
|
|
|
bannerId: record.bannerId,
|
|
|
bannerName: record.bannerName,
|
|
|
bannerImage: record.bannerImage,
|
|
|
bannerIsLine: record.bannerIsLine,
|
|
@ -150,19 +153,21 @@ import { checkUrl } from '@/utils/util'
|
|
|
}
|
|
|
)
|
|
|
this.bannerType = record.bannerType
|
|
|
this.$refs.upLoadRef.initData([record.bannerImage])
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.upLoadRef.initData([record.bannerImage])
|
|
|
})
|
|
|
}, 100)
|
|
|
},
|
|
|
/**
|
|
|
* 获取选择器下拉框数据
|
|
|
*/
|
|
|
getActionClass () {
|
|
|
homeApi.findArticleContentById().then((res) => {
|
|
|
homeApi.findArticleAll().then((res) => {
|
|
|
this.formLoading = false
|
|
|
if (res.success) {
|
|
|
if (res.status === 200) {
|
|
|
this.actionClassData = res.data
|
|
|
} else {
|
|
|
this.$message.error('获取选择器下拉框数据')
|
|
|
this.$message.error('获取文章列表数据失败')
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@ -171,8 +176,12 @@ import { checkUrl } from '@/utils/util'
|
|
|
this.confirmLoading = true
|
|
|
validateFields((errors, values) => {
|
|
|
if (!errors) {
|
|
|
values.bannerSort = parseInt(values.bannerSort)
|
|
|
if (!values.bannerTypeUrl) {
|
|
|
values.bannerTypeUrl = ''
|
|
|
}
|
|
|
homeApi.updateBanner(values).then((res) => {
|
|
|
if (res.success) {
|
|
|
if (res.status === 200) {
|
|
|
this.$message.success('编辑成功')
|
|
|
this.visible = false
|
|
|
this.confirmLoading = false
|
|
@ -194,33 +203,50 @@ import { checkUrl } from '@/utils/util'
|
|
|
this.visible = false
|
|
|
},
|
|
|
changeType (val) {
|
|
|
this.bannerType = this.form.getFieldValue('bannerType')
|
|
|
this.$nextTick(() => {
|
|
|
this.bannerType = this.form.getFieldValue('bannerType')
|
|
|
this.form.resetFields('bannerTypeUrl')
|
|
|
if (this.bannerType === 2) {
|
|
|
this.form.setFieldsValue({ 'bannerTypeUrl': 'http://' })
|
|
|
} else {
|
|
|
this.form.setFieldsValue({ 'bannerTypeUrl': '' })
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
uploadSuccess (avg) {
|
|
|
if (avg.fileList[0]) {
|
|
|
this.form.setFieldsValue({ 'bannerImage': avg.fileList[0].url })
|
|
|
this.form.resetFields('bannerImage')
|
|
|
this.form.setFieldsValue({ 'bannerImage': avg.fileList[0].uri })
|
|
|
}
|
|
|
},
|
|
|
checkimageUrl (rule, value, callback) {
|
|
|
callback()
|
|
|
// return false
|
|
|
// if (value && value.length > 0) {
|
|
|
// callback()
|
|
|
// return
|
|
|
// }
|
|
|
// var text = '请上传图片'
|
|
|
// callback(text)
|
|
|
if (value && value.length > 0) {
|
|
|
callback()
|
|
|
return
|
|
|
}
|
|
|
var text = '请上传图片'
|
|
|
callback(text)
|
|
|
},
|
|
|
checkUrl (rule, value, callback) {
|
|
|
var text = '请输入跳转链接!'
|
|
|
if (!value) {
|
|
|
callback(text)
|
|
|
} else if (checkUrl(value)) {
|
|
|
callback()
|
|
|
if (this.bannerType === 1) {
|
|
|
text = '请选择文章!'
|
|
|
if (!value) {
|
|
|
callback(text)
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
|
} else if (this.bannerType === 2) {
|
|
|
if (!value) {
|
|
|
callback(text)
|
|
|
} else if (checkUrl(value)) {
|
|
|
callback()
|
|
|
} else {
|
|
|
text = '请输入正确的url地址'
|
|
|
callback(text)
|
|
|
}
|
|
|
} else {
|
|
|
text = '请输入正确的url地址'
|
|
|
callback(text)
|
|
|
callback()
|
|
|
}
|
|
|
},
|
|
|
checkSortIndex (rule, value, callback) {
|