This commit is contained in:
ds 2024-10-25 18:07:55 +08:00
parent 73576a54ae
commit 66e0810d56
10 changed files with 367 additions and 23 deletions

View File

@ -112,7 +112,12 @@ export const constantRoutes = [
component: () => import('@/views/system/account/profile/index'), component: () => import('@/views/system/account/profile/index'),
name: 'Profile', name: 'Profile',
meta: { title: '个人中心', icon: 'user' } meta: { title: '个人中心', icon: 'user' }
} },
{
path: '/notify',
name: 'notify',
component: () => import('@/views/notificationList/index')
},
] ]
} }
] ]

View File

@ -97,7 +97,7 @@ export default {
color: #999999 color: #999999
} }
.heng-box{ .heng-box{
background-color: #FF770F; /* background-color: #FF770F; */
width: 100%; width: 100%;
height: 2px; height: 2px;
margin-top: 10px; margin-top: 10px;

View File

@ -113,7 +113,7 @@ background-color: #FFFFFF;
color: #999999 color: #999999
} }
.heng-box{ .heng-box{
background-color: #FF770F; /* background-color: #FF770F; */
width: 100%; width: 100%;
height: 2px; height: 2px;
margin-top: 10px; margin-top: 10px;

View File

@ -1,7 +1,7 @@
<!-- 收银台订单--> <!-- 收银台订单-->
<template> <template>
<div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px"> <div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px">
<div class="card-change2-1" shadow="never"> <div class="card-change2-1" shadow="never" style="margin-bottom: 25px;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<div class="d-s" style="justify-content: space-between;width: 100%"> <div class="d-s" style="justify-content: space-between;width: 100%">
<div class="d-s"> <div class="d-s">
@ -33,7 +33,7 @@
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
<el-form-item class="" style="float: right;margin-top: 17px;"> <el-form-item class="" style="float: right;margin-top: 17px; margin-right: 0px;">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
@ -302,7 +302,7 @@ export default {
.table-box { .table-box {
width: 100%; width: 100%;
height: 47vh; height: 52vh;
overflow: auto; overflow: auto;
} }

View File

@ -1,7 +1,7 @@
<!-- 油品分析 --> <!-- 油品分析 -->
<template> <template>
<div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px"> <div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px">
<div class="card-change2-1" shadow="never" > <div class="card-change2-1" shadow="never" style="margin-bottom: 25px;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<div class="d-s" style="justify-content: space-between;width: 100%"> <div class="d-s" style="justify-content: space-between;width: 100%">
<div class="d-s"> <div class="d-s">
@ -34,7 +34,7 @@
</div> </div>
</div> </div>
<el-form-item class="" style="margin-top: 17px;"> <el-form-item class="" style="margin-top: 17px; margin-right: 0px;">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
@ -352,7 +352,7 @@ import {parseTime} from "@/utils/fuint";
.table-box{ .table-box{
width: 100%; width: 100%;
height: 47vh; height: 52vh;
overflow: auto; overflow: auto;
} }
.wrap-box{ .wrap-box{

View File

@ -1,7 +1,7 @@
<!-- 收银台订单--> <!-- 收银台订单-->
<template> <template>
<div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px" > <div style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px" >
<div class="card-change2-1" shadow="never"> <div class="card-change2-1" shadow="never" style="margin-bottom: 25px;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px" > <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px" >
<div class="d-s" style="justify-content: space-between;width: 100%"> <div class="d-s" style="justify-content: space-between;width: 100%">
<div class="d-s"> <div class="d-s">
@ -33,7 +33,7 @@
</div> </div>
</div> </div>
<el-form-item class="" style="float: right;margin-top: 17px"> <el-form-item class="" style="float: right;margin-top: 17px; margin-right: 0px;">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
@ -325,7 +325,7 @@ import {parseTime} from "@/utils/fuint";
.table-box{ .table-box{
width: 100%; width: 100%;
height: 47vh; height: 52vh;
overflow: auto; overflow: auto;
} }
.wrap-box{ .wrap-box{

View File

@ -1,7 +1,7 @@
<!-- 收银台订单--> <!-- 收银台订单-->
<template> <template>
<div class="" style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px"> <div class="" style="padding-top: 20px; padding-right: 20px; background: #f6f8f9;padding-bottom: 15px">
<div class="card-change2-1" style="padding-top: 20px" shadow="never"> <div class="card-change2-1" style="padding-top: 20px; margin-bottom: 25px;" shadow="never">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
<el-form-item label="" prop="deptId" style="width: 180px"> <el-form-item label="" prop="deptId" style="width: 180px">
<el-select <el-select
@ -13,7 +13,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="" style="float: right;"> <el-form-item class="" style="float: right; margin-right: 0px;">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
@ -249,7 +249,7 @@ import {getFenXiUserbalanceDataApi, getFenXiUserbalanceListApi} from "@/api/fina
.table-box{ .table-box{
width: 100%; width: 100%;
height: 49vh; height: 52vh;
overflow: auto; overflow: auto;
} }
.wrap-box{ .wrap-box{

View File

@ -258,7 +258,7 @@ export default {
}, },
methods:{ methods:{
goRoute(){ goRoute(){
this.$router.push("system/notify/page/getNotify") this.$router.push("/notify")
}, },
getNoticeList(){ getNoticeList(){
getNotificationlogList({pageNo: 1, pageSize: 4,sentTo:this.accountId}).then(res => { getNotificationlogList({pageNo: 1, pageSize: 4,sentTo:this.accountId}).then(res => {
@ -421,14 +421,14 @@ export default {
show: false show: false
}, },
data: [ data: [
{ value: Number(this.storeAmount.noWeekStoreTotal), name: '本月新增非七日活跃油站' }, { value: Number(this.storeAmount.noWeekStoreTotal), name: '非7日活跃油站' },
{ value: Number(this.storeAmount.weekStoreTotal), name: '本月新增七日活跃油站' } { value: Number(this.storeAmount.weekStoreTotal), name: '7日活跃油站' }
] ]
}, },
{ {
name: '', name: '',
type: 'pie', type: 'pie',
radius: ['45%', '68%'], radius: ['30%', '60%'],
labelLine: { labelLine: {
length: 30 length: 30
}, },
@ -502,7 +502,7 @@ export default {
{ {
name: '', name: '',
type: 'pie', type: 'pie',
radius: ['40%', '80%'], radius: ['30%', '70%'],
avoidLabelOverlap: false, avoidLabelOverlap: false,
itemStyle: { itemStyle: {
@ -644,7 +644,7 @@ export default {
{ {
name: '', name: '',
type: 'pie', type: 'pie',
radius: ['40%', '80%'], radius: ['30%', '70%'],
avoidLabelOverlap: false, avoidLabelOverlap: false,
itemStyle: { itemStyle: {
borderRadius: 10, borderRadius: 10,
@ -770,12 +770,12 @@ export default {
} }
.r-title{ .r-title{
font-weight: bold; font-weight: bold;
font-size: 42px; font-size: 48px;
color: #FFFFFF; color: #FFFFFF;
text-align: center; text-align: center;
} }
.r-size{ .r-size{
font-size: 16px; font-size: 18px;
color: #FFFFFF; color: #FFFFFF;
} }
.title_{ .title_{

View File

@ -0,0 +1,338 @@
<template>
<div>
<div class="top-box">
<span style="cursor: pointer" @click="goback()">当前位置首页--通知中心</span>
</div>
<div class="app-container">
<div class="card-change">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="" prop="deptName">
<el-input
v-model="queryParams.notificationName"
placeholder="请输入选择通知名称"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="notificationType">
<el-select v-model="queryParams.notificationType" placeholder="请选择通知类型" clearable style="width: 240px;">
<el-option label="到期提醒" value="到期提醒"></el-option>
<el-option label="库存预警" value="库存预警"></el-option>
<!-- 添加其他选项 -->
</el-select>
</el-form-item>
<el-form-item style="float: right">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- </el-card>-->
<!-- &lt;!&ndash; &ndash;&gt;-->
<!-- &lt;!&ndash; 列表信息&ndash;&gt;-->
<!-- <el-card style="margin-top: 20px" >-->
<el-table :data="tableData" style="width: 100%" border>
<el-table-column align="center" type="index" label="序号"></el-table-column>
<el-table-column align="center" prop="notificationName" label="通知名称"></el-table-column>
<el-table-column align="center" prop="notificationType" label="通知类型"></el-table-column>
<el-table-column align="center" prop="templateContent" label="通知内容"></el-table-column>
<!-- <el-table-column align="center" prop="sendStatus" label="通知状态"></el-table-column>-->
<el-table-column align="center" prop="createName" label="创建人"></el-table-column>
<el-table-column align="center" prop="createTime" label="创建时间"></el-table-column>
<el-table-column align="center" prop="createTime" label="发送时间"></el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</div>
</div>
</template>
<script>
import {deleteAppApi, getAppListApi, saveAppApi, updateAppApi} from "@/api/sys/app";
import {listUser} from "@/api/system/Site/site";
import {dutyList, getByRoleIdApi} from "@/api/duty/duty";
import {getNotificationlogList, saveSysNotificationApi, updateSysNotificationApi} from "@/api/sys/sysNotificationlog";
import {getSendNotifyApi, getSysNotifyList, saveSysNotifyApi, updateSysNotifyApi} from "@/api/sys/sysNotify";
export default {
name: "notify-record",
data() {
return {
tableData: [],
form: {
notificationName: '',
notificationType: '',
templateContent: '',
recipientRoles: [],
templateStatus: true,
// conditions: [
// { field: '', operator: '', value: '' }
// ],
recipientUser:[
]
},
// dutyList:[],
dutyList1:[],
//
userList: null,
//
open: false,
open1: false,
title:"",
total:0,
//
queryParams: {
page: 1,
pageSize: 10,
deptName:'',
legalRepresentativeContact:'',
appStatus:'',
},
//
queryParamsUser: {
page: 1,
pageSize: 10000
},
linshicunshu:[],
};
},
created() {
this.getList()
},
methods: {
getList(){
getNotificationlogList(this.queryParams).then(res=>{
this.tableData = res.data.records;
this.total = res.data.total
})
},
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
//
// API
this.submitDeviceInfo();
} else {
//
return false;
}
});
},
//
send(data) {
getSendNotifyApi({id :data}).then(res=>{
if(res.code === 200) {
this.getList()
}
})
},
getUserByRoles() {
if (this.form.recipientRoles.length === 0) {
this.form.recipientRoles = []
return
}
console.log("123",this.form.recipientRoles)
this.form.recipientUser = []
let ids = this.form.recipientRoles.join(',')
getByRoleIdApi({roleIds:ids}).then(res=>{
const getUsertList = res.data;
// recipientUser
this.form.recipientUser = []
getUsertList.forEach(item => {
this.form.recipientUser.push({
id: item.acctId,
userName: item.accountName,
})
})
})
},
handleQuery(){
this.getList()
},
resetQuery(){
this.queryParams = {
page: 1,
pageSize: 10,
deviceName:'',
},
this.getList()
},
handleAdd(e) {
this.clean()
this.open = true;
this.getDutyList()
this.title = "新增通知"
},
userEnter1(){
//
console.log('提交设备信息数据:', this.form);
this.form.recipientUser = JSON.stringify(this.form.recipientUser)
this.form.recipientRoles = JSON.stringify(this.form.recipientRoles)
if (this.form.id) {
updateSysNotifyApi(this.form).then(res=>{
if(res.code === 200) {
this.getList()
this.open = false
}
})
}else {
saveSysNotifyApi(this.form).then(res=>{
if(res.code === 200) {
this.getList()
this.open = false
}
})
}
},
userCe2(){
},
edit(e) {
this.clean()
this.open = true;
this.title = "编辑通知"
this.form = e
this.form.recipientUser = JSON.parse(this.form.recipientUser)
this.form.recipientRoles = JSON.parse(this.form.recipientRoles)
this.getDutyList()
console.log('提交设备信息数据:', this.deviceInfo);
},
del(e) {
this.$confirm('此操作将永久删除该设备, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteAppApi(e.id).then(res=>{
if (res.code == 200) {
this.$message({
type: 'success',
message: '删除成功!'
});
this.getList()
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
handleSelectionChange(val) {
console.log("val",val)
val.forEach(item => {
this.linshicunshu.push(
{
staffId:val.staffId,
userName:val.realName
}
)
})
},
onlyGetUser(){
// this.loading = true;
// console.log(this.queryParams,222)
// this.addDateRange(this.queryParams, this.dateRange)
listUser(this.queryParamsUser).then(response => {
this.userList = response.data.records;
// this.total = response.data.total;
// this.total = response.data.total;
// this.loading = false;
}
);
},
clickUser(id) {
this.form.recipientUser = this.form.recipientUser.filter(item => item.id !== id);
},
clickAdd() {
this.linshicunshu = []
this.open1 = true;
this.onlyGetUser()
},
userEnter(){
this.open1 = false
this.form.recipientUser = this.linshicunshu
} ,
userCe(){
this.open1 = false
this.linshicunshu = []
},
getDutyList(){
// this.loading = true;
let queryParams1={
page: 1,
pageSize: 10000
}
dutyList(queryParams1).then(res => {
this.dutyList1 = res.data.records;
// this.total1 = res.data.total;
// this.loading = false;
})
},
clean() {
this.deviceInfo= {
id: null, // id
orgName: '', //
unifiedSocialCreditCode: '', //
appId: '', // appID
appKey: '', //
legalRepresentativeName: '', //
legalRepresentativeWeChat: '', //
legalRepresentativeContact: '', //
appStatus: false, //
createByName: '',
}
},
goback(){
this.$router.go(-1)
}
}
};
</script>
<style lang="scss" scoped>
.common-dialog >>> .el-upload--picture-card {
width: 60px;
height: 50px;
line-height: 60px;
}
.top-box{
width: 100%;
background: #fff;
box-sizing: border-box;
padding: 10px;
display: flex;
align-items: center;
font-weight: 400;
font-size: 16px;
color: #666666;
padding-left: 25px;
}
</style>

View File

@ -60,6 +60,7 @@
</where> </where>
order by create_time desc
</select> </select>
</mapper> </mapper>