通告、意见反馈、举报
This commit is contained in:
parent
ff2a920934
commit
16a435654f
@ -42,3 +42,11 @@ export function delFeedback(id) {
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function dealFeedback(data) {
|
||||
return request({
|
||||
url: '/busi/feedback/dealFeedback',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
@ -35,6 +35,24 @@ export function updateNotice(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function auditInfo(data) {
|
||||
return request({
|
||||
url: '/busi/notice/auditInfo',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function publishTakeDown(data) {
|
||||
return request({
|
||||
url: '/busi/notice/publishTakeDown',
|
||||
method: 'post',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 删除通告
|
||||
export function delNotice(id) {
|
||||
return request({
|
||||
|
@ -35,6 +35,16 @@ export function updateReport(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function dealReport(data) {
|
||||
return request({
|
||||
url: '/busi/report/dealReport',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 删除举报记录
|
||||
export function delReport(id) {
|
||||
return request({
|
||||
|
@ -1,40 +1,22 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="用户" prop="userId">
|
||||
<el-form-item label="用户" prop="userNickName">
|
||||
<el-input
|
||||
v-model="queryParams.userId"
|
||||
v-model="queryParams.userNickName"
|
||||
placeholder="请输入用户"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户类型" prop="userType">
|
||||
<el-select v-model="queryParams.userType" placeholder="请选择用户类型" clearable>
|
||||
<el-option
|
||||
v-for="dict in dict.type.dl_user_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="回馈人" prop="backUserId">
|
||||
<el-form-item label="回馈人" prop="backUserNickName">
|
||||
<el-input
|
||||
v-model="queryParams.backUserId"
|
||||
v-model="queryParams.backUserNickName"
|
||||
placeholder="请输入回馈人"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="createTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.createTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择创建时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
@ -42,27 +24,6 @@
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['busi:feedback:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['busi:feedback:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
@ -74,23 +35,12 @@
|
||||
v-hasPermi="['busi:feedback:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['busi:feedback:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="feedbackList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="唯一主键" align="center" prop="id" />
|
||||
<el-table-column label="用户" align="center" prop="userId" />
|
||||
<el-table-column label="用户" align="center" prop="userNickName" />
|
||||
<el-table-column label="用户类型" align="center" prop="userType">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.dl_user_type" :value="scope.row.userType"/>
|
||||
@ -113,7 +63,7 @@
|
||||
<span>{{ parseTime(scope.row.backTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="回馈人" align="center" prop="backUserId" />
|
||||
<el-table-column label="回馈人" align="center" prop="backUserNickName" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||
@ -127,7 +77,7 @@
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['busi:feedback:edit']"
|
||||
>修改</el-button>
|
||||
>回馈</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@ -138,7 +88,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
@ -148,23 +98,13 @@
|
||||
/>
|
||||
|
||||
<!-- 添加或修改意见反馈对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户类型" prop="userType">
|
||||
<el-select v-model="form.userType" placeholder="请选择用户类型">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dl_user_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="反馈意见" prop="content">
|
||||
<el-dialog title="意见回馈" :visible.sync="open" width="1000px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-form-item label="反馈内容" prop="content">
|
||||
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="反馈图片" prop="images">
|
||||
<image-upload v-model="form.images"/>
|
||||
<image-upload :disabled="true" v-model="form.images"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="回馈内容" prop="backContent">
|
||||
<el-input v-model="form.backContent" type="textarea" placeholder="请输入内容" />
|
||||
@ -172,14 +112,6 @@
|
||||
<el-form-item label="回馈图片" prop="backImages">
|
||||
<image-upload v-model="form.backImages"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="回馈时间" prop="backTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.backTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择回馈时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
@ -190,7 +122,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listFeedback, getFeedback, delFeedback, addFeedback, updateFeedback } from "@/api/busi/feedback";
|
||||
import { listFeedback, getFeedback, delFeedback, addFeedback, dealFeedback } from "@/api/busi/feedback";
|
||||
|
||||
export default {
|
||||
name: "Feedback",
|
||||
@ -218,16 +150,15 @@ export default {
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
userId: null,
|
||||
userType: null,
|
||||
backUserId: null,
|
||||
createTime: null,
|
||||
pageSize: 10
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
backContent: [
|
||||
{ required: true, message: "回馈内容不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -305,19 +236,11 @@ export default {
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateFeedback(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addFeedback(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
dealFeedback(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -55,23 +55,12 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="赠品价值(元)" prop="giftPrice">
|
||||
<el-input-number :precision="2" min="0" v-model="form.giftPrice" placeholder="请输入赠品价值(元)" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="赠品明细" prop="giftDetail">
|
||||
<el-input v-model="form.giftDetail" type="textarea" placeholder="请输入内容" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="招募名额" prop="needNum">
|
||||
<el-input-number :precision="0" :min="0" v-model="form.needNum" placeholder="请输入招募名额" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否公开品牌" prop="isShowBrand">
|
||||
<el-select v-model="form.isShowBrand" placeholder="请选择是否公开品牌" :disabled="isDetail">
|
||||
@ -89,6 +78,9 @@
|
||||
<el-input v-model="form.brand" placeholder="请输入品牌" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="地区要求" prop="region">
|
||||
<el-select v-model="form.province" @change="provinceChange" placeholder="请选择省份" :disabled="isDetail">
|
||||
@ -109,108 +101,45 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="粉丝要求下限" prop="fansDown">
|
||||
<el-input-number :precision="0" min="0" v-model="form.fansDown" placeholder="请输入粉丝要求下限" :disabled="isDetail" />
|
||||
<el-input-number :precision="0" min="0" v-model="form.fansDown" placeholder="粉丝要求下限" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="粉丝要求上限" prop="fansUp">
|
||||
<el-input-number :precision="0" min="0" v-model="form.fansUp" placeholder="请输入粉丝要求上限" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="报名需符合粉丝要求" prop="isEligible">
|
||||
<el-select v-model="form.isEligible" placeholder="报名是否需符合粉丝要求" :disabled="isDetail">
|
||||
<el-option
|
||||
v-for="dict in dict.type.true_or_false"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="parseInt(dict.value)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-input-number :precision="0" min="0" v-model="form.fansUp" placeholder="粉丝要求上限" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="内容形式" prop="pic">
|
||||
<el-select v-model="form.pic" placeholder="请选择内容形式" :disabled="isDetail">
|
||||
<el-form-item label="博主类型" prop="bloggerTypeList">
|
||||
<el-select v-model="form.bloggerTypeList" multiple filterable placeholder="请选择博主类型" :disabled="isDetail">
|
||||
<el-option
|
||||
v-for="dict in dict.type.notice_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
v-for="data in bloggerList"
|
||||
:key="data.code"
|
||||
:label="data.title"
|
||||
:value="data.code"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="展示要求" prop="collect">
|
||||
<el-select v-model="form.collect" placeholder="请选择展示要求" :disabled="isDetail">
|
||||
<el-option
|
||||
v-for="dict in dict.type.notice_collect"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否使用通告券" prop="isUseCoupon">
|
||||
<el-select v-model="form.isUseCoupon" placeholder="请选择是否使用通告券" :disabled="isDetail">
|
||||
<el-option
|
||||
v-for="dict in dict.type.true_or_false"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="parseInt(dict.value)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="博主类型" prop="bloggerTypes">
|
||||
<el-input v-model="form.bloggerTypes" type="textarea" placeholder="请输入内容" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否公开联系方式" prop="isShowTel">
|
||||
<el-select v-model="form.isShowTel" placeholder="请选择是否公开联系方式" :disabled="isDetail">
|
||||
<el-option
|
||||
v-for="dict in dict.type.true_or_false"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="parseInt(dict.value)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="微信号" prop="wechat">
|
||||
<el-input v-model="form.wechat" placeholder="请输入微信号" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="电话" prop="tel">
|
||||
<el-input v-model="form.tel" placeholder="请输入电话" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="微信群码图片" prop="groupImage">
|
||||
<image-upload :limit="1" v-model="form.groupImage" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="产品图" prop="images">
|
||||
<image-upload :limit="9" v-model="form.images" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
|
||||
<el-col :span="16">
|
||||
<el-form-item label="产品图" prop="images">
|
||||
<image-upload :limit="9" v-model="form.images" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="通告明细" prop="detail">
|
||||
<Editor v-model="form.detail" style="height: 300px" placeholder="请输入内容" :read-only="isDetail" />
|
||||
</el-form-item>
|
||||
@ -233,6 +162,7 @@ export default {
|
||||
platformList:[],
|
||||
provinceList:[],
|
||||
cityList:[],
|
||||
bloggerList:[],
|
||||
// 表单校验
|
||||
rules: {
|
||||
title: [
|
||||
@ -258,6 +188,12 @@ export default {
|
||||
],
|
||||
detail: [
|
||||
{ required: true, message: "通告明细不能为空", trigger: "blur" }
|
||||
],
|
||||
brand:[
|
||||
{ required: true, message: "品牌不能为空", trigger: "blur" }
|
||||
],
|
||||
fansDown:[
|
||||
{ required: true, message: "粉丝下限不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
}
|
||||
@ -265,6 +201,7 @@ export default {
|
||||
mounted() {
|
||||
this.getPlatform()
|
||||
this.getProvince()
|
||||
this.getBloggerList()
|
||||
},
|
||||
methods: {
|
||||
provinceChange(e){
|
||||
@ -290,6 +227,12 @@ export default {
|
||||
this.platformList = res.data
|
||||
})
|
||||
},
|
||||
getBloggerList(){
|
||||
listByCode({code:'dl_blogger_type'}).then(res=>{
|
||||
this.bloggerList = res.data
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -183,8 +183,9 @@
|
||||
<el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="平台" width="100" align="center" prop="platformName" />
|
||||
<el-table-column label="发布者" width="100" align="center" prop="userNickName" />
|
||||
<el-table-column label="标题" width="100" align="center" prop="title" />
|
||||
<el-table-column label="发布者" width="100" align="center" prop="userNickName" />
|
||||
<el-table-column label="浏览量" width="100" align="center" prop="viewNum" />
|
||||
|
||||
<el-table-column label="平台名称" width="100" align="center" prop="platformName" />
|
||||
<el-table-column label="稿费下限" width="100" align="center" prop="feeDown" />
|
||||
@ -194,8 +195,6 @@
|
||||
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isSelfPrice"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="赠品明细" width="100" align="center" prop="giftDetail" />
|
||||
<el-table-column label="赠品价值(元)" width="100" align="center" prop="giftPrice" />
|
||||
<el-table-column label="截止日期" width="100" align="center" prop="endDate">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
|
||||
@ -223,21 +222,32 @@
|
||||
<dict-tag :options="dict.type.true_or_false" :value="scope.row.isUseCoupon"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="审核备注" align="center" prop="approvalRemark" />
|
||||
<el-table-column label="认证时间" align="center" prop="createTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="审核状态" align="center" prop="approvalStatus">
|
||||
<el-table-column fixed="right" label="审核状态" width="100" align="center" prop="approvalStatus">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.dl_approval_status" :value="scope.row.approvalStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="审核人" align="center" prop="approvalUserId" />
|
||||
<el-table-column fixed="right" label="审核人" align="center" prop="approvalUserName" >
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.approvalUserName">
|
||||
{{scope.row.approvalUserName}}
|
||||
</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.approvalStatus == 1">
|
||||
{{"自动通过"}}
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="审核备注" align="center" prop="approvalRemark" />
|
||||
<el-table-column fixed="right" label="审核时间" align="center" prop="approvalTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.approvalTime, '{y}-{m}-{d}') }}</span>
|
||||
<span>{{ parseTime(scope.row.approvalTime, '{y}-{m}-{d} {h}:{i}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" width="220px" align="center" class-name="small-padding fixed-width">
|
||||
@ -245,28 +255,32 @@
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-s-data"
|
||||
@click="handleDetail(scope.row)"
|
||||
>详情</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-s-check"
|
||||
v-if="scope.row.approvalStatus == 0"
|
||||
@click="handleAudit(scope.row)"
|
||||
v-hasPermi="['busi:notice:audit']"
|
||||
v-hasPermi="['busi:notice:edit']"
|
||||
>审核</el-button>
|
||||
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
v-if="scope.row.approvalStatus == 1"
|
||||
@click="closeNotice(scope.row)"
|
||||
v-hasPermi="['busi:notice:edit']"
|
||||
>关闭</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
v-if="scope.row.approvalStatus == 0"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['busi:notice:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['busi:notice:remove']"
|
||||
>删除</el-button>
|
||||
@ -283,18 +297,46 @@
|
||||
/>
|
||||
|
||||
<!-- 添加或修改通告对话框 -->
|
||||
<el-dialog append-to-body :title="title" :visible.sync="open" width="1500px" append-to-body>
|
||||
<EditForm ref="editForm" :is-detail="isDetail"></EditForm>
|
||||
<el-dialog :title="title" :visible.sync="open" width="1500px" append-to-body>
|
||||
<EditForm ref="editForm" v-if="open" :is-detail="isDetail"></EditForm>
|
||||
<div slot="footer" class="dialog-footer" v-if="!isDetail">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 审核功能弹窗 -->
|
||||
<el-dialog title="通告审核" :visible.sync="auditOpen" width="800px" append-to-body>
|
||||
<el-form ref="form" :model="auditForm" v-if="auditOpen" label-width="150px">
|
||||
<el-row :gutter="20">
|
||||
<el-form-item label="审核结果" prop="approvalStatus">
|
||||
<el-radio-group v-model="auditForm.approvalStatus">
|
||||
<el-radio :label="1">通过</el-radio>
|
||||
<el-radio :label="0">拒绝</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-form-item label="备注" prop="detail">
|
||||
<el-input
|
||||
type="textarea"
|
||||
|
||||
placeholder="请输入内容"
|
||||
v-model="auditForm.approvalRemark">
|
||||
</el-input>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer" >
|
||||
<el-button type="primary" @click="auditFunction()">完 成</el-button>
|
||||
<el-button @click="auditOpen = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/busi/notice";
|
||||
import {listNotice, getNotice, delNotice, addNotice, updateNotice, auditInfo,publishTakeDown} from "@/api/busi/notice";
|
||||
import {listByCode} from "@/api/base/category";
|
||||
import {getRegion} from "@/api/base/util";
|
||||
import EditForm from "./component/EditForm.vue"
|
||||
@ -305,6 +347,7 @@ export default {
|
||||
components: {EditForm},
|
||||
data() {
|
||||
return {
|
||||
isDetail:false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
@ -323,6 +366,7 @@ export default {
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
auditOpen:false,
|
||||
// 审核备注时间范围
|
||||
daterangeCreateTime: [],
|
||||
// 查询参数
|
||||
@ -361,6 +405,10 @@ export default {
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
auditForm:{
|
||||
approvalStatus:1,
|
||||
approvalRemark:null
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
title: [
|
||||
@ -398,6 +446,13 @@ export default {
|
||||
this.getPlatform()
|
||||
},
|
||||
methods: {
|
||||
auditFunction(){
|
||||
auditInfo(this.auditForm).then(response => {
|
||||
this.$modal.msgSuccess("审核成功");
|
||||
this.auditOpen = false;
|
||||
this.getList();
|
||||
});
|
||||
},
|
||||
getProvince(){
|
||||
getRegion(null).then(res=>{
|
||||
this.provinceList = res.data
|
||||
@ -432,7 +487,6 @@ export default {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
isDetail:false,
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
@ -507,13 +561,26 @@ export default {
|
||||
this.isDetail = true
|
||||
this.open = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.editForm.form.bloggerTypeList = response.data.bloggerTypes.split(',')
|
||||
this.$refs.editForm.form = response.data;
|
||||
});
|
||||
this.title = "通告详情";
|
||||
});
|
||||
},
|
||||
closeNotice(row){
|
||||
let param = {}
|
||||
param.noticeId = row.id
|
||||
param.publishTakeDown = '0'
|
||||
publishTakeDown(param).then(response => {
|
||||
this.$modal.msgSuccess("关闭成功");
|
||||
this.getList();
|
||||
});
|
||||
},
|
||||
handleAudit(row) {
|
||||
this.audit
|
||||
this.auditForm.id = row.id
|
||||
this.auditForm.approvalStatus = 1
|
||||
this.auditForm.approvalRemark = null
|
||||
this.auditOpen = true
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
@ -524,6 +591,7 @@ export default {
|
||||
this.open = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.editForm.form = response.data;
|
||||
this.$refs.editForm.form.bloggerTypeList = response.data.bloggerTypes.split(',')
|
||||
});
|
||||
this.title = "修改通告";
|
||||
});
|
||||
@ -532,14 +600,16 @@ export default {
|
||||
submitForm() {
|
||||
this.$refs.editForm.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.$refs.editForm.form.id != null) {
|
||||
updateNotice(this.$refs.editForm.form).then(response => {
|
||||
let requestData = this.$refs.editForm.form
|
||||
requestData.bloggerTypes = this.$refs.editForm.form.bloggerTypeList.join(',')
|
||||
if (requestData.id != null) {
|
||||
updateNotice(requestData).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addNotice(this.$refs.editForm.form).then(response => {
|
||||
addNotice(requestData).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
|
@ -1,33 +1,25 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="被举报人" prop="reportUserId">
|
||||
<el-form-item label="被举报人" prop="reportUserNickName">
|
||||
<el-input
|
||||
v-model="queryParams.reportUserId"
|
||||
v-model="queryParams.reportUserNickName"
|
||||
placeholder="请输入被举报人"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="被举报的通告" prop="reportNoticeId">
|
||||
<el-form-item label="通告" prop="reportNoticeTitle">
|
||||
<el-input
|
||||
v-model="queryParams.reportNoticeId"
|
||||
placeholder="请输入被举报的通告"
|
||||
v-model="queryParams.reportNoticeTitle"
|
||||
placeholder="请输入通告"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="举报类型文本" prop="reportTitle">
|
||||
<el-form-item label="处理人" prop="dealUserName">
|
||||
<el-input
|
||||
v-model="queryParams.reportTitle"
|
||||
placeholder="请输入举报类型文本"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="处理人" prop="dealUserId">
|
||||
<el-input
|
||||
v-model="queryParams.dealUserId"
|
||||
v-model="queryParams.dealUserName"
|
||||
placeholder="请输入处理人"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
@ -40,27 +32,6 @@
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['busi:report:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['busi:report:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
@ -72,27 +43,23 @@
|
||||
v-hasPermi="['busi:report:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['busi:report:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="reportList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="唯一主键" align="center" prop="id" />
|
||||
<el-table-column label="用户" align="center" prop="userId" />
|
||||
<el-table-column label="被举报人" align="center" prop="reportUserId" />
|
||||
<el-table-column label="被举报的通告" align="center" prop="reportNoticeId" />
|
||||
<el-table-column label="举报类型文本" align="center" prop="reportTitle" />
|
||||
<el-table-column label="处理人" align="center" prop="dealUserId" />
|
||||
<el-table-column label="用户" align="center" prop="userNickName" />
|
||||
<el-table-column label="被举报人" align="center" prop="reportUserNickName" />
|
||||
<el-table-column label="被举报的通告" align="center" prop="reportNoticeTitle" />
|
||||
<el-table-column label="举报类型" align="center" prop="reportTitle" />
|
||||
<el-table-column label="举报内容" align="center" prop="content" />
|
||||
<el-table-column label="举报图片" align="center" prop="images" >
|
||||
<template slot-scope="scope">
|
||||
<image-preview :src="scope.row.images" :width="50" :height="50"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="处理人" align="center" prop="dealUserName" />
|
||||
|
||||
<el-table-column label="处理结果" align="center" prop="dealResult" />
|
||||
<el-table-column label="处理时间" align="center" prop="dealTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
@ -107,7 +74,7 @@
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['busi:report:edit']"
|
||||
>修改</el-button>
|
||||
>处理</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@ -118,7 +85,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
@ -128,54 +95,23 @@
|
||||
/>
|
||||
|
||||
<!-- 添加或修改举报记录对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户类型" prop="userType">
|
||||
<el-select v-model="form.userType" placeholder="请选择用户类型">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dl_user_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="被举报人" prop="reportUserId">
|
||||
<el-input v-model="form.reportUserId" placeholder="请输入被举报人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="被举报人类型" prop="reportUserType">
|
||||
<el-select v-model="form.reportUserType" placeholder="请选择被举报人类型">
|
||||
<el-option
|
||||
v-for="dict in dict.type.dl_user_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="被举报的通告" prop="reportNoticeId">
|
||||
<el-input v-model="form.reportNoticeId" placeholder="请输入被举报的通告" />
|
||||
</el-form-item>
|
||||
<el-form-item label="举报类型文本" prop="reportTitle">
|
||||
<el-input v-model="form.reportTitle" placeholder="请输入举报类型文本" />
|
||||
</el-form-item>
|
||||
<el-dialog title="举报处理" :visible.sync="open" width="1000px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
||||
<el-form-item label="举报描述" prop="content">
|
||||
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="举报图片" prop="images">
|
||||
<image-upload v-model="form.images"/>
|
||||
<image-upload :disabled="true" v-model="form.images"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="处理人" prop="dealUserId">
|
||||
<el-input v-model="form.dealUserId" placeholder="请输入处理人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="处理时间" prop="dealTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.dealTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择处理时间">
|
||||
</el-date-picker>
|
||||
<el-form-item label="处理结果" prop="dealResult">
|
||||
<el-input
|
||||
type="textarea"
|
||||
|
||||
placeholder="请输入内容"
|
||||
v-model="form.dealResult">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
@ -186,7 +122,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listReport, getReport, delReport, addReport, updateReport } from "@/api/busi/report";
|
||||
import {listReport, getReport, delReport, addReport, updateReport, dealReport} from "@/api/busi/report";
|
||||
|
||||
export default {
|
||||
name: "Report",
|
||||
@ -215,16 +151,14 @@ export default {
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
userId: null,
|
||||
reportUserId: null,
|
||||
reportNoticeId: null,
|
||||
reportTitle: null,
|
||||
dealUserId: null,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
dealResult: [
|
||||
{ required: true, message: "处理结果不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -306,20 +240,13 @@ export default {
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateReport(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addReport(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
dealReport(this.form).then(response => {
|
||||
this.$modal.msgSuccess("处理成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
|
Loading…
Reference in New Issue
Block a user