Browse Source

【安宁pc端 首页,我要问事】-【留言板 - 页面调整】魏凯 2020-11-18

feature/borad
weikai 5 years ago
parent
commit
f90de8f4ec
  1. 13
      src/views/modules/events/borad/messageboradreply.vue
  2. 96
      src/views/modules/events/borad/messageboradreplyDetail.vue

13
src/views/modules/events/borad/messageboradreply.vue

@ -20,9 +20,6 @@
<el-form-item> <el-form-item>
<el-button type="success" @click="getDataList()">{{ $t('query') }}</el-button> <el-button type="success" @click="getDataList()">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<el-form-item>
<el-button type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
</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="序号" header-align="center" align="center" width="50px"> <el-table-column label="序号" header-align="center" align="center" width="50px">
@ -37,7 +34,7 @@
<el-table-column label="问题描述" header-align="center" align="center"> <el-table-column label="问题描述" header-align="center" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" <el-button type="text"
@click="childHandle(scope.row)">查看详情</el-button> @click="addOrUpdateHandle(scope.row.id,true)">查看详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="state" label="状态" :formatter = "stateFormat" header-align="center" align="center"> <el-table-column prop="state" label="状态" :formatter = "stateFormat" header-align="center" align="center">
@ -45,7 +42,7 @@
</el-table-column> </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="scope.row.state == '0'" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">回复</el-button> <el-button v-if="scope.row.state == '0'" type="text" size="small" @click="addOrUpdateHandle(scope.row.id,false)">回复</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -74,8 +71,6 @@ export default {
mixinViewModuleOptions: { mixinViewModuleOptions: {
getDataListURL: '/events/borad/page', getDataListURL: '/events/borad/page',
getDataListIsPage: true, getDataListIsPage: true,
deleteURL: '/news/messageboradreply',
deleteIsBatch: true
}, },
dataForm: { dataForm: {
boradType: '', boradType: '',
@ -99,9 +94,9 @@ export default {
], ],
stateFormat (row, column) { stateFormat (row, column) {
if (row.state === '0') { if (row.state === '0') {
return '已回复'
} else {
return '待回复' return '待回复'
} else {
return '已回复'
} }
} }
} }

96
src/views/modules/events/borad/messageboradreplyDetail.vue

@ -11,11 +11,11 @@
<el-form-item label="留言时间" label-width="100px"> <el-form-item label="留言时间" label-width="100px">
<el-input <el-input
:rows="3" :rows="3"
v-model="dataForm.createTime" v-model="dataForm.boradTime"
style="width:50%"> style="width:50%">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="留言人所属网格" label-width="100px"> <el-form-item label="所属网格" label-width="100px">
<div>{{dataForm.dept}}</div> <div>{{dataForm.dept}}</div>
</el-form-item> </el-form-item>
<el-form-item label="留言内容" prop="content" label-width="100px"> <el-form-item label="留言内容" prop="content" label-width="100px">
@ -23,18 +23,18 @@
type="textarea" type="textarea"
:rows="3" :rows="3"
placeholder="请输入会议内容,2000字以内" placeholder="请输入会议内容,2000字以内"
v-model="dataForm.content" v-model="dataForm.boradContent"
maxlength="2000" maxlength="2000"
style="width:50%"> style="width:50%">
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="留言图片" v-loading="loading" prop="images" label-width="100px"> <el-form-item label="留言图片" v-loading="loading" label-width="100px">
<el-upload <el-upload
ref="upload" ref="upload"
:action="uploadUrl" :action="uploadUrl"
:class="{hide:hideUpload}" :class="{hide:hideUpload}"
list-type="picture-card" list-type="picture-card"
:file-list="dataForm.images" :file-list="dataForm.boradPicture"
:limit=3 :limit=3
:on-preview="handlePictureCardPreview" :on-preview="handlePictureCardPreview"
:on-remove="handleRemove" :on-remove="handleRemove"
@ -67,7 +67,7 @@
:action="uploadUrl" :action="uploadUrl"
:class="{hide:hideUpload}" :class="{hide:hideUpload}"
list-type="picture-card" list-type="picture-card"
:file-list="dataForm.replyimages" :file-list="dataForm.replyPicture"
:limit=3 :limit=3
:on-preview="handlePictureCardPreview" :on-preview="handlePictureCardPreview"
:on-remove="handleRemove" :on-remove="handleRemove"
@ -82,10 +82,10 @@
</el-dialog> </el-dialog>
<div><font color="gray">1~3张图</font></div> <div><font color="gray">1~3张图</font></div>
</el-form-item> </el-form-item>
<el-form-item v-if="isAble" label="回复人" label-width="100px"> <el-form-item v-if="replyInfoState" label="回复人" label-width="100px">
<div>{{dataForm.replyName}}</div> <div>{{dataForm.replyName}}</div>
</el-form-item> </el-form-item>
<el-form-item v-if="isAble" label="回复时间" label-width="100px"> <el-form-item v-if="replyInfoState" label="回复时间" label-width="100px">
<div>{{dataForm.replyTime}}</div> <div>{{dataForm.replyTime}}</div>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -113,16 +113,20 @@ export default {
boradName: '', boradName: '',
dept: '', dept: '',
deptId: '', deptId: '',
content: '', boradContent: '',
images: [], images: [],
replyimages: [], replyPicture: [],
createTime: '', boradPicture: [],
boradTime: '',
replyContent: '', replyContent: '',
replyName: '', replyName: '',
replyTime: '' replyTime: '',
state: '',
boradId: '',
}, },
isAble: false, isAble: false,
replyState: true, replyState: true,
replyInfoState: false,
meetTypeArr: [], meetTypeArr: [],
dailyTypeArr: [], dailyTypeArr: [],
hideUpload: false, hideUpload: false,
@ -142,41 +146,13 @@ export default {
computed: { computed: {
dataRule () { dataRule () {
return { return {
boradId: [ content: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
userId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
userName: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
replyContent: [
{ 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' } { required: true, message: this.$t('validate.required'), trigger: 'blur' }
] ]
} }
} }
}, },
mounted () { mounted () {
debugger
this.pageDisabled = this.$route.query.disabled this.pageDisabled = this.$route.query.disabled
this.hideUpload = this.$route.query.disabled this.hideUpload = this.$route.query.disabled
if (this.$route.query.id !== '' && this.$route.query.id != null) { if (this.$route.query.id !== '' && this.$route.query.id != null) {
@ -199,10 +175,23 @@ export default {
}, },
// //
getInfo () { getInfo () {
this.$http.get(`/news/messageboradreply/${this.dataForm.id}`).then(({ data: res }) => { this.$http.get(`/events/borad/details/${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)
} }
let infoObj = res.data.state ;
if (infoObj == '0' && this.pageDisabled == true){ //
this.pove = true;
this.replyState = false
}else if (infoObj == '0' && this.pageDisabled == false){ //
this.pove = false;
this.replyState = true;
this.dataForm.boradId = this.$route.query.id;
}else if (infoObj == '1' && this.pageDisabled == true){ //
this.pove = true;
this.replyState = true;
this.replyInfoState = true;
}
this.dataForm = { this.dataForm = {
...this.dataForm, ...this.dataForm,
...res.data ...res.data
@ -215,7 +204,7 @@ export default {
if (!valid) { if (!valid) {
return false return false
} }
this.$http[!this.dataForm.id ? 'post' : 'put']('/news/messageboradreply/', this.dataForm).then(({ data: res }) => { this.$http['post']('/events/borad/reply/', 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)
} }
@ -226,6 +215,7 @@ export default {
onClose: () => { onClose: () => {
this.visible = false this.visible = false
this.$emit('refreshDataList') this.$emit('refreshDataList')
this.backToUserRelationList();
} }
}) })
}).catch(() => {}) }).catch(() => {})
@ -240,8 +230,8 @@ export default {
this.handleErrorRemove(file) this.handleErrorRemove(file)
return false return false
} }
this.dataForm.images.push({ url: res.data.imgUrl, thumbnail: res.data.thumbnail, fileType: 1 }) this.dataForm.replyPicture.push({ url: res.data.imgUrl, breviaryUrl: res.data.thumbnail, fileType: 1 })
this.hideUpload = this.dataForm.images.length >= 3 this.hideUpload = this.dataForm.replyPicture.length >= 3
}, },
handleErrorRemove (file) { handleErrorRemove (file) {
// //
@ -263,16 +253,16 @@ export default {
this.dialogVisible = true this.dialogVisible = true
}, },
handleRemove (file, fileList) { handleRemove (file, fileList) {
for (var i = 0; i < this.dataForm.images.length; i++) { for (var i = 0; i < this.dataForm.replyPicture.length; i++) {
let item = this.dataForm.images[i] let item = this.dataForm.replyPicture[i]
if (item.url === file.url) { if (item.url === file.url) {
this.dataForm.images.splice(i, 1) this.dataForm.replyPicture.splice(i, 1)
} }
} }
this.hideUpload = this.dataForm.images.length >= 9 this.hideUpload = this.dataForm.replyPicture.length >= 3
}, },
beforeAvatarUpload (file) { beforeAvatarUpload (file) {
if (this.dataForm.images.length === 3) { if (this.dataForm.replyPicture.length === 3) {
this.$message.error('最多上传3张图片!') this.$message.error('最多上传3张图片!')
return false return false
} }
@ -298,3 +288,9 @@ export default {
} }
} }
</script> </script>
<style>
.hide .el-upload--picture-card {
display: none;
}
</style>

Loading…
Cancel
Save