Browse Source

Merge branch 'dev_0814' of http://121.42.41.42:7070/r/esua-epdc-admin into dev_0814

master
qushutong 6 years ago
parent
commit
b535b53cd6
  1. 2
      src/i18n/zh-CN.js
  2. 172
      src/views/modules/events/epdcevents-add-or-update.vue
  3. 5
      src/views/modules/events/epdcevents.vue
  4. 72
      src/views/modules/news/notice-add-or-update.vue
  5. 52
      src/views/modules/news/notice.vue

2
src/i18n/zh-CN.js

@ -17,6 +17,8 @@ t.confirm = '确定'
t.import = '导入' t.import = '导入'
t.cancel = '取消' t.cancel = '取消'
t.logout = '退出' t.logout = '退出'
t.verify = '审核'
t.verifyLabel = '议题审核'
t.prompt = {} t.prompt = {}
t.prompt.title = '提示' t.prompt.title = '提示'

172
src/views/modules/events/epdcevents-add-or-update.vue

@ -1,73 +1,11 @@
<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" :title="$t('verifyLabel')" :close-on-click-modal="false" :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 :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="用户ID" prop="userId"> <el-form-item label="议题内容" prop="eventContent">
<el-input v-model="dataForm.userId" placeholder="用户ID"></el-input> <p>{{dataForm.eventContent}}</p>
<el-image v-for="url in urls" :key="url" :src="url" lazy></el-image>
</el-form-item> </el-form-item>
<el-form-item label="议题内容" prop="issueContent"> </el-form>
<el-input v-model="dataForm.issueContent" placeholder="议题内容"></el-input>
</el-form-item>
<el-form-item label="区" prop="area">
<el-input v-model="dataForm.area" placeholder="区"></el-input>
</el-form-item>
<el-form-item label="区ID" prop="areaId">
<el-input v-model="dataForm.areaId" placeholder="区ID"></el-input>
</el-form-item>
<el-form-item label="街道" prop="street">
<el-input v-model="dataForm.street" placeholder="街道"></el-input>
</el-form-item>
<el-form-item label="街道ID" prop="streetId">
<el-input v-model="dataForm.streetId" placeholder="街道ID"></el-input>
</el-form-item>
<el-form-item label="社区" prop="community">
<el-input v-model="dataForm.community" placeholder="社区"></el-input>
</el-form-item>
<el-form-item label="社区ID" prop="communityId">
<el-input v-model="dataForm.communityId" placeholder="社区ID"></el-input>
</el-form-item>
<el-form-item label="网格" prop="grid">
<el-input v-model="dataForm.grid" placeholder="网格"></el-input>
</el-form-item>
<el-form-item label="网格ID" prop="gridId">
<el-input v-model="dataForm.gridId" placeholder="网格ID"></el-input>
</el-form-item>
<el-form-item label="议题位置地址" prop="issueAddress">
<el-input v-model="dataForm.issueAddress" placeholder="议题位置地址"></el-input>
</el-form-item>
<el-form-item label="议题分类ID" prop="issueCategoryId">
<el-input v-model="dataForm.issueCategoryId" placeholder="议题分类ID"></el-input>
</el-form-item>
<el-form-item label="议题位置纬度" prop="issusLatitude">
<el-input v-model="dataForm.issusLatitude" placeholder="议题位置纬度"></el-input>
</el-form-item>
<el-form-item label="议题位置经度" prop="issueLongitude">
<el-input v-model="dataForm.issueLongitude" placeholder="议题位置经度"></el-input>
</el-form-item>
<el-form-item label="友邻社区ID" prop="friendlyCommunityId">
<el-input v-model="dataForm.friendlyCommunityId" placeholder="友邻社区ID"></el-input>
</el-form-item>
<el-form-item label="事件状态 0-待审核,2-驳回,4-审核通过" prop="eventState">
<el-input v-model="dataForm.eventState" placeholder="事件状态 0-待审核,2-驳回,4-审核通过"></el-input>
</el-form-item>
<el-form-item label="删除标识 0:未删除,1:已删除" prop="delFlag">
<el-input v-model="dataForm.delFlag" placeholder="删除标识 0:未删除,1:已删除"></el-input>
</el-form-item>
<el-form-item label="乐观锁" prop="revision">
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input>
</el-form-item>
<el-form-item label="创建人" prop="createdBy">
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="createdTime">
<el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input>
</el-form-item>
<el-form-item label="更新人" prop="updatedBy">
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input>
</el-form-item>
<el-form-item label="更新时间" prop="updatedTime">
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input>
</el-form-item>
</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>
@ -83,101 +21,14 @@ export default {
visible: false, visible: false,
dataForm: { dataForm: {
id: '', id: '',
userId: '', eventContent: ''
issueContent: '', },
area: '', urls: []
areaId: '',
street: '',
streetId: '',
community: '',
communityId: '',
grid: '',
gridId: '',
issueAddress: '',
issueCategoryId: '',
issusLatitude: '',
issueLongitude: '',
friendlyCommunityId: '',
eventState: '',
delFlag: '',
revision: '',
createdBy: '',
createdTime: '',
updatedBy: '',
updatedTime: ''
}
} }
}, },
computed: { computed: {
dataRule () { dataRule () {
return { return {}
userId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
issueContent: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
area: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
areaId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
street: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
streetId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
community: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
communityId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
grid: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
gridId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
issueAddress: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
issueCategoryId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
issusLatitude: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
issueLongitude: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
friendlyCommunityId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
eventState: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
delFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
revision: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
createdBy: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
createdTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
updatedBy: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
updatedTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
]
}
} }
}, },
methods: { methods: {
@ -192,7 +43,7 @@ export default {
}, },
// //
getInfo () { getInfo () {
this.$http.get(`/demo/epdcevents/${this.dataForm.id}`).then(({ data: res }) => { this.$http.get(`/events/epdcevents/${this.dataForm.id}`).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
@ -200,6 +51,7 @@ export default {
...this.dataForm, ...this.dataForm,
...res.data ...res.data
} }
this.urls = res.data.imageArray
}).catch(() => {}) }).catch(() => {})
}, },
// //
@ -208,7 +60,7 @@ export default {
if (!valid) { if (!valid) {
return false return false
} }
this.$http[!this.dataForm.id ? 'post' : 'put']('/demo/epdcevents/', this.dataForm).then(({ data: res }) => { this.$http[!this.dataForm.id ? 'post' : 'put']('/events/epdcevents/review', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }

5
src/views/modules/events/epdcevents.vue

@ -34,13 +34,12 @@
</el-form> </el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> <el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip width="50" ></el-table-column> <el-table-column label="序号" type="index" show-overflow-tooltip width="50" ></el-table-column>
<el-table-column prop="issueContent" label="议题内容" header-align="center" align="center"></el-table-column> <el-table-column prop="eventContent" label="议题内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="提交时间" header-align="center" align="center"></el-table-column> <el-table-column prop="createdTime" label="提交时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="提交人" header-align="center" align="center"></el-table-column> <el-table-column prop="nickName" label="提交人" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="$hasPermission('events:epdcevents:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> <el-button v-if="$hasPermission('events:epdcevents:verify')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('verify') }}</el-button>
<el-button v-if="$hasPermission('events:epdcevents:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

72
src/views/modules/news/notice-add-or-update.vue

@ -9,8 +9,8 @@
@keyup.enter.native="dataFormSubmitHandle()" @keyup.enter.native="dataFormSubmitHandle()"
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'"> :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="所属街道" <el-form-item label="所属街道"
prop="deptId"> prop="streetId">
<el-select v-model="streetId" <el-select v-model="dataForm.streetId"
@change="changeStreet" @change="changeStreet"
placeholder="所属街道"> placeholder="所属街道">
<el-option v-for="item in streetList" <el-option v-for="item in streetList"
@ -21,7 +21,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属社区"> <el-form-item label="所属社区">
<el-select v-model="communityId" <el-select v-model="dataForm.communityId"
@change="changeCommunity" @change="changeCommunity"
placeholder="所属社区"> placeholder="所属社区">
<el-option v-for="item in communityList" <el-option v-for="item in communityList"
@ -32,7 +32,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属网格"> <el-form-item label="所属网格">
<el-select v-model="gridId" <el-select v-model="dataForm.gridId"
@change="changeGrid" @change="changeGrid"
placeholder="所属网格"> placeholder="所属网格">
<el-option v-for="item in gridList" <el-option v-for="item in gridList"
@ -82,8 +82,12 @@ export default {
visible: false, visible: false,
dataForm: { dataForm: {
id: '', id: '',
dept: '', streetId: '',
deptId: '', street: '',
communityId: '',
community: '',
gridId: '',
grid: '',
noticeTitle: '', noticeTitle: '',
noticeContent: '' noticeContent: ''
}, },
@ -106,18 +110,15 @@ export default {
], ],
uploadUrl: '', uploadUrl: '',
// end // end
streetId: '',
streetList: [], streetList: [],
communityId: '',
communityList: [], communityList: [],
gridId: '',
gridList: [] gridList: []
} }
}, },
computed: { computed: {
dataRule () { dataRule () {
return { return {
deptId: [ streetId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
], ],
noticeTitle: [ noticeTitle: [
@ -130,6 +131,7 @@ export default {
} }
}, },
created () { created () {
// 1169154711480528897 ID
this.getDeptInfoList('street', '1169154711480528897') this.getDeptInfoList('street', '1169154711480528897')
}, },
methods: { methods: {
@ -167,7 +169,7 @@ export default {
init () { init () {
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.communityId = this.streetId = this.gridId = null this.dataForm.communityId = this.dataForm.streetId = this.dataForm.gridId = null
// //
this.hideUpload = false this.hideUpload = false
this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/oss/file/upload?token=${Cookies.get('token')}` this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/oss/file/upload?token=${Cookies.get('token')}`
@ -191,6 +193,12 @@ export default {
} }
this.dataForm = res.data this.dataForm = res.data
this.quillEditor.root.innerHTML = res.data.noticeContent this.quillEditor.root.innerHTML = res.data.noticeContent
if (this.dataForm.streetId) {
this.getDeptInfoList('community', this.dataForm.streetId)
}
if (this.dataForm.communityId) {
this.getDeptInfoList('grid', this.dataForm.communityId)
}
}).catch(() => { }) }).catch(() => { })
}, },
// //
@ -199,7 +207,7 @@ export default {
if (!valid) { if (!valid) {
return false return false
} }
this.$http[!this.dataForm.id ? 'post' : 'put']('/news/notice/', this.dataForm).then(({ data: res }) => { this.$http[!this.dataForm.id ? 'post' : 'put']('/news/notice', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
@ -230,30 +238,30 @@ export default {
} }
}).catch(() => { }) }).catch(() => { })
}, },
changeStreet (event) { changeStreet () {
this.streetId = event //
let choosenItem = this.streetList.filter(item => item.id === this.streetId)[0] let choosenItem = this.streetList.filter(item => item.id === this.dataForm.streetId)[0]
this.initDeptIdAndName(choosenItem) this.dataForm.street = choosenItem.name
this.communityId = this.gridId = null //
this.dataForm.communityId = this.dataForm.gridId = this.dataForm.community = this.grid = null
this.communityList = this.gridList = [] this.communityList = this.gridList = []
this.getDeptInfoList('community', event) //
this.getDeptInfoList('community', this.dataForm.streetId)
}, },
changeCommunity (event) { changeCommunity () {
this.communityId = event //
let choosenItem = this.communityList.filter(item => item.id === this.communityId)[0] let choosenItem = this.communityList.filter(item => item.id === this.dataForm.communityId)[0]
this.initDeptIdAndName(choosenItem) this.dataForm.community = choosenItem.name
this.gridId = null //
this.dataForm.gridId = this.dataForm.grid = null
this.gridList = [] this.gridList = []
this.getDeptInfoList('grid', event) //
}, this.getDeptInfoList('grid', this.dataForm.communityId)
changeGrid (event) {
this.gridId = event
let choosenItem = this.gridList.filter(item => item.id === this.gridId)[0]
this.initDeptIdAndName(choosenItem)
}, },
initDeptIdAndName (choosenItem) { changeGrid () {
this.dataForm.dept = choosenItem.name //
this.dataForm.deptId = choosenItem.id let choosenItem = this.gridList.filter(item => item.id === this.dataForm.gridId)[0]
this.dataForm.grid = choosenItem.name
} }
} }

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

@ -6,8 +6,8 @@
:model="dataForm" :model="dataForm"
@keyup.enter.native="getDataList()"> @keyup.enter.native="getDataList()">
<el-form-item> <el-form-item>
<el-input v-model="dataForm.id" <el-input v-model="dataForm.noticeTitle"
placeholder="id" placeholder="通知标题"
clearable></el-input> clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -37,10 +37,15 @@
label="通知标题" label="通知标题"
header-align="center" header-align="center"
align="center"></el-table-column> align="center"></el-table-column>
<el-table-column prop="dept" <el-table-column prop="deptName"
label="发布通知部门" label="发布通知部门"
header-align="center" header-align="center"
align="center"></el-table-column> align="center"></el-table-column>
<el-table-column prop="isPublish"
label="已发布"
header-align="center"
:formatter="showIsPublishFormatter"
align="center"></el-table-column>
<el-table-column prop="readingAmount" <el-table-column prop="readingAmount"
label="阅读量" label="阅读量"
header-align="center" header-align="center"
@ -57,15 +62,19 @@
fixed="right" fixed="right"
header-align="center" header-align="center"
align="center" align="center"
width="150"> width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="$hasPermission('news:notice:update')" <el-button v-if="$hasPermission('news:notice:update')"
type="text" type="primary"
size="small" size="mini"
@click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button> @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button v-if="$hasPermission('news:notice:publish') && scope.row.isPublish === '0'"
type="primary"
size="mini"
@click="noticePublishHandle(scope.row.id)">发布</el-button>
<el-button v-if="$hasPermission('news:notice:delete')" <el-button v-if="$hasPermission('news:notice:delete')"
type="text" type="danger"
size="small" size="mini"
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -100,12 +109,37 @@ export default {
deleteIsBatch: true deleteIsBatch: true
}, },
dataForm: { dataForm: {
id: '' id: '',
noticeTitle: ''
} }
} }
}, },
components: { components: {
AddOrUpdate AddOrUpdate
},
methods: {
//
noticePublishHandle (id) {
this.$http.post(`/news/notice/publish/${id}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.getDataList()
}
})
}).catch(() => { })
},
showIsPublishFormatter: function (row, column) {
if (row.isPublish === '0') {
return '否'
}
return '是'
}
} }
} }
</script> </script>

Loading…
Cancel
Save