diff --git a/src/views/xm/pro/kpi/Form.vue b/src/views/xm/pro/kpi/Form.vue
index f5764a73..5d7643c0 100644
--- a/src/views/xm/pro/kpi/Form.vue
+++ b/src/views/xm/pro/kpi/Form.vue
@@ -3,14 +3,15 @@
基本信息
- 等级:
- 状态:
- 得分:{{editForm.score||0}}
+ 预警状态: 等级:
+ 状态:
+ 得分:{{editForm.score||0}}
-
+
+
@@ -26,7 +27,7 @@
- 支持表达式,举例 1000>${kpiValue}>100, ${kpiValue}>=98% 等等
+ 支持表达式,举例 1000>${kpiValue}>100, ${kpiValue}>=60% 等等
@@ -116,9 +117,33 @@
+
+
+ 预警规则 预警状态:
+ 目标规则: {{ editForm.targetValue }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 考核自评 得分:{{editForm.score||0}} 提交复评
+ 考核自评 得分:{{editForm.score||0}} 提交复评
@@ -265,7 +290,7 @@ export default {
if(!this.editForm.kpiValue){
return false
}else{
- let rule= this.editForm.targetValue.replace(/\$\{kpiValue\}/g, this.editForm.kpiValue);
+ let rule= this.parseRule(this.editForm.targetValue, this.editForm.kpiValue);
try{
let result=eval(rule)
return result;
@@ -273,6 +298,52 @@ export default {
return false;
}
+ }
+ },
+ calcKwarnStatus(){
+ if(!this.editForm.targetValue){
+ return '0'
+ }
+ if(!this.editForm.kpiValue){
+ return '0'
+ }else{
+ let isRed=false;
+ let isOrange=false;
+ let isYellow=false;
+ try{
+ let rule= this.parseRule(this.editForm.targetValue, this.editForm.kpiValue)
+ let result=eval(rule)
+ if(result){
+ return "1"
+ }else{
+
+ if(this.editForm.redRule){
+ let redRule = this.parseRule(this.editForm.redRule, this.editForm.kpiValue);
+ isRed=eval(redRule)
+ if(isRed){
+ return "4"
+ }
+ }
+ if(this.editForm.orangeRule){
+ let orangeRule = this.parseRule(this.editForm.orangeRule, this.editForm.kpiValue);
+ isOrange=eval(orangeRule)
+ if(isOrange){
+ return "3"
+ }
+ }
+ if(this.editForm.yellowRule){
+ let yellowRule = this.parseRule(this.editForm.yellowRule, this.editForm.kpiValue);
+ isYellow=eval(yellowRule)
+ if(isYellow){
+ return "2"
+ }
+ }
+ return "1"
+ }
+ }catch(e){
+ return "0";
+ }
+
}
}
},
@@ -293,6 +364,11 @@ export default {
default: false,
},
},
+ watch:{
+ calcKwarnStatus(v,ov){
+ //this.editSomeFields(this.editForm,"kwarnStatus",v)
+ }
+ },
data() {
return {
menuDefId:'',//menu_def.id 菜单表菜单编号,用于按钮权限判断
@@ -326,9 +402,19 @@ export default {
taskBoxVisible:false,
kpiHisVisible: false,
logVisible: false,
+
}
},
methods: {
+ parseRule(rule,kpiValue){
+ debugger
+ if(!rule){
+ return rule;
+ }
+ let rule2=rule.replace(/\$\{kpiValue\}/g,kpiValue)
+ let rule3=rule2.replace(/%/g,'/100')
+ return rule3;
+ },
//由组件扩展添加其它的初始页面的逻辑(mounted+onOpen都会调用此函数,建议只添加公共逻辑)
initCurrData(){
this.parent=this.parentKpi
diff --git a/src/views/xm/pro/kpi/XmKpiTrendAnalysis.vue b/src/views/xm/pro/kpi/XmKpiTrendAnalysis.vue
new file mode 100644
index 00000000..eec7730b
--- /dev/null
+++ b/src/views/xm/pro/kpi/XmKpiTrendAnalysis.vue
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ kpi指标职能分布
+
+
+
+
+
+
+
+
+
+
+ kpi指标周期分布
+
+
+
+
+
+
+
+
+
+ kpi指标等级分布
+
+
+
+
+
+
+
+
+
+ kpi指标审核状态分布
+
+
+
+
+
+
+
+
+
+
+ kpi指标状态分布
+
+
+
+
+
+
+
+
+
+ kpi指标部门分布
+
+
+
+
+
+
+
+
+
+
+ kpi指标项目分布
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+