Browse Source

【市北代码迁移至安宁】【新闻互动】-王公峰-2020-09-17

redesign
wanggongfeng 5 years ago
parent
commit
e8c5028508
  1. 128
      src/views/modules/news/allnews.vue
  2. 39
      src/views/modules/news/allnotice.vue
  3. 23
      src/views/modules/news/banner-add-or-update.vue
  4. 53
      src/views/modules/news/banner.vue
  5. 16
      src/views/modules/news/news-publish.vue
  6. 175
      src/views/modules/news/news.vue
  7. 7
      src/views/modules/news/newscategory-add-or-update.vue
  8. 8
      src/views/modules/news/newscategory.vue
  9. 136
      src/views/modules/news/newsdraft.vue
  10. 54
      src/views/modules/news/notice.vue

128
src/views/modules/news/allnews.vue

@ -4,60 +4,13 @@
<div class="mod-news__news}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
:props="{ checkStrictly: true }"
clearable></el-cascader>
</el-form-item>
<!--<el-form-item label="所属街道"
prop="deptId">
<el-select v-model="dataForm.streetId"
@change="changeStreet"
clearable
placeholder="所属街道">
<el-option v-for="item in streetList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属社区">
<el-select v-model="dataForm.communityId"
@change="changeCommunity"
clearable
placeholder="所属社区">
<el-option v-for="item in communityList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属网格">
<el-select v-model="dataForm.gridId"
@change="changeGrid"
clearable
placeholder="所属网格">
<el-option v-for="item in gridList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>-->
<br>
<span class="demonstration">提交时间</span>&nbsp;&nbsp;
<el-date-picker @change='setRegistTime'
v-model="time"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> &nbsp; &nbsp;
<el-form-item label="类别">
<el-select v-model="dataForm.category"
clearable
@ -71,17 +24,41 @@
</el-form-item>
<el-form-item label="关键字" >
<el-form-item>
<el-input v-model="dataForm.keyword"
<el-input v-model="dataForm.keyword" @keyup.native="btKeyUpkeyword"
placeholder="请输入标题"
clearable></el-input>
</el-form-item>
</el-form-item>
<br>
<el-form-item label="提交时间"
prop="startTime">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('news:news:save')"
type="primary"
type="success"
@click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
@ -105,41 +82,42 @@
<el-table-column prop="newsTitle"
label="标题名称"
header-align="center"
min-width="400px"
align="center"
min-width="250"
show-overflow-tooltip></el-table-column>
<el-table-column prop="readingAmount"
label="阅读量"
header-align="center"
width="80px"
width="100"
align="center"></el-table-column>
<el-table-column prop="likeNumber"
label="支持数"
width="100"
header-align="center"
width="80px"
align="center"></el-table-column>
<el-table-column prop="unLikeNumber"
label="不支持数"
header-align="center"
width="80px"
width="100"
align="center"></el-table-column>
<el-table-column prop="allDeptNames"
label="所属网格"
header-align="center"
min-width="350px"
min-width="200"
show-overflow-tooltip
align="left"
></el-table-column>
align="center"></el-table-column>
<el-table-column prop="createdTime"
label="提交时间"
header-align="center"
align="center"
width="180px"></el-table-column>
width="180"
align="center"></el-table-column>
<el-table-column prop="creatorName"
label="提交人"
header-align="center"
width="100px"
align="left"></el-table-column>
<el-table-column label="有效时间" width="320px" header-align="center" align="left">
min-width="200"
show-overflow-tooltip
align="center"></el-table-column>
<el-table-column label="有效时间" width="360" header-align="center" align="center">
<template slot-scope="scope">
{{scope.row.newsReleaseStartTime}} {{scope.row.newsReleaseEndTime}}
</template>
@ -147,7 +125,7 @@
<el-table-column label="发布状态"
:formatter="publishState"
header-align="center"
width="80px"
width="120"
align="center">
</el-table-column>
<!-- <el-table-column prop="newsUpDownState" label="新闻上下线状态" :formatter="newsUpDownState" header-align="center" align="center"></el-table-column> -->
@ -211,9 +189,25 @@ export default {
onLine: {
id: '',
onLineState: ''
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
}
},
created () {
this.$http
.get(`/sys/user/deptOptions/getByLoginUser`)
@ -389,7 +383,11 @@ export default {
}).catch(() => {
this.dataListLoading = false
})
}
},
btKeyUpkeyword(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.keyword = e.target.value
},
},
components: {
AddOrUpdate

39
src/views/modules/news/allnotice.vue

@ -4,7 +4,7 @@
<div class="mod-news__notice}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
@ -12,12 +12,14 @@
clearable></el-cascader>
</el-form-item>
<el-form-item>
<el-input v-model="dataForm.noticeTitle"
<el-form-item label="通知标题">
<el-input v-model="dataForm.noticeTitle" @keyup.native="btKeyUpnoticeTitle"
placeholder="通知标题"
clearable></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="primary" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<!-- <el-form-item>
<el-button v-if="$hasPermission('news:notice:save')"
@ -35,8 +37,7 @@
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column label="序号"
width="50px" align="center">
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
@ -44,35 +45,37 @@
<el-table-column prop="noticeTitle"
label="通知标题"
header-align="center"
align="left"
min-width="400px"
align="center"
min-width="400"
show-overflow-tooltip></el-table-column>
<el-table-column prop="deptName"
label="通知所属部门"
header-align="center"
min-width="150px"
align="left"></el-table-column>
min-width="200"
show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="readingAmount"
label="阅读量"
header-align="center"
align="center"
width="80"></el-table-column>
width="100"></el-table-column>
<el-table-column prop="creatorName"
label="创建人"
header-align="center"
width="100px"
align="left"></el-table-column>
min-width="200"
show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="createdTime"
label="创建时间"
header-align="center"
width="180px"
width="180"
align="center"></el-table-column>
<el-table-column prop="noticeReleaseState"
label="已发布"
header-align="center"
:formatter="showIsPublishFormatter"
align="center"
width="70"></el-table-column>
width="100"></el-table-column>
<el-table-column prop="releaseTime"
label="发布时间"
header-align="center"
@ -82,7 +85,7 @@
fixed="right"
header-align="center"
align="center"
width="100">
width="150">
<template slot-scope="scope">
<el-button v-if="$hasPermission('news:notice:update')"
type="text"
@ -170,7 +173,11 @@ export default {
if (row.street) {
return row.street
}
}
},
btKeyUpnoticeTitle(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.noticeTitle = e.target.value
},
},
watch: {
'deptIdList': function (val) {

23
src/views/modules/news/banner-add-or-update.vue

@ -6,24 +6,21 @@
<el-form :model="dataForm"
:rules="dataRule"
ref="dataForm"
@keyup.enter.native="dataFormSubmitHandle()"
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="链接地址"
v-if="dataForm.newsFlag !== '1'"
prop="url">
prop="url" label-width="100px">
<el-input v-model="dataForm.url"
maxlength="1000"
show-word-limit
placeholder="链接地址"></el-input>
</el-form-item>
<el-form-item label="标题"
prop="title">
prop="title" label-width="100px">
<el-input v-model="dataForm.title"
maxlength="50"
show-word-limit
placeholder="标题"></el-input>
</el-form-item>
<el-form-item label="所属机构">
<el-form-item label="所属机构" label-width="100px">
<el-cascader v-model="dataForm.allDeptIdsShow"
:options="options"
:props="{ multiple: true }"
@ -65,7 +62,7 @@
</el-select>
</el-form-item>-->
<el-form-item label="banner类型"
prop="bannerType">
prop="bannerType" label-width="100px">
<el-select v-model="dataForm.bannerType"
placeholder="请选择">
<el-option v-for="item in bannerOptions"
@ -76,7 +73,7 @@
</el-select>
</el-form-item>
<el-form-item label="banner位置"
prop="position">
prop="position" label-width="100px">
<el-select v-model="dataForm.position"
placeholder="请选择">
<el-option v-for="item in positionList"
@ -88,7 +85,7 @@
</el-form-item>
<el-form-item label="banner图片"
v-loading="loading"
prop="imgUrl">
prop="imgUrl" label-width="100px">
<el-upload class="avatar-uploader"
:action="this.uploadUrl"
:show-file-list="false"
@ -105,7 +102,7 @@
</el-form>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary"
<el-button type="primary" :disabled="isAble"
@click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
</template>
</el-dialog>
@ -133,6 +130,7 @@ export default {
position: '0',
allDeptIdsShow: []
},
isAble:false,
bannerOptions: [],
streetList: [],
communityList: [],
@ -171,7 +169,7 @@ export default {
}
},
created () {
// 1169154711480528897 ID
// 1169154711480528897 ID
this.$http
.get(`/sys/user/deptOptions/getAllByLoginUser`)
.then(({ data: res }) => {
@ -189,6 +187,7 @@ export default {
init () {
this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/oss/file/upload?token=${Cookies.get('token')}`
this.visible = true
this.isAble = false
this.$nextTick(() => {
this.dataForm.communityId = this.dataForm.streetId = this.dataForm.gridId = null
this.communityList = this.gridList = []
@ -225,8 +224,10 @@ export default {
if (!valid) {
return false
}
this.isAble = true
this.$http[!this.dataForm.id ? 'post' : 'put']('/news/banner/', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
this.isAble = false
return this.$message.error(res.msg)
}
this.$message({

53
src/views/modules/news/banner.vue

@ -4,14 +4,14 @@
<div class="mod-news__banner}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
<el-form-item>
<el-input v-model="dataForm.title"
@keyup.enter.native="getDataListSearch()">
<el-form-item label="标题">
<el-input v-model="dataForm.title" @keyup.native="btKeyUptitle"
placeholder="请输入标题"
clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"
@ -23,17 +23,20 @@
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column type="index"
width="50"
label="序号" align="center"></el-table-column>
<el-table-column prop="title"
label="标题"
header-align="center"
align="left"
min-width="400px"
align="center"
min-width="400"
show-overflow-tooltip></el-table-column>
<el-table-column prop="imgUrl"
label="banner图片"
header-align="center"
width="100"
align="center">
align="center"
width="120">
<template slot-scope="scope">
<img :src="scope.row.imgUrl"
width="40"
@ -44,39 +47,39 @@
label="banner类型"
:formatter="setBannerType"
header-align="center"
width="100"
align="center"></el-table-column>
align="center"
width="120"></el-table-column>
<el-table-column prop="state"
label="上下架状态"
:formatter="bannerState"
header-align="center"
width="100"
align="center"></el-table-column>
align="center"
width="100"></el-table-column>
<el-table-column prop="stateTime"
label="上下架时间"
header-align="center"
width="180"
align="center"></el-table-column>
align="center"
width="180"></el-table-column>
<!-- <el-table-column prop="createdBy"
label="创建人"
header-align="center"
align="center"></el-table-column> -->
<el-table-column prop="createdTime"
label="创建时间"
width="180"
header-align="center"
align="center"></el-table-column>
align="center"
width="180"></el-table-column>
<el-table-column prop="position"
label="位置"
width="70"
header-align="center"
:formatter="setPosition"
align="center"></el-table-column>
align="center"
width="100"></el-table-column>
<el-table-column prop="updatedTime"
label="更新时间"
width="180"
header-align="center"
align="center"></el-table-column>
align="center"
width="180"></el-table-column>
<el-table-column :label="$t('handle')"
fixed="right"
header-align="center"
@ -91,11 +94,11 @@
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
<el-button type="text"
size="small"
v-if="scope.row.state === '1'"
v-if="$hasPermission('banner:show:down') && scope.row.state === '1'"
@click="soltOut(scope.row.id)">下架</el-button>
<el-button type="text"
size="small"
v-if="scope.row.state === '0'"
v-if="$hasPermission('banner:show:up') && scope.row.state === '0'"
@click="putaway(scope.row.id)">上架</el-button>
</template>
</el-table-column>
@ -217,7 +220,11 @@ export default {
this.positionList = res.data
}
}).catch(() => { })
}
},
btKeyUptitle(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.title = e.target.value
},
}
}
</script>

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

@ -55,6 +55,7 @@
prop="newsCateroryId">
<el-select v-model="dataForm.newsCateroryId"
@change="changeCaterory"
clearable
placeholder="请选择类别">
<el-option v-for="item in categorys"
:key="item.id"
@ -73,7 +74,7 @@
show-word-limit
placeholder="请输入标题"
clearable
style="width:500px">
style="width:450px">
</el-input>
</el-form-item>
</el-row>
@ -130,9 +131,9 @@
<el-row>
<el-form-item label-width="500px">
<el-button type="primary"
@click="dataFormSubmitHandle()">确认发布</el-button>
@click="dataFormSubmitHandle()" :disabled="isAble">确认发布</el-button>
<el-button type="primary"
@click="draftDataFormSubmitHandle()">存草稿箱</el-button>
@click="draftDataFormSubmitHandle()" :disabled="isAble">存草稿箱</el-button>
</el-form-item>
</el-row>
</el-form>
@ -191,7 +192,8 @@ export default {
],
uploadUrl: '',
// end
fileList: []
fileList: [],
isAble: false
}
},
activated () {
@ -360,8 +362,10 @@ export default {
if (!valid) {
return false
}
this.isAble = true
this.$http['post']('/news/news/publish', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
this.isAble = false
return this.$message.error(res.msg)
}
this.$message({
@ -388,6 +392,7 @@ export default {
this.quillEditor.root.innerHTML = ''
this.dataForm.communityId = this.dataForm.streetId = this.dataForm.gridId = null
this.communityList = this.gridList = []
this.isAble = false
}
})
}).catch(() => { })
@ -402,8 +407,10 @@ export default {
if (!valid) {
return false
}
this.isAble = true
this.$http['post']('/news/news/', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
this.isAble = false
return this.$message.error(res.msg)
}
this.$message({
@ -430,6 +437,7 @@ export default {
this.quillEditor.root.innerHTML = ''
this.dataForm.communityId = this.dataForm.streetId = this.dataForm.gridId = null
this.communityList = this.gridList = []
this.isAble = false
}
})
}).catch(() => { })

175
src/views/modules/news/news.vue

@ -4,13 +4,31 @@
<div class="mod-news__news}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
:props="{ checkStrictly: true }"
clearable></el-cascader>
</el-form-item>
<el-form-item label="类别">
<el-select v-model="dataForm.category"
clearable
placeholder="所属类别">
<el-option v-for="item in categorys"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="关键字">
<el-form-item>
<el-input v-model="dataForm.keyword" @keyup.native="btKeyUpkeyword"
placeholder="请输入标题"
clearable></el-input>
</el-form-item>
</el-form-item>
<!--<el-form-item label="所属街道"
prop="deptId">
<el-select v-model="dataForm.streetId"
@ -49,45 +67,44 @@
</el-select>
</el-form-item>-->
<br>
<span class="demonstration">提交时间</span>&nbsp;&nbsp;
<el-date-picker @change='setRegistTime'
v-model="time"
<el-form-item label="提交时间"
prop="startTime">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> &nbsp; &nbsp;
<el-form-item label="类别">
<el-select v-model="dataForm.category"
clearable
placeholder="所属类别">
<el-option v-for="item in categorys"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="关键字">
<el-form-item>
<el-input v-model="dataForm.keyword"
placeholder="请输入标题"
clearable></el-input>
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('news:news:save')"
type="primary"
@click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
@click="addOrUpdateHandle()">{{ $t('add') }}
</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('news:news:delete')"
type="danger"
@click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
@click="deleteHandle()">{{ $t('deleteBatch') }}
</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading"
@ -96,7 +113,8 @@
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column label="序号"
width="50px" align="center">
width="50px"
align="center">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
@ -105,41 +123,43 @@
label="标题名称"
header-align="center"
align="center"
min-width="400px"
min-width="250"
show-overflow-tooltip></el-table-column>
<el-table-column prop="readingAmount"
label="阅读量"
header-align="center"
width="80px"
align="center"></el-table-column>
align="center"
width="100"></el-table-column>
<el-table-column prop="likeNumber"
label="支持数"
width="100"
header-align="center"
width="80px"
align="center"></el-table-column>
<el-table-column prop="unLikeNumber"
label="不支持数"
width="80px"
width="100"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="createdTime"
label="提交时间"
header-align="center"
width="180px"
width="180"
align="center"></el-table-column>
<el-table-column prop="creatorName"
label="提交人"
width="100px"
show-overflow-tooltip
min-width="200"
header-align="center"
align="left"></el-table-column>
<el-table-column label="有效时间" width="320px" header-align="center" align="left">
<template slot-scope="scope">
align="center"></el-table-column>
<el-table-column label="有效时间" width="220" header-align="center" align="center" :formatter="showFlagFormat">
<!-- <template slot-scope="scope">
{{scope.row.newsReleaseStartTime}} {{scope.row.newsReleaseEndTime}}
</template>
</template> -->
</el-table-column>
<el-table-column label="发布状态"
:formatter="publishState"
header-align="center"
width="120"
align="center">
</el-table-column>
<!-- <el-table-column prop="newsUpDownState" label="新闻上下线状态" :formatter="newsUpDownState" header-align="center" align="center"></el-table-column> -->
@ -147,24 +167,29 @@
fixed="right"
header-align="center"
align="center"
width="200">
width="150">
<template slot-scope="scope">
<el-button type="text"
size="small"
@click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
@click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}
</el-button>
<el-button type="text"
size="small"
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
<el-button v-if="scope.row.newsUpDownState === '0' && new Date(scope.row.newsReleaseStartTime.replace('-', '/')) < new Date()
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}
</el-button>
<el-button v-if="$hasPermission('news:show:down') && scope.row.newsUpDownState === '0' && new Date(scope.row.newsReleaseStartTime.replace('-', '/')) < new Date()
&& new Date(scope.row.newsReleaseEndTime.replace('-', '/')) > new Date()"
type="text"
size="small"
@click="modifyOnLine(scope.row)">下线</el-button>
<el-button v-if="scope.row.bannerFlag === '0' && scope.row.newsUpDownState === '0' && new Date(scope.row.newsReleaseStartTime.replace('-', '/')) < new Date()
@click="modifyOnLine(scope.row)">下线
</el-button>
<el-button v-if="$hasPermission('news:banner:up') && scope.row.bannerFlag === '0' && scope.row.newsUpDownState === '0' && new Date(scope.row.newsReleaseStartTime.replace('-', '/')) < new Date()
&& new Date(scope.row.newsReleaseEndTime.replace('-', '/')) > new Date() "
type="text"
size="small"
@click="newsToBanner(scope.row)">上banner</el-button>
@click="newsToBanner(scope.row)">上banner
</el-button>
</template>
</el-table-column>
</el-table>
@ -186,6 +211,7 @@
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './news-add-or-update'
export default {
mixins: [mixinViewModule],
data() {
@ -216,9 +242,25 @@ export default {
onLine: {
id: '',
onLineState: ''
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
}
},
created() {
this.$http
.get(`/sys/user/deptOptions/getByLoginUser`)
@ -228,11 +270,23 @@ export default {
}
this.options = res.data.options
})
.catch(() => { })
.catch(() => {
})
this.getDeptInfoList('street', localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))
this.getListCategory()
},
methods: {
showFlagFormat (row, column) {
var newsReleaseStartTime = row.newsReleaseStartTime
var newsReleaseEndTime = row.newsReleaseEndTime
if (row.newsReleaseStartTime.length > 10 && row.newsReleaseStartTime.indexOf(' ') >= 0) {
newsReleaseStartTime = row.newsReleaseStartTime.substr(0,row.newsReleaseStartTime.indexOf(' '))
}
if (row.newsReleaseEndTime.length > 10 && row.newsReleaseEndTime.indexOf(' ') >= 0) {
newsReleaseEndTime = row.newsReleaseEndTime.substr(0,row.newsReleaseEndTime.indexOf(' '))
}
return newsReleaseStartTime + ' 到 ' + newsReleaseEndTime
},
newsUpDownState: function (row) {
return row.newsUpDownState === '1' ? '下线' : '上线'
},
@ -267,7 +321,8 @@ export default {
} else if (dataReceiver === 'grid') {
this.gridList = res.data
}
}).catch(() => { })
}).catch(() => {
})
},
changeStreet(event) {
if (this.dataForm.streetId === '') {
@ -317,7 +372,8 @@ export default {
return this.$message.error(res.msg)
}
this.categorys = res.data
}).catch(() => { })
}).catch(() => {
})
},
modifyOnLine(row) {
this.$confirm(this.$t('prompt.info', {'handle': '下线'}), this.$t('下线'), {
@ -340,8 +396,10 @@ export default {
}
})
this.getDataList()
}).catch(() => { })
}).catch(() => { })
}).catch(() => {
})
}).catch(() => {
})
},
newsToBanner(row) {
this.$confirm(this.$t('prompt.info', {'handle': '上banner'}), this.$t('上banner'), {
@ -361,8 +419,10 @@ export default {
}
})
this.getDataList()
}).catch(() => { })
}).catch(() => { })
}).catch(() => {
})
}).catch(() => {
})
},
//
getDataList() {
@ -394,7 +454,12 @@ export default {
}).catch(() => {
this.dataListLoading = false
})
}
},
//
btKeyUpkeyword(e) {
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.keyword = e.target.value
},
},
components: {
AddOrUpdate

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

@ -6,22 +6,21 @@
<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>
placeholder="类别名称" maxlength="128"></el-input>
</el-form-item>
<el-form-item label="类别编码"
prop="categoryCode">
<el-input v-model="dataForm.categoryCode"
placeholder="类别编码"></el-input>
placeholder="类别编码" maxlength="32"></el-input>
</el-form-item>
<el-form-item label="描述"
prop="description">
<el-input v-model="dataForm.description"
placeholder="描述"></el-input>
placeholder="描述" maxlength="128"></el-input>
</el-form-item>
<el-form-item label="排序"
prop="sort">

8
src/views/modules/news/newscategory.vue

@ -1,7 +1,7 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__newscategory}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<!-- <el-form-item>
<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
</el-form-item> -->
@ -15,13 +15,13 @@
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column
label="序号"
width="70px">
width="50px" align='center'>
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="categoryName" label="类别名称" header-align="center" align="center"></el-table-column>
<el-table-column prop="description" label="描述" header-align="center" align="center"></el-table-column>
<el-table-column prop="categoryName" label="类别名称" header-align="center" align="center" min-width="200" show-overflow-tooltip ></el-table-column>
<el-table-column prop="description" label="描述" header-align="center" align="center" min-width="400" show-overflow-tooltip ></el-table-column>
<el-table-column prop="sort" label="排序" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">

136
src/views/modules/news/newsdraft.vue

@ -4,61 +4,15 @@
<div class="mod-news__news}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
:props="{ checkStrictly: true }"
clearable></el-cascader>
</el-form-item>
<!--<el-form-item label="所属街道"
prop="deptId">
<el-select v-model="dataForm.streetId"
clearable
@change="changeStreet"
placeholder="所属街道">
<el-option v-for="item in streetList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属社区">
<el-select v-model="dataForm.communityId"
@change="changeCommunity"
clearable
placeholder="所属社区">
<el-option v-for="item in communityList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属网格">
<el-select v-model="dataForm.gridId"
@change="changeGrid"
clearable
placeholder="所属网格">
<el-option v-for="item in gridList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>-->
<br>
<span class="demonstration">提交时间</span>&nbsp;&nbsp;
<el-date-picker @change='setRegistTime'
v-model="time"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> &nbsp; &nbsp;
<el-form-item label="类别">
</el-form-item>&nbsp;
<el-form-item label="类别" label-width="68px">
<el-select v-model="dataForm.category"
clearable
placeholder="所属类别">
@ -69,15 +23,39 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="关键字">
<el-form-item label="关键字" label-width="68px" >
<el-form-item>
<el-input v-model="dataForm.keyword"
<el-input v-model="dataForm.keyword" @keyup.native="btKeyUpkeyword"
placeholder="请输入标题"
clearable></el-input>
</el-form-item>
</el-form-item>
<br>
<el-form-item label="提交时间"
prop="startTime">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;" @change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('news:news:save')"
@ -105,34 +83,36 @@
<el-table-column prop="newsTitle"
label="标题名称"
header-align="center"
align="left"
min-width="400px"
align="center"
min-width="250"
show-overflow-tooltip></el-table-column>
<el-table-column prop="readingAmount"
label="阅读量"
header-align="center"
width="100"
align="center"></el-table-column>
<el-table-column prop="likeNumber"
label="支持数"
width="100"
header-align="center"
width="80px"
align="center"></el-table-column>
<el-table-column prop="unLikeNumber"
label="不支持数"
width="100"
header-align="center"
width="80px"
align="center"></el-table-column>
<el-table-column prop="createdTime"
label="提交时间"
header-align="center"
width="180px"
width="180"
align="center"></el-table-column>
<el-table-column prop="creatorName"
label="提交人"
width="100px"
header-align="center"
align="left"></el-table-column>
<el-table-column label="有效时间" width="320px" header-align="center" align="left">
min-width="200"
show-overflow-tooltip
align="center"></el-table-column>
<el-table-column label="有效时间" width="360" header-align="center" align="center">
<template slot-scope="scope">
{{scope.row.newsReleaseStartTime}} {{scope.row.newsReleaseEndTime}}
</template>
@ -202,7 +182,23 @@ export default {
options: [],
deptIdList: [],
categorys: [],
id: ''
id: '',
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
}
},
created () {
@ -347,11 +343,25 @@ export default {
return this.$message.error(res.msg)
}
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data
if (this.dataList.length>0){
this.dataList.forEach(item=>{
let a = item.newsReleaseStartTime.substring(0,item.newsReleaseStartTime.indexOf(" "));
let b = item.newsReleaseEndTime.substring(0,item.newsReleaseEndTime.indexOf(" "));
item.newsReleaseStartTime = a
item.newsReleaseEndTime = b
})
}
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
}).catch(() => {
this.dataListLoading = false
})
}
},
//
btKeyUpkeyword(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.keyword = e.target.value
},
},
components: {
AddOrUpdate

54
src/views/modules/news/notice.vue

@ -4,70 +4,76 @@
<div class="mod-news__notice}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item>
<el-input v-model="dataForm.noticeTitle"
<el-form-item label="通知标题">
<el-input v-model="dataForm.noticeTitle" @keyup.native="btKeyUpnoticeTitle"
placeholder="通知标题"
clearable></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('news:notice:save')"
type="primary"
@click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<!-- <el-form-item>
<el-button v-if="$hasPermission('news:notice:delete')"
type="danger"
@click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
</el-form-item> -->
</el-form>
<el-table v-loading="dataListLoading"
:data="dataList"
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column type="selection"
header-align="center"
align="center"></el-table-column>
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="noticeTitle"
label="通知标题"
header-align="center"
align="left"
min-width="400px"
align="center"
min-width="400"
show-overflow-tooltip></el-table-column>
<el-table-column prop="deptName"
label="通知所属部门"
header-align="center"
min-width="150px"
align="left"></el-table-column>
min-width="200"
show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="readingAmount"
label="阅读量"
header-align="center"
align="center"
width="80"></el-table-column>
width="100"></el-table-column>
<el-table-column prop="creatorName"
label="创建人"
header-align="center"
width="100px"
align="left"></el-table-column>
min-width="200"
show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="createdTime"
label="创建时间"
header-align="center"
width="180px"
width="180"
align="center"></el-table-column>
<el-table-column prop="noticeReleaseState"
label="已发布"
header-align="center"
:formatter="showIsPublishFormatter"
align="center"
width="70"></el-table-column>
width="100"></el-table-column>
<el-table-column prop="releaseTime"
label="发布时间"
width="180"
header-align="center"
width="180"
align="center"></el-table-column>
<el-table-column :label="$t('handle')"
fixed="right"
@ -77,15 +83,15 @@
<template slot-scope="scope">
<el-button v-if="$hasPermission('news:notice:update')"
type="text"
size="small"
size="mini"
@click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button v-if="$hasPermission('news:notice:publish') && scope.row.noticeReleaseState === '0'"
type="text"
size="small"
size="mini"
@click="noticePublishHandle(scope.row.id)">发布</el-button>
<el-button v-if="$hasPermission('news:notice:delete')"
type="text"
size="small"
size="mini"
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template>
</el-table-column>
@ -166,7 +172,11 @@ export default {
if (row.street) {
return row.street
}
}
},
btKeyUpnoticeTitle(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.noticeTitle = e.target.value
},
}
}
</script>

Loading…
Cancel
Save