flat: 咨询信箱、等70%

This commit is contained in:
Apcallover
2024-04-28 22:18:03 +08:00
parent 3e5eba833a
commit b4b8fc7ed0
11 changed files with 1335 additions and 421 deletions

View File

@@ -13,26 +13,26 @@
@search-reset="searchReset"
@on-load="onLoad"
>
<template slot="menu" slot-scope="{row}">
<el-button size="small" type="text" @click="look(row)">查看</el-button>
</template>
<!-- <template slot="menu" slot-scope="{row}">-->
<!-- <el-button size="small" type="text" @click="seeDetail(row)">查看</el-button>-->
<!-- </template>-->
</avue-crud>
<!-- 新增编辑 -->
<el-drawer :title="drawerTitle" :visible.sync="viewDrawer" size="60%">
<div>
<el-row :gutter="20">
<el-col :span="12"><span>咨询部门</span>{{ lookData.consultDeptName }}</el-col>
<el-col :span="12"><span>咨询题目</span>{{ lookData.consultTopic }}</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12"><span>咨询内容</span>{{ lookData.consultContent }}</el-col>
<el-col :span="12"><span>联系电话</span>{{ lookData.consultPhone }}</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12"><span>咨询日期</span>{{ lookData.consultTime }}</el-col>
</el-row>
</div>
</el-drawer>
<!-- <el-drawer :title="drawerTitle" :visible.sync="viewDrawer" size="60%">-->
<!-- <div>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="12"><span>咨询部门</span>{{ lookData.consultDeptName }}</el-col>-->
<!-- <el-col :span="12"><span>咨询题目</span>{{ lookData.consultTopic }}</el-col>-->
<!-- </el-row>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="12"><span>咨询内容</span>{{ lookData.consultContent }}</el-col>-->
<!-- <el-col :span="12"><span>联系电话</span>{{ lookData.consultPhone }}</el-col>-->
<!-- </el-row>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="12"><span>咨询日期</span>{{ lookData.consultTime }}</el-col>-->
<!-- </el-row>-->
<!-- </div>-->
<!-- </el-drawer>-->
</basic-container>
</template>
@@ -40,43 +40,97 @@
import {dateFormat} from '@/util/date'
import Tinymce from "@/components/Tinymce";
import {getList} from '@/api/manage/mailbox'
const classStatus = {
0: '未处理',
1: '已处理',
}
const initPages = {
pageSize: 10,
currentPage: 1,
total: 100,
}
const classEnumStatus = Object.keys(classStatus).map((item) => ({
label: classStatus[item], value: Number(item)
}))
const columnList = [
{
label: "咨询部门",
prop: "consultDeptName",
search: false,
},
// {
// label: "咨询部门",
// prop: "consultDeptName",
// search: true,
// },
{
label: "咨询题目",
prop: "consultTopic",
search: false,
search: true,
},
{
label: "咨询人",
prop: "consultName",
search: true,
}, {
label: "创建人",
prop: "createUser",
hide: true,
}, {
label: "创建部门",
prop: "createDept",
hide: true,
}, {
label: "修改人",
prop: "updateUser",
hide: true,
},
{
label: "咨询内容",
prop: "consultContent",
search: false,
}, {
label: "联系电话",
prop: "consultPhone",
},
{
label: "意见内容",
prop: "opinionContent",
search: false,
},
{
label: "联系电话",
prop: "reply_content",
search: true,
},
{
label: "咨询日期",
prop: "consultTime",
type:'datetime',
searchSpan:8,
searchRange:true,
}
type: 'datetime',
searchSpan: 8,
searchRange: true,
},
{
label: "处置情况",
prop: "disposalSituation",
search: true,
},
{
label: "是否阅读",
prop: "isRead",
search: false,
hide: true,
},
{
label: "是否处理",
prop: "status",
type: "select",
dicData: classEnumStatus,
search: true,
},
]
const rules = {
name: [
{ required: true, message: '请输入内容标题', trigger: 'blur' }
{required: true, message: '请输入内容标题', trigger: 'blur'}
],
type: [
{ required: true, message: '请选择分类', trigger: 'blur' }
{required: true, message: '请选择分类', trigger: 'blur'}
],
content: [
{ required: true, message: '请输入内容', trigger: 'blur' }
{required: true, message: '请输入内容', trigger: 'blur'}
],
}
export default {
@@ -86,16 +140,23 @@ export default {
},
mounted() {
},
data () {
data() {
return {
applTime: '',
loading:false,
viewDrawer:false,
loading: false,
viewDrawer: false,
drawerTitle: '新增内容',
formOption: {},
query: {},
rules: Object.assign({}, rules),
option: {
data: [],
lookData: {},
page: Object.assign({}, initPages),
}
},
computed: {
option() {
return {
height: "auto",
tip: false,
searchShow: true,
@@ -104,25 +165,18 @@ export default {
index: true,
indexLabel: "序号",
selection: false,
viewBtn: false,
viewBtn: true,
addBtn: false,
editBtn:false,
editBtn: false,
delBtn: false,
columnBtn: false,
menuWidth: 300,
labelWidth: 151,
menuWidth: 150,
// labelWidth: 151,
dialogClickModal: false,
dialogType: "drawer",
dialogFullscreen: true,
column: columnList,
},
data: [],
lookData: {},
page: {
pageSize: 10,
currentPage: 1,
total: 100,
},
}
}
},
methods: {
@@ -137,24 +191,11 @@ export default {
this.$refs[formName].resetFields();
this.viewDrawer = false
},
/* 表格方法 */
onLoad(page, params = {}) {
this.loading = true;
getList(
page.currentPage,
page.pageSize,
Object.assign(this.query, params)
).then((res) => {
this.data = res.data.data.records;
this.page.total = res.data.data.total;
this.loading = false;
});
},
searchReset() {
this.query = {};
this.onLoad(this.page);
this.onLoad();
},
searchChange(params,done) {
searchChange(params, done) {
console.log(params);
if (params.applTime) {
var val = JSON.parse(JSON.stringify(params.applTime))
@@ -165,7 +206,7 @@ export default {
this.query = params;
console.log(this.query);
this.page.currentPage = 1;
this.onLoad(this.page, params);
this.onLoad();
done();
},
currentChange(val) {
@@ -175,9 +216,30 @@ export default {
this.page.currentPage = 1
this.page.pageSize = val
},
refreshChange () {
refreshChange() {
this.page.currentPage = 1;
this.onLoad(this.page)
this.onLoad()
},
/* 表格方法 */
onLoad() {
return new Promise(async (resolve, reject) => {
this.loading = true;
let params = {
current: this.page.currentPage,
size: this.page.pageSize,
...this.query,
}
let resData = await getList(params)
if (resData.data.code === 200) {
const {current, records, total, size} = resData.data.data
this.data = records;
this.page.total = total;
this.loading = false;
}
resolve()
})
},
seeDetail() {
}
}
}