wuqun 3 years ago
parent
commit
9df3845913
  1. 350
      api/app/lib/schedule/alarms_push.js
  2. 2
      web/client/src/sections/service/actions/emPush.js
  3. 1
      web/client/src/sections/service/components/pushModal.jsx
  4. 99
      web/client/src/sections/service/containers/emPush.jsx

350
api/app/lib/schedule/alarms_push.js

@ -18,13 +18,14 @@ module.exports = function (app, opts) {
where: { where: {
del: false del: false
}, },
order: ['id'],
include: [{ include: [{
model: models.ProjectCorrelation, model: models.ProjectCorrelation,
where: { where: {
del: false del: false
}, },
required: true required: true
}] }],
}) })
let pepProjectIds = new Set() let pepProjectIds = new Set()
for (let { dataValues: c } of configListRes) { for (let { dataValues: c } of configListRes) {
@ -112,6 +113,9 @@ module.exports = function (app, opts) {
).toPromise() : ).toPromise() :
[] []
let searchStrucIds = strucListRes.map(s => s.id) let searchStrucIds = strucListRes.map(s => s.id)
searchStrucIds = searchStrucIds.concat([991, 1052, 700])
if (searchStrucIds.length) { if (searchStrucIds.length) {
searchStrucIds.unshift(-1) searchStrucIds.unshift(-1)
} }
@ -139,42 +143,58 @@ module.exports = function (app, opts) {
let alarmCameraCount = 0 let alarmCameraCount = 0
// 判断推送策略 // 判断推送策略
let nowTime = moment().startOf('minute') let nowTime = moment().startOf('minute')
let pointTime = moment().subtract(parseInt(interval), 'minute').startOf('minute').format('YYYY-MM-DD HH:mm:ss') let pointTime =
moment()
.subtract(
parseInt(interval),
// + 1440 * 365,
'minute'
)
.startOf('minute')
.format('YYYY-MM-DD HH:mm:ss')
let newAddStartTime = pointTime
let newAddEndTime = nowTime.clone()
if (c.tactics == 'immediately') { if (c.tactics == 'immediately') {
// !查所有未解决告警 所以时间范围大可不必
// dataAlarmOption.push(`StartTime >= '${pointTime}'`); // dataAlarmOption.push(`StartTime >= '${pointTime}'`);
// appAlarmWhereOption.createTime = { $gte: pointTime } // appAlarmWhereOption.createTime = { $gte: pointTime }
// videoAlarmWhereOption.push(`camera_status_alarm.create_time >= '${pointTime}'`) // videoAlarmWhereOption.push(`camera_status_alarm.create_time >= '${pointTime}'`)
emailTitle += `即时推送服务` emailTitle += `即时推送服务`
emailSubTitle += `截止${moment(pointTime).format('YYYY年MM月DD日 HH时mm分')}-${moment(nowTime).format('HH时mm分')}` emailSubTitle += `截止${moment(pointTime).format('YYYY年MM月DD日 HH时mm分')}-${moment(nowTime).format('HH时mm分')}`
} else if (c.tactics == 'continue') { } else if (c.tactics == 'continue' || c.tactics == 'abnormal_rate') {
// dataAlarmOption.push(`StartTime <= '${pointTime}'`); // 新增的应该是上一个时间节点到上上个节点之间
// appAlarmWhereOption.createTime = { $lte: pointTime } dataAlarmOption.push(`StartTime <= '${pointTime}'`);
// videoAlarmWhereOption.push(`camera_status_alarm.create_time <= '${pointTime}'`) appAlarmWhereOption.createTime = { $lte: pointTime }
emailTitle += `持续时长推送服务` videoAlarmWhereOption.push(`camera_status_alarm.create_time <= '${pointTime}'`)
emailSubTitle += `告警持续时长超${interval}分钟的告警源,详情如下:` // 新增的应该是上一个时间节点到上上个节点之间
} else if (c.tactics == 'abnormal_rate') { newAddStartTime = moment(pointTime).subtract(parseInt(interval)).format('YYYY-MM-DD HH:mm:ss')
// dataAlarmOption.push(`StartTime <= '${pointTime}'`); newAddEndTime = pointTime
if (c.alarmType.includes('data_outages') || c.alarmType.includes('data_exception')) {
// 查了设备异常率 去安心云查当前项目下的设备数量 if (c.tactics == 'continue') {
// TODO 等同步以太数据再查 emailTitle += `持续时长推送服务`
deviceCount = 9999 emailSubTitle += `告警持续时长超${interval}分钟的告警源,详情如下:`
// await clickHouse.anxinyun.query(` } else {
// SELECT count(*) FROM if (c.alarmType.includes('data_outages') || c.alarmType.includes('data_exception')) {
// `).toPromise() // 查了设备异常率 去安心云查当前项目下的设备数量
} // TODO 等同步以太数据再查
if (c.alarmType.includes('video_exception')) { deviceCount = 9999
// 查了视频异常 去安心云查 接入的 萤石 设备数量 // await clickHouse.anxinyun.query(`
cameraCount = searchStrucIds.length ? // SELECT count(*) FROM
(await clickHouse.anxinyun.query(` // `).toPromise()
SELECT count(*) AS count FROM t_video_ipc }
WHERE structure IN (${searchStrucIds.join(',')}) if (c.alarmType.includes('video_exception')) {
`).toPromise())[0].count // 查了视频异常 去安心云查 接入的 萤石 设备数量
: 0 cameraCount = searchStrucIds.length ?
(await clickHouse.anxinyun.query(`
SELECT count(*) AS count FROM t_video_ipc
WHERE structure IN (${searchStrucIds.join(',')})
`).toPromise())[0].count
: 0
}
emailTitle += `异常率推送服务`
emailSubTitle += `持续产生时间超过${interval}分钟的异常设备数量${interval}个,异常率达到项目或结构物内设备总数量${parseInt(deviceCount) + parseInt(cameraCount)}个的 --%,详情如下`
} }
// appAlarmWhereOption.createTime = { $lte: pointTime }
// videoAlarmWhereOption.push(`camera_status_alarm.create_time <= '${pointTime}'`)
emailTitle += `异常率推送服务`
emailSubTitle += `持续产生时间超过${interval}分钟的异常设备数量${interval}个,异常率达到项目或结构物内设备总数量${deviceCount + cameraCount}个的${interval}%,详情如下`
} }
emailTitle += '——POMS飞尚运维中台' emailTitle += '——POMS飞尚运维中台'
@ -202,6 +222,7 @@ module.exports = function (app, opts) {
cameraAlarm.confirmTime AS confirmTime, cameraAlarm.confirmTime AS confirmTime,
cameraAlarm.autoRestore AS autoRestore, cameraAlarm.autoRestore AS autoRestore,
camera_status.describe AS statusDescribe, camera_status.describe AS statusDescribe,
camera_kind.kind AS cameraKind,
"gbCamera".online AS cameraOnline, "gbCamera".online AS cameraOnline,
anxinIpc.t_video_ipc.name AS anxinIpcPosition, anxinIpc.t_video_ipc.name AS anxinIpcPosition,
anxinStation.id AS anxinStationId, anxinStation.id AS anxinStationId,
@ -213,6 +234,7 @@ module.exports = function (app, opts) {
camera.id AS cameraId, camera.id AS cameraId,
camera.gb_id AS gbId, camera.gb_id AS gbId,
camera.name AS cameraName, camera.name AS cameraName,
camera.kind_id AS cameraKindId,
camera_status_alarm.id AS alarmId, camera_status_alarm.id AS alarmId,
camera_status_alarm.create_time AS createTime, camera_status_alarm.create_time AS createTime,
camera_status_alarm.status_id AS statusId, camera_status_alarm.status_id AS statusId,
@ -240,7 +262,8 @@ module.exports = function (app, opts) {
AND cameraAlarm.statusId = camera_status.id AND cameraAlarm.statusId = camera_status.id
LEFT JOIN "gbCamera" LEFT JOIN "gbCamera"
ON "gbCamera".id = cameraAlarm.gbId ON "gbCamera".id = cameraAlarm.gbId
LEFT JOIN camera_kind
ON camera_kind.id = cameraAlarm.cameraKindId
LEFT JOIN ${anxinyun}.t_video_ipc AS anxinIpc LEFT JOIN ${anxinyun}.t_video_ipc AS anxinIpc
ON toString(anxinIpc.channel_no) = cameraAlarm.cameraChannelNo ON toString(anxinIpc.channel_no) = cameraAlarm.cameraChannelNo
AND anxinIpc.serial_no = cameraAlarm.cameraSerialNo AND anxinIpc.serial_no = cameraAlarm.cameraSerialNo
@ -251,6 +274,7 @@ module.exports = function (app, opts) {
ON anxinIpcStation.ipc = anxinIpc.id ON anxinIpcStation.ipc = anxinIpc.id
LEFT JOIN ${anxinyun}.t_sensor AS anxinStation LEFT JOIN ${anxinyun}.t_sensor AS anxinStation
ON anxinStation.id = anxinIpcStation.station ON anxinStation.id = anxinIpcStation.station
ORDER BY cameraAlarm.createTime DESC
` `
).toPromise() : [] ).toPromise() : []
@ -290,6 +314,7 @@ module.exports = function (app, opts) {
alarmId: a.alarmId, alarmId: a.alarmId,
confirmContent: a.confirmContent, confirmContent: a.confirmContent,
confirmTime: a.confirmTime, confirmTime: a.confirmTime,
cameraKind: a.cameraKind,
struc: [], struc: [],
station: [] station: []
} }
@ -315,10 +340,12 @@ module.exports = function (app, opts) {
} }
} }
let p = 1 let p = 1
videoAlarms = returnD
} }
if (c.alarmType.includes('app_exception')) { if (c.alarmType.includes('app_exception')) {
appAlarms = await models.AppAlarm.findAll({ appAlarms = await models.AppAlarm.findAll({
where: appAlarmWhereOption, where: appAlarmWhereOption,
order: [['createTime', 'DESC']],
include: [{ include: [{
model: models.App, model: models.App,
include: [{ include: [{
@ -329,7 +356,6 @@ module.exports = function (app, opts) {
}] }]
}] }]
}) })
let a = 2
} }
if (c.alarmType.includes('device_exception')) { if (c.alarmType.includes('device_exception')) {
dataAlarmGroupOption.push(4) dataAlarmGroupOption.push(4)
@ -343,9 +369,10 @@ module.exports = function (app, opts) {
dataAlarms = await clickHouse.dataAlarm.query(` dataAlarms = await clickHouse.dataAlarm.query(`
SELECT * FROM alarms SELECT * FROM alarms
WHERE WHERE
State NOT IN (3, 4) ${/*`'State NOT IN (3, 4) AND '`*/''}
AND StructureId IN (${searchStrucIds.join(',')}) StructureId IN (${searchStrucIds.join(',')})
${dataAlarmOption.length ? ' AND ' + dataAlarmOption.join(' AND ') : ''} ${dataAlarmOption.length ? ' AND ' + dataAlarmOption.join(' AND ') : ''}
ORDER BY StartTime DESC
`).toPromise() `).toPromise()
console.log(dataAlarms); console.log(dataAlarms);
} }
@ -358,7 +385,7 @@ module.exports = function (app, opts) {
n: '结构物', n: '结构物',
k: '', k: '',
f: (d) => { f: (d) => {
return (strucListRes.find(s => s.id == d.StructureId) || {}).name return (strucListRes.find(s => s.id == d.StructureId) || { name: '' }).name
} }
}, { }, {
n: '告警源名称', n: '告警源名称',
@ -405,49 +432,258 @@ module.exports = function (app, opts) {
} }
},] },]
let html = '' let videoAlarmTitle = [{
n: '项目',
k: '',
v: pepProjectName
}, {
n: '结构物',
k: '',
f: (d) => {
return d.struc.map(ds => ds.name).join('、')
}
}, {
n: '告警源名称',
k: 'cameraName'
}, {
n: '告警源类型',
k: 'cameraKind'
}, {
n: '序列号',
k: 'cameraSerialNo'
}, {
n: '通道号',
k: 'cameraChannelNo'
}, {
n: '测点',
k: '',
f: (d) => {
return d.station.map(ds => ds.name).join('、')
}
}, {
n: '位置',
k: '',
f: (d) => {
return d.station.map(ds => ds.position).join('、')
}
}, {
n: '告警信息',
k: 'statusDescribe'
}, {
n: '持续时间',
k: '',
f: (d) => {
return d.createTime ?
'超过' + moment().diff(moment(d.createTime), 'minutes') + '分钟' : ''
}
},]
let appAlarmTitle = [{
n: '项目',
k: '',
v: pepProjectName
}, {
n: '应用名称',
k: '',
f: (d) => {
return d.app ? d.app.name : ''
}
}, {
n: '异常类型',
k: '',
f: (d) => {
if (d.type == 'element') {
return '元素异常'
} else if (d.type == 'apiError') {
return '接口报错'
} else {
return ''
}
}
}, {
n: '异常信息',
k: 'alarmContent'
}, {
n: 'URL地址',
k: 'cameraName',
f: (d) => {
return d.app && d.app.url ? `<a href="${d.app.url}">${d.app.url}</a>` : ''
}
}, {
n: '持续时间',
k: '',
f: (d) => {
return d.createTime ?
'超过' + moment().diff(moment(d.createTime), 'minutes') + '分钟' : ''
}
},]
let ifEmailSend = false
let tableTitlePostfix = ',详情如下:' let tableTitlePostfix = ',详情如下:'
function packageTableTitle (tArr) {
function packageTableTitle (titleArr) {
let tableTitle = '<tr>'
for (let t of titleArr) {
tableTitle += `<th style="background-color:#8faadc; color:#fff; text-align:left">${t.n}</th>`
}
tableTitle += '</tr>'
return tableTitle
} }
if (c.alarmType.includes('data_outages')) { function packageTableData (data, titleArr) {
let tableTitlePrefix = '数据中断告警源' let tableData = '<tr>'
for (let t of titleArr) {
if (t.v) {
tableData += `<td>${t.v}</td>`
} else if (t.f) {
tableData += `<td>${t.f(data)}</td>`
} else if (t.k) {
tableData += `<td>${data[t.k]}</td>`
} else {
tableData += `<td></td>`
}
}
tableData += '</tr>'
return tableData
}
function packageAlarmData2Table (titlePrefix, alarmData, alarmTitleArr, keyOfStartTime = 'StartTime') {
if (!alarmData.length) {
return ''
}
ifEmailSend = true
let tableTitlePrefix = titlePrefix + '告警源'
let newAddCount = 0 let newAddCount = 0
let alarmHtml = '' let alarmHtml = '<table border="1" cellspacing="0" style="border-collapse:collapse;border-spacing:0;border-left:1px solid #888;border-top:1px solid #888;">'
let alarmContent = ''
let alarmHtmlTitle = packageTableTitle(alarmTitleArr)
if (c.tactics == 'immediately') { for (let a of alarmData) {
for (let a of dataAlarms.filter(d => d.AlarmGroup == 1)) { alarmContent += packageTableData(a, alarmTitleArr)
alarmHtml += 1 if (a[keyOfStartTime] && moment(a[keyOfStartTime]).isBetween(newAddStartTime, newAddEndTime)) {
newAddCount++
} }
tableTitlePrefix += 1 }
} else if (c.tactics == 'continue') { tableTitlePrefix +=
c.tactics == 'abnormal_rate' ?
`${alarmData.length}` :
`新增${newAddCount}个,未解决累计${alarmData.length}` + tableTitlePostfix
alarmHtml += `<tr><td colspan="${alarmTitleArr.length}" style="background-color:#ffff00">` + tableTitlePrefix + '</td></tr>'
alarmHtml += alarmHtmlTitle
alarmHtml += alarmContent
alarmHtml += '</table><br/>'
} else if (c.tactics == 'abnormal_rate') { return alarmHtml
}
let dataAlarmG1 = [];
let dataAlarmG2 = [];
let dataAlarmG3 = [];
let dataAlarmG45 = [];
let deviceStatistic = new Set()
for (let d of dataAlarms) {
if (d.AlarmGroup == 1) {
dataAlarmG1.push(d)
} else if (d.AlarmGroup == 2) {
dataAlarmG2.push(d)
} else if (d.AlarmGroup == 3) {
dataAlarmG3.push(d)
} else if (d.AlarmGroup == 4 || d.AlarmGroup == 5) {
dataAlarmG45.push(d)
} }
deviceStatistic.add(d.SourceId)
}
if (c.tactics == 'abnormal_rate') {
let a = ((deviceStatistic.size + videoAlarms.length) / (parseInt(deviceCount) + parseInt(cameraCount))).toFixed(1) + '%'
emailSubTitle = emailSubTitle.replace('--%', ((deviceStatistic.size + videoAlarms.length) / (parseInt(deviceCount) + parseInt(cameraCount))).toFixed(1) + '%')
}
let html = `
<html>
<head>
<meta charset="utf-8">
<style>
table {
border-collapse:collapse;border-spacing:0;border-left:1px solid #888;border-top:1px solid #888;
}
th,td{
border-right:1px solid #888;border-bottom:1px solid #888;padding:5px 15px;
}
th{
font-weight:bold;
}
</style>
</head>
</html>
<h5 style="margin-bottom:12px">${emailSubTitle}</h5>
`
if (c.alarmType.includes('data_outages')) {
html += packageAlarmData2Table(
'数据中断',
dataAlarmG1,
dataAlarmTitle,
)
} }
if (c.alarmType.includes('data_exception')) { if (c.alarmType.includes('data_exception')) {
html += packageAlarmData2Table(
'数据异常',
dataAlarmG2,
dataAlarmTitle,
)
} }
if (c.alarmType.includes('strategy_hit')) { if (c.alarmType.includes('strategy_hit')) {
html += packageAlarmData2Table(
'策略命中',
dataAlarmG3,
dataAlarmTitle,
)
} }
if (c.alarmType.includes('video_exception')) { if (c.alarmType.includes('video_exception')) {
html += packageAlarmData2Table(
'视频异常',
videoAlarms,
videoAlarmTitle,
'createTime',
)
} }
if (c.alarmType.includes('app_exception')) { if (c.alarmType.includes('app_exception')) {
html += packageAlarmData2Table(
'应用异常',
appAlarms,
appAlarmTitle,
'createTime',
)
} }
if (c.alarmType.includes('device_exception')) { if (c.alarmType.includes('device_exception')) {
html += packageAlarmData2Table(
'设备异常',
dataAlarmG45,
dataAlarmTitle,
)
} }
await pushByEmail({ if (ifEmailSend) {
email: ['1650192445@qq.com'], // 查接收人的信息
title: emailTitle, const receiverRes =
text: '', c.receiverPepUserId.length ?
html: '' await clickHouse.pepEmis.query(`
}) SELECT email FROM user WHERE id IN (${c.receiverPepUserId.join(',')},-1)
`).toPromise()
: []
const emails = receiverRes.reduce((arr, r) => {
if (r.email) {
arr.push(r.email)
}
return arr
}, [])
if (emails.length || 1) {
await pushByEmail({
email: ['1650192445@qq.com', '777y'],
title: emailTitle,
text: '',
html: html
})
}
}
} }
} }
} }

2
web/client/src/sections/service/actions/emPush.js

@ -10,7 +10,7 @@ export function getPush (query) { //获取推送配置列表
actionType: 'GET_PUSH', actionType: 'GET_PUSH',
url: `${ApiTable.getPush}`, url: `${ApiTable.getPush}`,
msg: { error: '获取推送配置列表失败' }, msg: { error: '获取推送配置列表失败' },
reducer: { name: '' } reducer: { name: "getPush", params: { noClear: true } },
}); });
} }

1
web/client/src/sections/service/components/pushModal.jsx

@ -378,7 +378,6 @@ function pushModal (props) {
labelAlign="right" labelAlign="right"
labelWidth="120px" labelWidth="120px"
onValueChange={(values, field) => { onValueChange={(values, field) => {
console.log('values', values);
for (var key in field) { for (var key in field) {
if (key == 'tactics') { if (key == 'tactics') {
if (values.tactics == 'abnormal_rate') { if (values.tactics == 'abnormal_rate') {

99
web/client/src/sections/service/containers/emPush.jsx

@ -7,7 +7,6 @@ import moment from "moment";
import PushModal from '../components/pushModal' import PushModal from '../components/pushModal'
import '../style.less' import '../style.less'
import { Setup } from "$components"; import { Setup } from "$components";
// import { set } from 'nprogress';
const EmPush = (props) => { const EmPush = (props) => {
const form = useRef();// const form = useRef();//
@ -15,22 +14,13 @@ const EmPush = (props) => {
const { service } = actions; const { service } = actions;
const [setup, setSetup] = useState(false); // const [setup, setSetup] = useState(false); //
const [setupp, setSetupp] = useState([]);// const [setupp, setSetupp] = useState([]);//
const [tableSetup, setTableSetup] = useState([]); //
const [query, setQuery] = useState({ limit: 10, page: 0 }); // const [query, setQuery] = useState({ limit: 10, page: 0 }); //
const [limits, setLimits] = useState()// const [limits, setLimits] = useState()//
const mylimits = useRef(); // const mylimits = useRef(); //
const [pushModal, setPushModal] = useState(false) // const [pushModal, setPushModal] = useState(false) //
const [pushEdit, setPushEdit] = useState(false) // const [pushEdit, setPushEdit] = useState(false) //
const [anxincloudList, setAnxincloudList] = useState([]) // const [change, setChange] = useState(false) //
const [peplist, setPeplist] = useState([]) //PEP const [allTableData, setAllTableData] = useState([]) //
const [appList, setAppList] = useState([]) //
const [pepProjectId, setPepProjectId] = useState() //id
const [anxincloudArr, setAnxincloudArr] = useState([]) //
const [pepname, setPepname] = useState() //
const [anxinDelete, setAnxinDelete] = useState([]) //,
const [appArr, setAppArr] = useState([]) //
const [bindId, setBindId] = useState() //id
const [tableKey, setTableKey] = useState([]) //id
const [editObj, setEditObj] = useState({});// const [editObj, setEditObj] = useState({});//
const [projectStatus, setProjectStatus] = useState([]); // const [projectStatus, setProjectStatus] = useState([]); //
const page = useRef(query.page);// const page = useRef(query.page);//
@ -82,16 +72,6 @@ const EmPush = (props) => {
const [tableData, setTableData] = useState([]) // const [tableData, setTableData] = useState([]) //
useEffect(() => { useEffect(() => {
// dispatch(service.getPush(query)).then((res) => {//
// console.log('res.payload.datares.payload.data',res.payload.data);
// setAnxincloudList(res.payload.data)
// })
// dispatch(install.getProjectPmanage(query)).then((res) => {//PEP
// setPeplist(res.payload.data)
// })
// dispatch(install.getProjectAppList(query)).then((res) => {//
// setAppList(res.payload.data)
// })
localStorage.getItem(EMPUSH) == null localStorage.getItem(EMPUSH) == null
? localStorage.setItem( ? localStorage.setItem(
EMPUSH, EMPUSH,
@ -99,23 +79,28 @@ const EmPush = (props) => {
) )
: ""; : "";
getProjectStatusList() getProjectStatusList()
getPushList(query);
}, []) }, [])
useEffect(() => { useEffect(() => {
getPushList(); let showTableData = JSON.parse(JSON.stringify(allTableData)).slice(query.page * query.limit, (query.page + 1) * query.limit)
}, [query]); setTableData(showTableData)
mylimits.current = showTableData.length
}, [change]);
function getPushList () { function getPushList (query) {
let val = form.current.getValues() let val = form.current.getValues()
// , ...query
dispatch(service.getPush({ ...val })).then((res) => {// dispatch(service.getPush({ ...val })).then((res) => {//
if (res.success) { if (res.success) {
let mytableData = JSON.parse(JSON.stringify(res.payload.data)); let mytableData = JSON.parse(JSON.stringify(res.payload.data));
for (let index = 0; index < mytableData.length; index++) { for (let index = 0; index < mytableData.length; index++) {
mytableData[index].key = String(mytableData[index].id) mytableData[index].key = String(mytableData[index].id)
} }
setTableData(mytableData) setAllTableData(mytableData)
let showTableData = mytableData.slice(query.page * query.limit, (query.page + 1) * query.limit)
setTableData(showTableData)
setQuery(query)
setLimits(res.payload.data.length) setLimits(res.payload.data.length)
mylimits.current = res.payload.data.length mylimits.current = showTableData.length
} }
}) })
} }
@ -138,37 +123,9 @@ const EmPush = (props) => {
<div style={{ display: "flex" }}> <div style={{ display: "flex" }}>
<Button <Button
theme="borderless" theme="borderless"
// disabled={row.pepProjectIsDelete == 1}
onClick={() => { onClick={() => {
setEditObj(row) setEditObj(row)
setPushModal(true); setPushModal(true);
// setPepname(row.name)
// if (!row.name) {
// setPepProjectId(row.pepProjectId)
// }
// else {
// setPepProjectId()
// }
// let myanxinArr = []
// let anxinErrorList = []
// for (let i = 0; i < row.anxinProject.length; i++) {
// if (row.anxinProject[i].projectState !== -1) {
// myanxinArr.push(row.anxinProject[i].id)
// }
// else {
// anxinErrorList.push(row.anxinProject[i].name)
// }
// }
// setAnxinDelete(anxinErrorList)
// let myapparr = []
// let myarrarrList = JSON.parse(JSON.stringify(row.apps))
// for (let j = 0; j < row.apps.length; j++) {
// delete myarrarrList[j].projectApp
// myapparr.push(JSON.stringify(myarrarrList[j]))
// }
// setAppArr(myapparr)
// setAnxincloudArr(myanxinArr)
// setBindId(row.id)
setPushEdit(true) setPushEdit(true)
}} }}
> >
@ -180,7 +137,7 @@ const EmPush = (props) => {
style={{ color: '#F31C1C' }} style={{ color: '#F31C1C' }}
onClick={() => { onClick={() => {
dispatch(service.putPushPushId({ pushId: row?.id, del: false, disable: false, msg: '更改推送配置状态' })).then(() => { dispatch(service.putPushPushId({ pushId: row?.id, del: false, disable: false, msg: '更改推送配置状态' })).then(() => {
// setQuery({ limit: 10, page: page.current }) getPushList({ limit: query.limit, page: page.current });
}) })
}} }}
> >
@ -194,7 +151,7 @@ const EmPush = (props) => {
position="topRight" position="topRight"
onConfirm={() => { onConfirm={() => {
dispatch(service.putPushPushId({ pushId: row?.id, del: false, disable: true, msg: '更改推送配置状态' })).then(() => { dispatch(service.putPushPushId({ pushId: row?.id, del: false, disable: true, msg: '更改推送配置状态' })).then(() => {
// setQuery({ limit: 10, page: page.current }) getPushList({ limit: query.limit, page: page.current });
}) })
}} }}
> >
@ -208,11 +165,11 @@ const EmPush = (props) => {
position="topRight" position="topRight"
onConfirm={() => { onConfirm={() => {
dispatch(service.putPushPushId({ pushId: row?.id, del: true, disable: false, msg: '删除推送配置' })).then(() => { dispatch(service.putPushPushId({ pushId: row?.id, del: true, disable: false, msg: '删除推送配置' })).then(() => {
// if (page.current > 0 && mylimits.current < 2) { if (page.current > 0 && mylimits.current < 2) {
// setQuery({ limit: 10, page: page.current - 1 }) getPushList({ limit: query.limit, page: page.current - 1 });
// } else { } else {
// setQuery({ limit: 10, page: page.current }) getPushList({ limit: query.limit, page: page.current });
// } }
}) })
}} }}
> >
@ -577,7 +534,6 @@ const EmPush = (props) => {
<div style={{ marginRight: 20, display: 'flex', alignItems: 'center' }} className='myempush'> <div style={{ marginRight: 20, display: 'flex', alignItems: 'center' }} className='myempush'>
<Form <Form
onSubmit={(values) => console.log(values)} onSubmit={(values) => console.log(values)}
// onValueChange={values=>console.log(values)}
getFormApi={(formApi) => (form.current = formApi)} getFormApi={(formApi) => (form.current = formApi)}
layout="horizontal" layout="horizontal"
style={{ position: "relative", width: "100%", flex: 1 }} style={{ position: "relative", width: "100%", flex: 1 }}
@ -644,7 +600,7 @@ const EmPush = (props) => {
border: '1px solid #005ABD' border: '1px solid #005ABD'
}} }}
onClick={() => { onClick={() => {
getPushList() getPushList({ limit: query.limit, page: 0 })
}} }}
> >
查询 查询
@ -676,8 +632,8 @@ const EmPush = (props) => {
</div> </div>
<div style={{ marginTop: 20 }}> <div style={{ marginTop: 20 }}>
<Skeleton <Skeleton
// loading={loading} loading={loading}
loading={false} // loading={false}
active={true} active={true}
placeholder={SkeletonScreen()} placeholder={SkeletonScreen()}
> >
@ -689,7 +645,7 @@ const EmPush = (props) => {
hideExpandedColumn={false} hideExpandedColumn={false}
empty="暂无数据" empty="暂无数据"
expandedRowRender={expandRowRender} expandedRowRender={expandRowRender}
// pagination={false} pagination={false}
onRow={handleRow} onRow={handleRow}
/> />
</Skeleton> </Skeleton>
@ -715,6 +671,7 @@ const EmPush = (props) => {
onChange={(currentPage, pageSize) => { onChange={(currentPage, pageSize) => {
setQuery({ limit: pageSize, page: currentPage - 1 }); setQuery({ limit: pageSize, page: currentPage - 1 });
page.current = currentPage - 1 page.current = currentPage - 1
setChange(!change)
}} }}
/> />
</div> </div>
@ -732,7 +689,7 @@ const EmPush = (props) => {
}} }}
close={() => { close={() => {
setPushModal(false); setPushModal(false);
getPushList() getPushList(query)
}} > }} >
</PushModal> : '' </PushModal> : ''
} }
@ -753,9 +710,9 @@ const EmPush = (props) => {
} }
function mapStateToProps (state) { function mapStateToProps (state) {
const { auth, global, ProjectPoms } = state; const { auth, global, getPush } = state;
return { return {
// loading: ProjectPoms.isRequesting, loading: getPush.isRequesting,
user: auth.user, user: auth.user,
actions: global.actions, actions: global.actions,
// members: members.data, // members: members.data,

Loading…
Cancel
Save