Browse Source

新闻与类别页面调整

master
yujintao 6 years ago
parent
commit
a3edffbd5f
  1. 63
      src/views/modules/news/news-publish.vue
  2. 45
      src/views/modules/news/newscategory-add-or-update.vue

63
src/views/modules/news/news-publish.vue

@ -5,7 +5,9 @@
<el-form :inline="true" <el-form :inline="true"
:model="dataForm" :model="dataForm"
:rules="dataRule" :rules="dataRule"
ref="dataForm"> ref="dataForm"
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-row>
<el-form-item label="所属街道" <el-form-item label="所属街道"
prop="streetId"> prop="streetId">
<el-select v-model="dataForm.streetId" <el-select v-model="dataForm.streetId"
@ -40,6 +42,8 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row>
<el-row>
<el-form-item label="类别" <el-form-item label="类别"
prop="newsCateroryId"> prop="newsCateroryId">
<el-select v-model="dataForm.newsCateroryId" <el-select v-model="dataForm.newsCateroryId"
@ -52,15 +56,18 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row>
<el-row>
<el-form-item label="新闻标题" <el-form-item label="新闻标题"
prop="newsTitle"> prop="newsTitle">
<el-form-item>
<el-input v-model="dataForm.newsTitle" <el-input v-model="dataForm.newsTitle"
placeholder="请输入标题" placeholder="请输入标题"
clearable></el-input> clearable
style="width:500px">
</el-input>
</el-form-item> </el-form-item>
</el-form-item> </el-row>
<br> <el-row>
<el-form-item prop="newsContent" <el-form-item prop="newsContent"
label="正文编辑"> label="正文编辑">
<!-- 富文本编辑器, 容器 --> <!-- 富文本编辑器, 容器 -->
@ -76,6 +83,10 @@
size="small">{{ $t('upload.button') }}</el-button> size="small">{{ $t('upload.button') }}</el-button>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-row>
<el-row>
<el-form-item prop="newsImageUrl"
label="新闻首图">
<el-upload class="upload-demo" <el-upload class="upload-demo"
:action="uploadUrl" :action="uploadUrl"
:on-preview="handlePreview" :on-preview="handlePreview"
@ -91,8 +102,11 @@
<div slot="tip" <div slot="tip"
class="el-upload__tip">只能上传jpg/png文件且不超过500kb</div> class="el-upload__tip">只能上传jpg/png文件且不超过500kb</div>
</el-upload> </el-upload>
<br> </el-form-item>
<span class="demonstration">显示时长</span>&nbsp;&nbsp; </el-row>
<el-row>
<el-form-item prop="newsReleaseStartTime"
label="上线时间">
<el-date-picker @change='setRegistTime' <el-date-picker @change='setRegistTime'
v-model="time" v-model="time"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -100,16 +114,17 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期">
</el-date-picker> &nbsp; &nbsp; </el-date-picker>
<br><br> <br> </el-form-item>
<el-form-item> </el-row>
<el-row>
<el-form-item label-width="500px">
<el-button type="primary" <el-button type="primary"
@click="dataFormSubmitHandle()">确认发布</el-button> @click="dataFormSubmitHandle()">确认发布</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" <el-button type="primary"
@click="draftDataFormSubmitHandle()">存草稿箱</el-button> @click="draftDataFormSubmitHandle()">存草稿箱</el-button>
</el-form-item> </el-form-item>
</el-row>
</el-form> </el-form>
</div> </div>
</el-card> </el-card>
@ -119,18 +134,10 @@ import Cookies from 'js-cookie'
import debounce from 'lodash/debounce' import debounce from 'lodash/debounce'
import 'quill/dist/quill.snow.css' import 'quill/dist/quill.snow.css'
import Quill from 'quill' import Quill from 'quill'
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './news-add-or-update' import AddOrUpdate from './news-add-or-update'
export default { export default {
mixins: [mixinViewModule],
data () { data () {
return { return {
mixinViewModuleOptions: {
getDataListURL: '/news/news/page',
getDataListIsPage: true,
deleteURL: '/news/news',
deleteIsBatch: true
},
dataForm: { dataForm: {
id: '', id: '',
streetId: '', streetId: '',
@ -203,6 +210,12 @@ export default {
newsCateroryId: [ newsCateroryId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
newsImageUrl: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
newsReleaseStartTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
newsContent: [ newsContent: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
] ]
@ -260,7 +273,7 @@ export default {
this.dataForm.deptId = choosenItem.id this.dataForm.deptId = choosenItem.id
}, },
getListCategory () { getListCategory () {
this.$http.get(`/news/newscategory/category/`).then(({ data: res }) => { this.$http.get(`/news/newscategory/category`).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
@ -300,10 +313,10 @@ export default {
}, },
// //
handleRemove (file, fileList) { handleRemove (file, fileList) {
console.log(file, fileList) // console.log(file, fileList)
}, },
handlePreview (file) { handlePreview (file) {
console.log(file) // console.log(file)
}, },
handleExceed (files, fileList) { handleExceed (files, fileList) {
this.$message.warning(`当前限制选择 3 个文件,本次选择了 $ {files.length} 个文件,共选择了 $ {files.length + fileList.length} 个文件`) this.$message.warning(`当前限制选择 3 个文件,本次选择了 $ {files.length} 个文件,共选择了 $ {files.length + fileList.length} 个文件`)
@ -316,7 +329,7 @@ export default {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.dataForm.newsImageUrl = res.data.url this.dataForm.newsImageUrl = res.data.url
console.log(this.dataForm.newsImageUrl) // console.log(this.dataForm.newsImageUrl)
this.$message({ this.$message({
message: this.$t('prompt.success'), message: this.$t('prompt.success'),
type: 'success', type: 'success',
@ -324,7 +337,7 @@ export default {
}) })
}, },
setRegistTime () { setRegistTime () {
console.log(this.time[0]) // console.log(this.time[0])
this.dataForm.newsReleaseStartTime = this.time[0] this.dataForm.newsReleaseStartTime = this.time[0]
this.dataForm.newsReleaseEndTime = this.time[1] this.dataForm.newsReleaseEndTime = this.time[1]
}, },

45
src/views/modules/news/newscategory-add-or-update.vue

@ -1,22 +1,40 @@
<template> <template>
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false"> <el-dialog :visible.sync="visible"
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> :title="!dataForm.id ? $t('add') : $t('update')"
<el-form-item label="类别名称" prop="categoryName"> :close-on-click-modal="false"
<el-input v-model="dataForm.categoryName" placeholder="类别名称"></el-input> :close-on-press-escape="false">
<el-form :model="dataForm"
:rules="dataRule"
ref="dataForm"
@keyup.enter.native="dataFormSubmitHandle()"
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="类别名称"
prop="categoryName">
<el-input v-model="dataForm.categoryName"
placeholder="类别名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="类别编码" prop="categoryCode"> <el-form-item label="类别编码"
<el-input v-model="dataForm.categoryCode" placeholder="类别编码"></el-input> prop="categoryCode">
<el-input v-model="dataForm.categoryCode"
placeholder="类别编码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="描述" prop="description"> <el-form-item label="描述"
<el-input v-model="dataForm.description" placeholder="描述"></el-input> prop="description">
<el-input v-model="dataForm.description"
placeholder="描述"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="sort"> <el-form-item label="排序"
<el-input v-model="dataForm.sort" placeholder="排序"></el-input> prop="sort">
<el-input-number v-model="dataForm.sort"
controls-position="right"
:min="0"
:label="$t('menu.sort')"></el-input-number>
</el-form-item> </el-form-item>
</el-form> </el-form>
<template slot="footer"> <template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button> <el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button> <el-button type="primary"
@click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
@ -32,7 +50,7 @@ export default {
categoryName: '', categoryName: '',
categoryCode: '', categoryCode: '',
description: '', description: '',
sort: '' sort: 0
} }
} }
}, },
@ -45,9 +63,6 @@ export default {
categoryCode: [ categoryCode: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
description: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
sort: [ sort: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
] ]

Loading…
Cancel
Save