留言管理
This commit is contained in:
@ -1,11 +1,11 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
// 留言列表
|
||||
export function listMessage(data) {
|
||||
export function listMessage(params) {
|
||||
return request({
|
||||
url: "/business/websiteMessage/list",
|
||||
method: "get",
|
||||
data,
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { parseTime } from '@/ruoyi'
|
||||
import { parseTime } from '@/utils/ruoyi'
|
||||
|
||||
/**
|
||||
* 表格时间格式化
|
||||
|
@ -13,7 +13,7 @@
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- <h1>八大领域设置</h1> -->
|
||||
|
||||
<el-table
|
||||
:data="sysIndustryList"
|
||||
style="width: 100%"
|
||||
@ -21,7 +21,6 @@
|
||||
row-key="id"
|
||||
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
||||
>
|
||||
<!-- <el-table-column type="expand"></el-table-column> -->
|
||||
<el-table-column prop="name" label="领域名称" />
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default="props">
|
||||
@ -81,7 +80,7 @@
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
<script setup name="Industry">
|
||||
import {
|
||||
listSysIndustry,
|
||||
sysIndustryAdd,
|
||||
@ -138,6 +137,7 @@ const getTreeselect = (options) => {
|
||||
menuOptions.value.push(menu);
|
||||
};
|
||||
|
||||
// 为每一个对象添加级别属性
|
||||
const setTreeLevel = (node, index = 1) => {
|
||||
node.forEach((item) => {
|
||||
item["level"] = index;
|
||||
@ -148,6 +148,7 @@ const setTreeLevel = (node, index = 1) => {
|
||||
return node;
|
||||
};
|
||||
|
||||
// 查询领域下拉树结构限制级别
|
||||
const setThreeLevelTree = (node) => {
|
||||
return node.map((item) => {
|
||||
const result = { ...item };
|
||||
@ -160,21 +161,24 @@ const setThreeLevelTree = (node) => {
|
||||
});
|
||||
};
|
||||
|
||||
// 重置表单
|
||||
const reset = () => {
|
||||
form.value = {
|
||||
parentId: undefined,
|
||||
name: undefined,
|
||||
};
|
||||
// resetForm("formRef");
|
||||
if (formRef.value) {
|
||||
formRef.value.resetFields();
|
||||
}
|
||||
};
|
||||
|
||||
// 点击弹框取消按钮操作
|
||||
const cancel = () => {
|
||||
showEditDialog.value = false;
|
||||
reset();
|
||||
};
|
||||
|
||||
// 添加按钮操作
|
||||
const handleAdd = (row) => {
|
||||
reset();
|
||||
if (row != null && row.parentId != undefined && row.id !== undefined) {
|
||||
@ -185,50 +189,29 @@ const handleAdd = (row) => {
|
||||
showEditDialog.value = true;
|
||||
dialogTitle.value = "添加领域";
|
||||
};
|
||||
|
||||
/** 修改按钮操作 */
|
||||
const handleUpdate = (row) => {
|
||||
reset();
|
||||
form.value = cloneDeep(row);
|
||||
|
||||
showEditDialog.value = true;
|
||||
dialogTitle.value = "修改领域";
|
||||
};
|
||||
|
||||
/** 提交按钮 */
|
||||
const submitForm = async () => {
|
||||
await formRef.value.validate();
|
||||
|
||||
if (form.value.id) {
|
||||
sysIndustryEdit(form.value).then((response) => {
|
||||
ElMessage.success("修改成功");
|
||||
showEditDialog.value = false;
|
||||
getSysIndustryList();
|
||||
});
|
||||
await sysIndustryEdit(form.value);
|
||||
ElMessage.success("修改成功");
|
||||
showEditDialog.value = false;
|
||||
getSysIndustryList();
|
||||
} else {
|
||||
sysIndustryAdd(form.value).then((response) => {
|
||||
ElMessage.success("新增成功");
|
||||
showEditDialog.value = false;
|
||||
getSysIndustryList();
|
||||
});
|
||||
sysIndustryAdd(form.value);
|
||||
ElMessage.success("新增成功");
|
||||
showEditDialog.value = false;
|
||||
getSysIndustryList();
|
||||
}
|
||||
|
||||
// formRef.value.validate((valid) => {
|
||||
// if (valid) {
|
||||
// if (form.value.id) {
|
||||
// console.log(valid);
|
||||
// industryEdit(form.value).then((response) => {
|
||||
// ElMessage.success("修改成功");
|
||||
// showEditDialog.value = false;
|
||||
// getSysIndustryList();
|
||||
// });
|
||||
// } else {
|
||||
// industryAdd(form.value).then((response) => {
|
||||
// ElMessage.success("新增成功");
|
||||
// showEditDialog.value = false;
|
||||
// getSysIndustryList();
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
};
|
||||
|
||||
/** 删除按钮操作 */
|
||||
|
@ -1,5 +1,71 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryFormRef"
|
||||
v-show="showSearch"
|
||||
:inline="true"
|
||||
>
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="处理状态" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="用户状态"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
@clear="delete queryParams.status"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in statusOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="需求内容" prop="content">
|
||||
<el-input
|
||||
v-model="queryParams.content"
|
||||
placeholder="请输入需求内容"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="search"
|
||||
size="small"
|
||||
@click="handleQuery"
|
||||
>搜索</el-button
|
||||
>
|
||||
<el-button icon="refresh" size="small" @click="resetQuery"
|
||||
>重置</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row justify="end" style="margin-bottom: 10px">
|
||||
<right-toolbar
|
||||
v-model:showSearch="showSearch"
|
||||
@queryTable="getList"
|
||||
></right-toolbar>
|
||||
</el-row>
|
||||
<!-- <RightToolBar
|
||||
v-model:showSearch="showSearch"
|
||||
@queryTable="getList"
|
||||
></RightToolBar> -->
|
||||
<el-table v-loading="loading" :data="dataList">
|
||||
<el-table-column label="数据编号" prop="id" align="center" />
|
||||
<el-table-column
|
||||
@ -14,9 +80,9 @@
|
||||
<el-table-column label="邮箱" prop="email" align="center" />
|
||||
<el-table-column label="提交网页地址" prop="area_domain" align="center" />
|
||||
<el-table-column label="处理状态" prop="status" align="center">
|
||||
<template slot-scope="scope">
|
||||
<template #default="props">
|
||||
{{
|
||||
statusOptions.find((item) => item.value == scope.row.status).label
|
||||
statusOptions.find((item) => item.value == props.row.status).label
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -26,56 +92,81 @@
|
||||
align="center"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="处理时间" prop="handle_created_at" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ formatTime(scope.row.handle_created_at) }}</span>
|
||||
</template>
|
||||
<el-table-column label="处理时间" prop="createTime" align="center">
|
||||
<!-- <template #default="props">
|
||||
<span>{{ formatTime(props.row.createTime) }}</span>
|
||||
</template> -->
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="(form = scope.row), (open = true)"
|
||||
>查看</el-button
|
||||
>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="scope.row.status != 2"
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>处理</el-button
|
||||
>
|
||||
<template #default="props">
|
||||
<template v-if="props.row.roleId !== 1">
|
||||
<el-button
|
||||
size="small"
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="(form = props.row), (open = true)"
|
||||
>查看</el-button
|
||||
>
|
||||
<el-button
|
||||
size="small"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(props.row)"
|
||||
>删除</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="props.row.status != 2"
|
||||
size="small"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(props.row)"
|
||||
>处理</el-button
|
||||
>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNum"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import { reactive, toRefs } from "vue";
|
||||
// import RightToolBar from "@/components/RightToolbar";
|
||||
import {
|
||||
listMessage,
|
||||
messageDelete,
|
||||
messageHandle,
|
||||
} from "@/api/website/message";
|
||||
|
||||
// import { formatTime } from "@/utils/index.js";
|
||||
|
||||
const queryFormRef = ref(null); // 搜索表单ref
|
||||
const loading = ref(true); // 是否正在加载
|
||||
const dataList = ref([]); // 数据列表
|
||||
const total = ref(0); //总数
|
||||
const showSearch = ref(true);
|
||||
const statusOptions = ref([
|
||||
{
|
||||
label: "未处理",
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: "已处理",
|
||||
value: 2,
|
||||
},
|
||||
]);
|
||||
const data = reactive({
|
||||
queryParams: {},
|
||||
});
|
||||
@ -85,24 +176,23 @@ const { queryParams } = toRefs(data);
|
||||
// 重置搜索表单
|
||||
const resetQuery = () => {
|
||||
if (queryFormRef.value) {
|
||||
queryFormRef.resetFields();
|
||||
queryFormRef.value.resetFields();
|
||||
}
|
||||
handleQuery();
|
||||
};
|
||||
|
||||
// 处理搜索点击
|
||||
const handleQuery = () => {
|
||||
queryParams.page_num = 1;
|
||||
queryParams.value.pageNum = 1;
|
||||
getList();
|
||||
};
|
||||
// 获取列表
|
||||
const getList = async () => {
|
||||
loading.value = true;
|
||||
listMessage(this.queryParams).then((res) => {
|
||||
dataList.value = res.data.data;
|
||||
total.value = res.data.count;
|
||||
loading.value = false;
|
||||
});
|
||||
const resp = await listMessage(queryParams.value);
|
||||
dataList.value = resp.rows;
|
||||
total.value = resp.total;
|
||||
loading.value = false;
|
||||
};
|
||||
// 处理修改
|
||||
const handleUpdate = (row) => {
|
||||
@ -114,8 +204,8 @@ const handleUpdate = (row) => {
|
||||
})
|
||||
.then(({ value }) => {
|
||||
messageHandle({ id: row.id, content: value }).then((response) => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("处理成功");
|
||||
getList();
|
||||
ElMessage.success("处理成功");
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
@ -124,7 +214,7 @@ const handleUpdate = (row) => {
|
||||
const handleDelete = (row) => {
|
||||
ElMessageBox.confirm(`是否确认删除编号为${row.id}的数据项?`)
|
||||
.then(() => {
|
||||
return messageDelete({ id: row.id });
|
||||
return messageDelete(row.id);
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
@ -132,4 +222,5 @@ const handleDelete = (row) => {
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
getList();
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user