From cc890f987b770e5a73f5ef12d41b25f6bb448fcd Mon Sep 17 00:00:00 2001 From: zmc <zmc_li@foxmail.com> Date: 星期四, 23 十一月 2023 16:37:45 +0800 Subject: [PATCH] 1.增加了风险模型跳转逻辑 2.修改了风险模型页面部分逻辑 --- src/utils/risk_estimate_common_function/riskValue.js | 150 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 104 insertions(+), 46 deletions(-) diff --git a/src/utils/risk_estimate_common_function/riskValue.js b/src/utils/risk_estimate_common_function/riskValue.js index 3623799..97df011 100644 --- a/src/utils/risk_estimate_common_function/riskValue.js +++ b/src/utils/risk_estimate_common_function/riskValue.js @@ -1,60 +1,118 @@ -// import rank from '@/utils/risk_estimate_common_function/rank.js'; -// import dayjs from 'dayjs.js'; - export default { - - // // 璁$畻鏃ラ闄╁�� - // calDailyRisk(allTypeRiskValue){ - // let dailyRiskValue = allTypeRiskValue.onlineRisk*0.1 + allTypeRiskValue.validRisk*0.2 + allTypeRiskValue.exceedingRisk*0.2 + allTypeRiskValue.exceptionTypeAggregation*0.2 + allTypeRiskValue.typicalExceptionRepetitionRate*0.3 - // return dailyRiskValue - // }, - - // // 璁$畻鏈堥闄╁�� - // calMonthRisk(DailyRiskValues,month){ - // // 鏍规嵁鏈堜唤鑾峰緱璇ユ湀鐨勫ぉ鏁� - // let dayNum = dayjs(month).daysInMonth() - // // 绱姞鏃ラ闄╁�� - // let sum = 0 - // for(let i in DailyRiskValues){ - // sum += i - // } - // // 鏃ュ紓甯哥被鍨嬭仛闆嗙巼鐨勫拰/褰撴湀澶╂暟 - // let monthRiskValue = sum /dayNum - // return monthRiskValue - // }, + /** + * 鐢卞崟鏉℃湀搴﹀�艰绠楅闄╁�� + * @param锛� + * @returns锛� + */ + calRiskValue(monthlyRiskData) { + // 椋庨櫓鍊� + let riskValue = monthlyRiskData.onlineRisk*0.1 + monthlyRiskData.validRisk*0.2 + monthlyRiskData.exceedRisk*0.2 + monthlyRiskData.exceptionTypeAggregation*0.2 + monthlyRiskData.typicalExceptionRepetitionRate*0.3 + return riskValue + }, - - // calRiskValue(allTypeRiskValue,queryMonth){ - // // 瀵硅澶囩紪鍙疯繘琛屽垎缁� - // let groupeObj = rank.groupByMncode(allTypeRiskValue) - // // - // for (let mnCode in groupeObj){ - // // 鑾峰緱璁惧缂栧彿瀵瑰簲鐨勬暟鎹� - // let dayData = groupeObj[mnCode] - // // 淇濆瓨鏌愯澶囩紪鍙疯娈垫椂闂寸殑鏃ラ闄╁�� - // let dailyRiskValues = [] - // // 璁$畻鏃ラ闄╁�� - // for(let item in dayData){ - // let dailyRiskValue = this.calDailyRisk(item) - // dailyRiskValues.push(dailyRiskValue) - // } - // } - - // } - - // 璁$畻鏈堝害椋庨櫓鍊� + /** + * 璁$畻鏈堝害椋庨櫓鍊� + * @param锛� + * @returns锛� + */ calMonthlyRiskValue(exceptionRiskValue){ // 淇濆瓨鏈堝害椋庨櫓鍊� let monthlyRiskValue = [] // 璁$畻姣忎釜绔欑偣鐨勬湀搴﹂闄╁�� for(let item in exceptionRiskValue){ - let value = item.onlineRisk*0.1 + item.validRisk*0.2 + item.exceedingRisk*0.2 + item.exceptionTypeAggregation*0.2 + item.typicalExceptionRepetitionRate*0.3 - monthlyRiskValue.push(value) + let risk = this.calRiskValue(item) + monthlyRiskValue.push(risk) } + + // 闄嶅簭鎺掑垪 + monthlyRiskValue.sort((a, b) => b - a) + return monthlyRiskValue - } + }, + + /** + * 缁勮鎴愯〃鏍肩殑琛� + * @param锛� 绔欑偣鐨勬湀搴﹀垎闄╂暟鎹紝璇ョ珯鐐圭殑鏈堝害椋庨櫓鍊� + * @returns锛� + */ + organizeTableRow(monthlyRiskData,riskValue) { + let obj = {} + obj.siteName = monthlyRiskData.name + obj.region = '閲戝北鍖�' + obj.mnCode = monthlyRiskData.mnCode + obj.monitorType = '鎵皹' + obj.riskValue = riskValue + obj.beginTime = monthlyRiskData.lst + obj.endTime = monthlyRiskData.lst + + // 鏍规嵁鏈堝害椋庨櫓鍊硷紝杩斿洖瀵瑰簲鐨勯闄╃瓑绾у拰椋庨櫓寤鸿 + let riskGradeAndAdvice = this.judgeRiskGradeAndAdvice(riskValue) + obj.riskGrade = riskGradeAndAdvice[0] + obj.riskAdvice = riskGradeAndAdvice[1] + + return obj + }, + + /** + * 鏍规嵁鏈堝害椋庨櫓鍊硷紝杩斿洖瀵瑰簲鐨勯闄╃瓑绾у拰椋庨櫓寤鸿 + * @param锛� 鏈堝害椋庨櫓鍊� + */ + judgeRiskGradeAndAdvice(monthlyRiskValue){ + let temp = [] + // 浣庨闄� + if(monthlyRiskValue < 0.15) { + temp.push('浣庨闄�') + let advice = '1.寤鸿鍙婃椂鎻愰啋璇ョ珯鐐规墍灞炲崟浣嶈繘琛屽簲鎬ョ淮鎶わ紱\n2.鑻ュ悓鏃跺瓨鍦ㄨ秴鏍囥�佷复鐣岃秴鏍囥�侀噺绾х獊鍙樼瓑寮傚父鏃讹紝寤鸿灏嗚绔欑偣绉讳氦鐜鎵ф硶澶ч槦寮�灞曠幇鍦烘墽娉曟鏌ワ紱\n3.鑻ユ寔缁袱鏈堝強浠ヤ笂涓洪珮椋庨櫓锛屽缓璁皢璇ョ珯鐐圭撼鍏ュ勾搴︽娊娴嬫瘮瀵规竻鍗曪紱' + temp.push(advice) + } + // 涓闄� + if (monthlyRiskValue <= 0.6 && monthlyRiskValue >= 0.15) { + temp.push('涓闄�') + let advice = '1.寤鸿閫氳繃瀹堟硶鏈嶅姟灏忕▼搴忋�佺洃娴嬬洃绠″井淇$兢绛夌嚎涓婃柟寮忔彁绀虹珯鐐规墍灞炲崟浣嶏紝鑱氱劍褰撳墠瀛樺湪鐨勯棶棰樻垨闅愭偅锛屽強鏃跺紑灞曡嚜鏌ヨ嚜绾狅紱\n2.鑻ュ悓鏃跺瓨鍦ㄥ湪绾跨巼鎴栨湁鏁堢巼鏈堝害涓嶈揪鏍囷紝寤鸿鐢佃瘽閫氱煡璇ョ珯鐐规墍灞炲崟浣嶈繘琛屽簲鎬ョ淮鎶わ紝骞惰繘琛屼笓椤瑰鏍革紱' + temp.push(advice) + } + // 楂橀闄� + if (monthlyRiskValue > 0.6) { + temp.push('楂橀闄�') + let advice = '1.鑻ヤ笉娑夊強瓒呮爣鎴栧湪绾跨巼銆佹湁鏁堢巼寮傚父锛屽父鎬佹暟鎹鏍稿嵆鍙紱\n2.鑻ユ秹鍙婅秴鏍囨垨鍦ㄧ嚎鐜囥�佹湁鏁堢巼绛夊紓甯革紝寤鸿閫氳繃瀹堟硶鏈嶅姟灏忕▼搴忋�佺洃娴嬬洃绠″井淇$兢绛夌嚎涓婃柟寮忔彁绀虹珯鐐规墍灞炲崟浣嶏紝鍙婃椂寮�灞曡嚜鏌ヨ嚜绾狅紱' + temp.push(advice) + } + return temp + }, + + + // 閬嶅巻瀵规瘡鏉℃湀搴﹀紓甯搁闄╁�� + // 璁$畻缁煎悎椋庨櫓鍊� + // 鎷兼帴鏂扮殑瀵硅薄 + // 杩斿洖琛ㄦ牸瀵硅薄 + + /** + * 杩斿洖缁煎悎椋庨櫓鎺掑悕鐨勮〃鏍兼暟鎹� + * @param锛� 鍚勭珯鐐规湀搴﹀垎闄╂暟鎹� + * @returns锛氳〃鏍兼暟鎹� + */ + backComprehensiveRiskTableData(allExceptionData){ + let tableData = [] + // 閬嶅巻瀵规瘡鏉℃湀搴﹀紓甯搁闄� + allExceptionData.forEach(element => { + + // 璁$畻寰楀埌鏈堝害椋庨櫓鍊� + let monthlyRiskValue = this.calRiskValue(element) + // 缁勬垚琛ㄦ牸琛岀殑瀛楁 + let tableRow = this.organizeTableRow(element,monthlyRiskValue.toFixed(2)) + + tableData.push(tableRow) + }); + + return tableData + } + + + + + } \ No newline at end of file -- Gitblit v1.9.3