2024-07-30 15:07:56 +08:00
|
|
|
<template>
|
2024-10-23 16:16:22 +08:00
|
|
|
<div>
|
2024-10-23 15:18:19 +08:00
|
|
|
<el-row>
|
|
|
|
<el-col v-for="item in serviceList" :span="4">
|
|
|
|
<image-preview :width="300" :height="300" :src="item.coverImg"></image-preview>
|
2024-10-23 16:16:22 +08:00
|
|
|
{{ item.name }}
|
2024-07-30 15:07:56 +08:00
|
|
|
</el-col>
|
|
|
|
</el-row>
|
2024-10-23 16:16:22 +08:00
|
|
|
<div style="margin-top: 30px">
|
|
|
|
<el-row :gutter="20">
|
|
|
|
<el-col :span="12">
|
|
|
|
<div>
|
|
|
|
<div style="font-size: 30px;margin-bottom: 30px">资产临期提醒</div>
|
|
|
|
<el-table
|
|
|
|
:data="warnList"
|
|
|
|
stripe
|
|
|
|
style="width: 100%">
|
|
|
|
<el-table-column
|
|
|
|
prop="date"
|
|
|
|
label="日期"
|
|
|
|
width="180">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
|
|
prop="name"
|
|
|
|
label="姓名"
|
|
|
|
width="180">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
|
|
prop="address"
|
|
|
|
label="地址">
|
|
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
|
|
|
|
|
|
<!-- 分页组件 -->
|
|
|
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
|
|
|
@pagination="getList"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
|
|
<div>
|
|
|
|
<div style="font-size: 30px;margin-bottom: 30px">消息通知</div>
|
|
|
|
<el-table
|
|
|
|
:data="messageList"
|
|
|
|
stripe
|
|
|
|
style="width: 100%">
|
|
|
|
<el-table-column
|
|
|
|
prop="templateNickname"
|
|
|
|
label="发送人"
|
|
|
|
width="120">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="发送时间" align="center" prop="createTime" width="180">
|
|
|
|
<template v-slot="scope">
|
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="类型" align="center" prop="templateType" width="80">
|
|
|
|
<template v-slot="scope">
|
|
|
|
<dict-tag :type="DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE" :value="scope.row.templateType" />
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column
|
|
|
|
prop="templateContent"
|
|
|
|
label="内容">
|
|
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
|
|
|
|
|
|
<!-- 分页组件 -->
|
|
|
|
<pagination v-show="messageTotal > 0" :total="messageTotal" :page.sync="messageQueryParams.pageNo"
|
|
|
|
:limit.sync="messageQueryParams.pageSize"
|
|
|
|
@pagination="getNotifyMessage"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</div>
|
2024-10-23 15:18:19 +08:00
|
|
|
|
2024-07-30 15:07:56 +08:00
|
|
|
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import PanelGroup from './dashboard/PanelGroup'
|
|
|
|
import LineChart from './dashboard/LineChart'
|
|
|
|
import RaddarChart from './dashboard/RaddarChart'
|
|
|
|
import PieChart from './dashboard/PieChart'
|
|
|
|
import BarChart from './dashboard/BarChart'
|
2024-10-23 15:18:19 +08:00
|
|
|
import {getServicePackageList} from "@/api/system/servicePackage";
|
2024-10-23 16:16:22 +08:00
|
|
|
import {getMyNotifyMessagePage, getUnreadNotifyMessageList} from "@/api/system/notify/message";
|
2024-07-30 15:07:56 +08:00
|
|
|
|
|
|
|
const lineChartData = {
|
|
|
|
newVisitis: {
|
|
|
|
expectedData: [100, 120, 161, 134, 105, 160, 165],
|
|
|
|
actualData: [120, 82, 91, 154, 162, 140, 145]
|
|
|
|
},
|
|
|
|
messages: {
|
|
|
|
expectedData: [200, 192, 120, 144, 160, 130, 140],
|
|
|
|
actualData: [180, 160, 151, 106, 145, 150, 130]
|
|
|
|
},
|
|
|
|
purchases: {
|
|
|
|
expectedData: [80, 100, 121, 104, 105, 90, 100],
|
|
|
|
actualData: [120, 90, 100, 138, 142, 130, 130]
|
|
|
|
},
|
|
|
|
shoppings: {
|
|
|
|
expectedData: [130, 140, 141, 142, 145, 150, 160],
|
|
|
|
actualData: [120, 82, 91, 154, 162, 140, 130]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'Index',
|
|
|
|
components: {
|
|
|
|
PanelGroup,
|
|
|
|
LineChart,
|
|
|
|
RaddarChart,
|
|
|
|
PieChart,
|
|
|
|
BarChart
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
2024-10-23 15:18:19 +08:00
|
|
|
lineChartData: lineChartData.newVisitis,
|
2024-10-23 16:16:22 +08:00
|
|
|
serviceList: [],
|
|
|
|
warnList: [],
|
|
|
|
messageList: [],
|
|
|
|
queryParams: {
|
|
|
|
pageNo: 1,
|
|
|
|
pageSize: 10
|
|
|
|
},
|
|
|
|
messageQueryParams: {
|
|
|
|
pageNo: 1,
|
|
|
|
pageSize: 10
|
|
|
|
},
|
|
|
|
messageTotal: 0
|
2024-07-30 15:07:56 +08:00
|
|
|
}
|
|
|
|
},
|
2024-10-23 15:18:19 +08:00
|
|
|
created() {
|
|
|
|
this.getServiceList()
|
2024-10-23 16:16:22 +08:00
|
|
|
this.getNotifyMessage()
|
2024-10-23 15:18:19 +08:00
|
|
|
},
|
2024-07-30 15:07:56 +08:00
|
|
|
methods: {
|
|
|
|
handleSetLineChartData(type) {
|
|
|
|
this.lineChartData = lineChartData[type]
|
2024-10-23 15:18:19 +08:00
|
|
|
},
|
2024-10-23 16:16:22 +08:00
|
|
|
getNotifyMessage() {
|
|
|
|
// 执行查询
|
|
|
|
getMyNotifyMessagePage(this.messageQueryParams).then(response => {
|
|
|
|
this.messageList = response.data.list;
|
|
|
|
this.messageTotal = response.data.total;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
getServiceList() {
|
2024-10-23 15:18:19 +08:00
|
|
|
getServicePackageList(this.queryParams).then(response => {
|
|
|
|
this.serviceList = response.data;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
2024-07-30 15:07:56 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
.dashboard-editor-container {
|
|
|
|
padding: 32px;
|
|
|
|
background-color: rgb(240, 242, 245);
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
.chart-wrapper {
|
|
|
|
background: #fff;
|
|
|
|
padding: 16px 16px 0;
|
|
|
|
margin-bottom: 32px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-10-23 16:16:22 +08:00
|
|
|
@media (max-width: 1024px) {
|
2024-07-30 15:07:56 +08:00
|
|
|
.chart-wrapper {
|
|
|
|
padding: 8px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|