|
@@ -14,49 +14,53 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="exceed">
|
|
|
- <span class="exceedSpan" style="width:100px">规则名称:</span>
|
|
|
- <el-input v-model="indicatorStr" placeholder="请输入规则名称"></el-input>
|
|
|
+ <span class="exceedSpan" style="width:100px">预警名称:</span>
|
|
|
+ <el-input v-model="indicatorStr" placeholder="请输入预警名称"></el-input>
|
|
|
</div>
|
|
|
<seachs @handleSeach="getSeachData" @handleRest="reset"></seachs>
|
|
|
</div>
|
|
|
<div class="PeriodBtn">
|
|
|
+ <!-- $utils.havePurview('earlyWarningRules:oneLevel:add') -->
|
|
|
<btns
|
|
|
:showImport="false"
|
|
|
:showExport="false"
|
|
|
- :showAdd="$utils.havePurview('earlyWarningRules:oneLevel:add')"
|
|
|
- :showSave="$utils.havePurview('earlyWarningRules:oneLevel:save')"
|
|
|
- :showDelete="$utils.havePurview('earlyWarningRules:oneLevel:delete')"
|
|
|
- :disSave="changeDateSelect.length === 0 || changeDateSelect.length>1"
|
|
|
- :disDelete="changeDateSelect.length === 0"
|
|
|
- :disImport="true"
|
|
|
- :disExport="true"
|
|
|
+ :showAdd="true"
|
|
|
+ :showSave="false" :showDelete="false"
|
|
|
+ :disSave="true" :disDelete="true" :disImport="true" :disExport="true"
|
|
|
@handleAdd="handleAdd"
|
|
|
- @handleEdit="handleEdit"
|
|
|
- @handleDelete="handleDelete"
|
|
|
></btns>
|
|
|
</div>
|
|
|
<div class="earlyWarningRulesTableData">
|
|
|
- <el-table :data="earlyWarningRulesData" style="width: 100%" @select="rowClick" @select-all="allSelect" @row-dblclick="handleEdit">
|
|
|
- <el-table-column type="selection" label="操作" align="center" />
|
|
|
- <el-table-column label="规则名称" prop="scoreRuleName" />
|
|
|
- <el-table-column label="业务属性" prop="businessName" width="200" />
|
|
|
- <el-table-column label="指标名称" width="300">
|
|
|
+ <el-table :data="earlyWarningRulesData" style="width: 100%" @row-dblclick="handleEdit">
|
|
|
+ <el-table-column label="序号" type="index" align="center" />
|
|
|
+ <el-table-column label="预警名称" prop="ruleName" />
|
|
|
+ <el-table-column label="业务属性" prop="sectionName" width="200" />
|
|
|
+ <el-table-column label="指标名称" prop="indicatorName" />
|
|
|
+ <el-table-column label="预警类型" prop="type">
|
|
|
<template #default="scope">
|
|
|
- <span>{{scope.row.indicatorNames.join(',')}}</span>
|
|
|
+ <span v-if="scope.row.type === 'YDKP'" style="font-size: 12px;">月度考评</span>
|
|
|
+ <span v-else-if="scope.row.type === 'JDKP'" style="font-size: 12px;">季度考评</span>
|
|
|
+ <span v-else style="font-size: 12px;">年度考评</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="预警公式" prop="expression" />
|
|
|
<el-table-column label="描述">
|
|
|
<template #default="scope">
|
|
|
<el-tooltip
|
|
|
class="box-item"
|
|
|
effect="customized"
|
|
|
- :content="scope.row.describe"
|
|
|
+ :content="scope.row.ruleDes"
|
|
|
placement="top"
|
|
|
>
|
|
|
- <span class="tooltipCC">{{scope.row.describe}}</span>
|
|
|
+ <span class="tooltipCC">{{scope.row.ruleDes}}</span>
|
|
|
</el-tooltip>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="操作" width="100">
|
|
|
+ <template #default="scope">
|
|
|
+ <p class="indicitem" @click="handleDelete(scope.row)">删除</p>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
@@ -70,155 +74,189 @@
|
|
|
<el-dialog :title="title" v-model="dialogVisible" width="60vw" :close-on-click-modal="false">
|
|
|
<div class="periodFrom">
|
|
|
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
|
|
|
- <el-form-item label="规则名称" prop="ruleName">
|
|
|
- <el-input v-model="ruleForm.ruleName" placeholder="请输入规则名称"></el-input>
|
|
|
+ <el-form-item label="预警名称" prop="ruleName">
|
|
|
+ <el-input v-model="ruleForm.ruleName" placeholder="请输入预警名称"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="业务属性" prop="binSection">
|
|
|
- <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性" :disabled="isSave" @change="changeBinstation">
|
|
|
- <el-option
|
|
|
- v-for="item in binSectionoptions"
|
|
|
- :key="item.id"
|
|
|
- :label="item.sectionName"
|
|
|
- :value="item.id">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="指标名称" prop="indicatorId">
|
|
|
- <!-- multiple collapse-tags -->
|
|
|
- <el-select v-model="ruleForm.indicatorId" placeholder="请选择指标名称" :disabled="isSave">
|
|
|
- <el-option
|
|
|
- v-for="item in indicItemoptions"
|
|
|
- :key="item.indicatorCode"
|
|
|
- :label="item.indicatorName"
|
|
|
- :value="item.indicatorCode">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="规则配置">
|
|
|
- <div class="earlyWarningRight">
|
|
|
- <div class="earlyWarningFrom">
|
|
|
- <div class="fromLeft">
|
|
|
- <el-tabs type="border-card">
|
|
|
- <el-tab-pane label="子指标">
|
|
|
- <el-table
|
|
|
- size="mini"
|
|
|
- :show-header="false"
|
|
|
- :highlight-current-row="true"
|
|
|
- :stripe="false"
|
|
|
- :border="false"
|
|
|
- height="240"
|
|
|
- ref="multipleTable"
|
|
|
- :data="childerindicItemoptions"
|
|
|
- @select-all="onSelectAll"
|
|
|
- @selection-change="selectItem"
|
|
|
- @row-click="onSelectOp"
|
|
|
- >
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column prop="childName" />
|
|
|
- <el-table-column prop="childCode" />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="指标项">
|
|
|
- <el-table
|
|
|
- size="mini"
|
|
|
- :show-header="false"
|
|
|
- :highlight-current-row="true"
|
|
|
- :stripe="false"
|
|
|
- :border="false"
|
|
|
- height="240"
|
|
|
- @row-dblclick="rowDbclick"
|
|
|
- :data="multipleSelectionObj?multipleSelectionObj.list:[]"
|
|
|
- >
|
|
|
- <el-table-column prop="optionName" />
|
|
|
- <el-table-column prop="optionCode" />
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="函数">
|
|
|
- <el-table
|
|
|
- size="mini"
|
|
|
- fit
|
|
|
- :show-header="false"
|
|
|
- :highlight-current-row="true"
|
|
|
- :stripe="false"
|
|
|
- :border="false"
|
|
|
- height="240"
|
|
|
- @row-dblclick="tabFuncRowClickHandle"
|
|
|
- :data="funcMsg"
|
|
|
- >
|
|
|
- <el-table-column min-width="40%">
|
|
|
- <template #default="scope">
|
|
|
- <el-popover trigger="hover" placement="bottom">
|
|
|
- <p>描述:{{ scope.row.formulaName }}</p>
|
|
|
- <!-- <p>参数:{{ scope.row.param }}</p> -->
|
|
|
- <template #reference>
|
|
|
- <span size="medium" transition="fade-in-linear">{{
|
|
|
- scope.row.formulaName
|
|
|
- }}</span>
|
|
|
- </template>
|
|
|
- </el-popover>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column min-width="60%">
|
|
|
- <template #default="scope">
|
|
|
- <el-popover trigger="hover" placement="bottom">
|
|
|
- <p>描述:{{ scope.row.description }}</p>
|
|
|
- <!-- <p>参数:{{ scope.row.param }}</p> -->
|
|
|
- <template #reference>
|
|
|
- <span size="medium" transition="fade-in-linear">{{
|
|
|
- scope.row.description
|
|
|
- }}</span>
|
|
|
- </template>
|
|
|
- </el-popover>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="运算符">
|
|
|
- <el-button-group>
|
|
|
- <el-button
|
|
|
- v-for="item in operator"
|
|
|
- :key="item"
|
|
|
- plain
|
|
|
- @click="scorRuleSplit(item)"
|
|
|
- style="width: 60px; margin: 7px 12px; height: 40px; border: 1px solid #409EFF;"
|
|
|
- >
|
|
|
- {{ item }}
|
|
|
- </el-button>
|
|
|
- </el-button-group>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </div>
|
|
|
- <div class="fromRight">
|
|
|
- <div>
|
|
|
- <div style="display:flex">
|
|
|
- <!-- <el-checkbox style="margin-right: 10px" v-model="isrepresentation" @change="changeRep" /> -->
|
|
|
- <!-- <el-tag style="margin-bottom: 5px">公式</el-tag> -->
|
|
|
- <span style="font-size: 14px;color: #606266;font-weight:blod">公式</span>
|
|
|
- </div>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- rows="16"
|
|
|
- v-model="itemForm.representation"
|
|
|
- id="representation"
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="业务属性" prop="binSection">
|
|
|
+ <el-select v-model="ruleForm.binSection" placeholder="请选择业务属性" :disabled="isSave" @change="changeBinstation">
|
|
|
+ <el-option
|
|
|
+ v-for="item in binSectionoptions"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.sectionName"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="指标名称" prop="indicatorId">
|
|
|
+ <!-- multiple collapse-tags -->
|
|
|
+ <el-select v-model="ruleForm.indicatorId" placeholder="请选择指标名称"
|
|
|
+ @change="changeIndication"
|
|
|
+ :disabled="isSave">
|
|
|
+ <el-option
|
|
|
+ v-for="item in indicItemoptions"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.indicatorName"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="预警等级" prop="warningLevel">
|
|
|
+ <el-select v-model="ruleForm.warningLevel" placeholder="请选择预警等级">
|
|
|
+ <el-option
|
|
|
+ v-for="item in warningLeveloptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="预警类型" prop="warningType">
|
|
|
+ <el-select v-model="ruleForm.warningType" placeholder="请选择预警类型">
|
|
|
+ <el-option
|
|
|
+ v-for="item in warningTypeoptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="触发时间" prop="warningDate">
|
|
|
+ <el-row style="width:100%">
|
|
|
+ <el-col :span="22">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="ruleForm.warningDate"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ type="date"
|
|
|
+ placeholder="请选择触发时间"
|
|
|
/>
|
|
|
- </div>
|
|
|
- <!-- <div style="margin-top: 10px">
|
|
|
- <div style="display:flex">
|
|
|
- <el-checkbox style="margin-right: 10px" disabled v-model="isrange" @change="changeRank" />
|
|
|
- <el-tag style="margin-bottom: 5px">子指标名称</el-tag>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="2" class="questionIcon">
|
|
|
+ <el-popover
|
|
|
+ placement="right-start"
|
|
|
+ title="提示"
|
|
|
+ :width="200"
|
|
|
+ trigger="hover"
|
|
|
+ >
|
|
|
+ <div>
|
|
|
+ <p>预警类型为年度:表示每年的今天执行;</p>
|
|
|
+ <p>预警类型为季度:1,4,7,10月份表示每个季度的第一个月执行,2,5,8,11月份表示每个季度的第二个月执行,3,6,9,12月份表示每个季度的第三个月执行;</p>
|
|
|
+ <p>预警类型为月度:表示每个月的今天执.</p>
|
|
|
</div>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- rows="4"
|
|
|
- v-model="itemForm.range"
|
|
|
- disabled
|
|
|
- id="range"
|
|
|
- />
|
|
|
- </div> -->
|
|
|
+ <template #reference>
|
|
|
+ <el-icon :size="20" color="#3B7AD1"><QuestionFilled /></el-icon>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="是否启用">
|
|
|
+ <el-switch v-model="ruleForm.isEnable" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12" class="earlyWarningRight">
|
|
|
+ <el-form-item label="规则配置">
|
|
|
+ <el-tabs type="border-card">
|
|
|
+ <el-tab-pane label="指标项">
|
|
|
+ <el-table
|
|
|
+ size="mini"
|
|
|
+ :show-header="false"
|
|
|
+ :highlight-current-row="true"
|
|
|
+ :stripe="false"
|
|
|
+ :border="false"
|
|
|
+ height="240"
|
|
|
+ @row-dblclick="rowDbclick"
|
|
|
+ :data="multipleSelectionArr"
|
|
|
+ >
|
|
|
+ <el-table-column prop="optionName" />
|
|
|
+ <el-table-column prop="optionCode" />
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="函数">
|
|
|
+ <el-table
|
|
|
+ size="mini"
|
|
|
+ fit
|
|
|
+ :show-header="false"
|
|
|
+ :highlight-current-row="true"
|
|
|
+ :stripe="false"
|
|
|
+ :border="false"
|
|
|
+ height="240"
|
|
|
+ @row-dblclick="tabFuncRowClickHandle"
|
|
|
+ :data="funcMsg"
|
|
|
+ >
|
|
|
+ <el-table-column min-width="40%">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-popover trigger="hover" placement="bottom">
|
|
|
+ <p>描述:{{ scope.row.formulaName }}</p>
|
|
|
+ <!-- <p>参数:{{ scope.row.param }}</p> -->
|
|
|
+ <template #reference>
|
|
|
+ <span size="medium" transition="fade-in-linear">{{
|
|
|
+ scope.row.formulaName
|
|
|
+ }}</span>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column min-width="60%">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-popover trigger="hover" placement="bottom">
|
|
|
+ <p>描述:{{ scope.row.description }}</p>
|
|
|
+ <!-- <p>参数:{{ scope.row.param }}</p> -->
|
|
|
+ <template #reference>
|
|
|
+ <span size="medium" transition="fade-in-linear">{{
|
|
|
+ scope.row.description
|
|
|
+ }}</span>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="运算符">
|
|
|
+ <el-button-group>
|
|
|
+ <el-button
|
|
|
+ v-for="item in operator"
|
|
|
+ :key="item"
|
|
|
+ plain
|
|
|
+ @click="scorRuleSplit(item)"
|
|
|
+ style="width: 60px; margin: 7px 12px; height: 40px; border: 1px solid #409EFF;"
|
|
|
+ >
|
|
|
+ {{ item }}
|
|
|
+ </el-button>
|
|
|
+ </el-button-group>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="规则公式" prop="representation">
|
|
|
+ <div style="display:flex">
|
|
|
+ <span style="font-size: 14px;color: #F65177;font-weight:blod">
|
|
|
+ *可双击左侧规则配置辅助写公式,符合Excel规则
|
|
|
+ </span>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ rows="16"
|
|
|
+ v-model="ruleForm.representation"
|
|
|
+ id="representation"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
<el-form-item label="描述" prop="desc">
|
|
|
<el-input v-model="ruleForm.desc" :rows="5" type="textarea" placeholder="请输入描述"></el-input>
|
|
|
</el-form-item>
|
|
@@ -238,8 +276,8 @@
|
|
|
<script>
|
|
|
import btns from '../elbuttonS.vue'
|
|
|
import seachs from '../seachGroup.vue'
|
|
|
-import {apiGetevaluationscoringruleList, apiGetindicatorListAll, apiGetfunctionList,
|
|
|
-apiGetbinsectionList, apiGetevaluationscoringSaveList, apiGetevaluationruleRemove} from '../../api/api'
|
|
|
+import {apiGetevaluationWarningruleList, apiGetindicatorListAll, apiGetfunctionList,apiGetIndidicList,
|
|
|
+apiGetbinsectionList, apiGetevaluationWarningSave, apiPostevaluationwarningruleDelete} from '../../api/api'
|
|
|
export default {
|
|
|
components: { btns,seachs },
|
|
|
data() {
|
|
@@ -248,29 +286,30 @@ export default {
|
|
|
title: '',
|
|
|
indicItemoptions: [],
|
|
|
childerindicItemoptions: [],
|
|
|
+ warningLeveloptions: [],
|
|
|
+ warningTypeoptions: [],
|
|
|
binSectionoptions: [],
|
|
|
- indicatorItems: [],
|
|
|
indicatorStr: '',
|
|
|
businessStr: '',
|
|
|
rowdataMsg: {},
|
|
|
- changeDateSelect: [],
|
|
|
isSave: false,
|
|
|
funcMsg: [],
|
|
|
operator: [],
|
|
|
+ multipleSelectionArr: [],
|
|
|
ruleForm: {
|
|
|
ruleName: '',
|
|
|
binSection: '',
|
|
|
indicatorId: '',
|
|
|
- desc: ''
|
|
|
- },
|
|
|
- itemForm: {
|
|
|
+ warningLevel: '',
|
|
|
+ warningType: '',
|
|
|
+ warningDate: '',
|
|
|
+ isEnable: true,
|
|
|
representation: '',
|
|
|
- range: '',
|
|
|
desc: ''
|
|
|
},
|
|
|
rules: {
|
|
|
ruleName: [
|
|
|
- { required: true, message: '请输入规则名称', trigger: 'blur' }
|
|
|
+ { required: true, message: '请输入预警名称', trigger: 'blur' }
|
|
|
],
|
|
|
binSection: [
|
|
|
{ required: true, message: '请选择业务属性', trigger: 'change' }
|
|
@@ -278,6 +317,18 @@ export default {
|
|
|
indicatorId: [
|
|
|
{ required: true, message: '请选择指标名称', trigger: 'change' }
|
|
|
],
|
|
|
+ warningLevel: [
|
|
|
+ { required: true, message: '请选择预警等级', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ warningType: [
|
|
|
+ { required: true, message: '请选择预警类型', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ warningDate: [
|
|
|
+ { required: true, message: '请选择触发时间', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ representation: [
|
|
|
+ { required: true, message: '请输入公式', trigger: 'blur' }
|
|
|
+ ],
|
|
|
desc: [
|
|
|
{ required: true, message: '请输入描述', trigger: 'blur' }
|
|
|
]
|
|
@@ -292,6 +343,34 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.warningLeveloptions = [
|
|
|
+ {
|
|
|
+ label: '高',
|
|
|
+ value: 3
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '中',
|
|
|
+ value: 2
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '低',
|
|
|
+ value: 1
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ this.warningTypeoptions = [
|
|
|
+ {
|
|
|
+ label: '年度考评',
|
|
|
+ value: 'NDKP'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '季度考评',
|
|
|
+ value: 'JDKP'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '月度考评',
|
|
|
+ value: 'YDKP'
|
|
|
+ }
|
|
|
+ ]
|
|
|
this.getEvalscoringData()
|
|
|
this.getDataDictionary()
|
|
|
this.getEvaluationData()
|
|
@@ -306,10 +385,10 @@ export default {
|
|
|
let params = {
|
|
|
pageNum: that.page.currentPage,
|
|
|
pageSize: that.page.pagesize,
|
|
|
- scoreRuleName: that.indicatorStr,
|
|
|
- businessPhase: that.businessStr
|
|
|
+ ruleName: that.indicatorStr,
|
|
|
+ binSection: that.businessStr
|
|
|
}
|
|
|
- apiGetevaluationscoringruleList(params).then(datas =>{
|
|
|
+ apiGetevaluationWarningruleList(params).then(datas =>{
|
|
|
if (datas && datas.data) {
|
|
|
that.earlyWarningRulesData = datas.data.records
|
|
|
that.page.total = datas.data.total
|
|
@@ -334,7 +413,52 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ changeIndication(val) {
|
|
|
+ let that = this
|
|
|
+ that.multipleSelectionArr = []
|
|
|
+ let params = {
|
|
|
+ indicatorId: val
|
|
|
+ }
|
|
|
+ apiGetIndidicList(params).then(datas =>{
|
|
|
+ if (datas) {
|
|
|
+ that.multipleSelectionArr = datas
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ tabFuncRowClickHandle(row) {
|
|
|
+ let elInput = null
|
|
|
+ elInput = document.getElementById("representation");
|
|
|
+ let startPos = elInput.selectionStart; //第0个字符到选中的字符
|
|
|
+ let endPos = elInput.selectionEnd; //选中字符到末尾字符
|
|
|
+ if (startPos === undefined || endPos === undefined) return;
|
|
|
+ let txt = elInput.value;
|
|
|
+ let func = row.formulaExpresion
|
|
|
+ // 将插值添加到选中光标位置
|
|
|
+ let result = txt.substring(0, startPos) + func + txt.substring(endPos);
|
|
|
+ elInput.value = result;
|
|
|
+ elInput.focus();
|
|
|
+ },
|
|
|
+ rowDbclick(row) {
|
|
|
+ this.scorRuleSplit(row.optionCode);
|
|
|
+ },
|
|
|
+ scorRuleSplit(val) {
|
|
|
+ let elInput = null
|
|
|
+ elInput = document.getElementById("representation");
|
|
|
+ let startPos = elInput.selectionStart;
|
|
|
+ let endPos = elInput.selectionEnd;
|
|
|
+ if (startPos === undefined || endPos === undefined) return;
|
|
|
+ let txt = elInput.value;
|
|
|
+ let txtSplit = '['+val+']';
|
|
|
+ let result = txt.substring(0, startPos) + txtSplit + txt.substring(endPos);
|
|
|
+ elInput.value = result;
|
|
|
+ this.ruleForm.representation = result
|
|
|
+ elInput.focus();
|
|
|
+ elInput.selectionStart = startPos + txtSplit.length;
|
|
|
+ elInput.selectionEnd = startPos + txtSplit.length;
|
|
|
+ },
|
|
|
changeBinstation(val) {
|
|
|
+ this.ruleForm.indicatorId = ''
|
|
|
+ this.indicItemoptions = []
|
|
|
this.getEvaluationData(val)
|
|
|
},
|
|
|
// 查询指标数据
|
|
@@ -358,6 +482,11 @@ export default {
|
|
|
ruleName: '',
|
|
|
binSection: '',
|
|
|
indicatorId: '',
|
|
|
+ warningLevel: '',
|
|
|
+ warningType: '',
|
|
|
+ warningDate: '',
|
|
|
+ isEnable: isEnable,
|
|
|
+ representation: '',
|
|
|
desc: ''
|
|
|
}
|
|
|
})
|
|
@@ -366,19 +495,19 @@ export default {
|
|
|
this.dialogVisible = true
|
|
|
this.isSave = true
|
|
|
this.title = '修改考评预警规则'
|
|
|
- let evalradio = null
|
|
|
- if (row) {
|
|
|
- evalradio = row
|
|
|
- } else {
|
|
|
- evalradio = this.changeDateSelect[0]
|
|
|
- }
|
|
|
+ this.rowdataMsg = row
|
|
|
this.ruleForm = {
|
|
|
- ruleName: evalradio.scoreRuleName,
|
|
|
- binSection: evalradio.businessPhase,
|
|
|
- indicatorId: evalradio.indicatorId,
|
|
|
- desc: evalradio.describe
|
|
|
+ ruleName: row.ruleName,
|
|
|
+ binSection: row.binSection,
|
|
|
+ indicatorId: row.indicatorId,
|
|
|
+ warningLevel: row.grade,
|
|
|
+ warningType: row.type,
|
|
|
+ warningDate: row.cronTime,
|
|
|
+ isEnable: row.enable,
|
|
|
+ representation: row.expression,
|
|
|
+ desc: row.ruleDes
|
|
|
}
|
|
|
- this.getEvaluationData(evalradio.businessPhase)
|
|
|
+ this.getEvaluationData(row.binSection)
|
|
|
},
|
|
|
saveevaluscoringruleMsg(formName) {
|
|
|
let that = this
|
|
@@ -392,16 +521,21 @@ export default {
|
|
|
saveAndEditIndicatorData() {
|
|
|
let that = this
|
|
|
let params = {
|
|
|
- scoreRuleName: that.ruleForm.ruleName,
|
|
|
- businessPhase: that.ruleForm.binSection,
|
|
|
+ ruleName: that.ruleForm.ruleName,
|
|
|
+ binSection: that.ruleForm.binSection,
|
|
|
indicatorId: that.ruleForm.indicatorId,
|
|
|
- describe: that.ruleForm.desc
|
|
|
+ grade: that.ruleForm.warningLevel,
|
|
|
+ type: that.ruleForm.warningType,
|
|
|
+ cronTime: that.ruleForm.warningDate+' 00:00:00',
|
|
|
+ enable: that.ruleForm.isEnable,
|
|
|
+ expression: that.ruleForm.representation,
|
|
|
+ ruleDes: that.ruleForm.desc
|
|
|
}
|
|
|
if (that.isSave) {
|
|
|
- let evalradio = this.changeDateSelect[0]
|
|
|
+ let evalradio = that.rowdataMsg
|
|
|
params.id = evalradio.id
|
|
|
}
|
|
|
- apiGetevaluationscoringSaveList(params).then(datas =>{
|
|
|
+ apiGetevaluationWarningSave(params).then(datas =>{
|
|
|
if (!that.isSave) {
|
|
|
that.$message({
|
|
|
message: '考评预警规则新增成功',
|
|
@@ -414,29 +548,26 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
that.dialogVisible = false
|
|
|
- that.changeDateSelect = []
|
|
|
that.getEvalscoringData()
|
|
|
})
|
|
|
},
|
|
|
//删除指标数据
|
|
|
- handleDelete() {
|
|
|
+ handleDelete(row) {
|
|
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}).then(() => {
|
|
|
let that = this
|
|
|
- let paramsArr = []
|
|
|
- that.changeDateSelect.forEach(it =>{
|
|
|
- paramsArr.push(it.id)
|
|
|
- })
|
|
|
- apiGetevaluationruleRemove(paramsArr.join(',')).then(datas =>{
|
|
|
+ let params = {
|
|
|
+ id: row.id
|
|
|
+ }
|
|
|
+ apiPostevaluationwarningruleDelete(params).then(datas =>{
|
|
|
if (datas) {
|
|
|
that.$message({
|
|
|
type: 'success',
|
|
|
message: '删除成功!'
|
|
|
});
|
|
|
- that.changeDateSelect = []
|
|
|
that.getEvalscoringData()
|
|
|
}
|
|
|
})
|
|
@@ -465,9 +596,6 @@ export default {
|
|
|
handleCurrentChange(val){
|
|
|
this.page.currentPage =val
|
|
|
this.getEvalscoringData()
|
|
|
- },
|
|
|
- rowClick(selection, row) {
|
|
|
- this.changeDateSelect = selection
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -577,30 +705,30 @@ export default {
|
|
|
.el-select, .el-input{
|
|
|
width: 100%;
|
|
|
}
|
|
|
+ .el-input{
|
|
|
+ height: 30px;
|
|
|
+ }
|
|
|
+ .questionIcon{
|
|
|
+ .el-icon{
|
|
|
+ position: relative;
|
|
|
+ top: 3px;
|
|
|
+ left: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
.earlyWarningRight {
|
|
|
width: 100%;
|
|
|
- // padding-left: 30px;
|
|
|
- .earlyWarningFrom{
|
|
|
- display: flex;
|
|
|
- .fromLeft{
|
|
|
- width: 55%;
|
|
|
- margin-right: 20px;
|
|
|
- .el-tabs{
|
|
|
- height: 100%;
|
|
|
- .el-tabs__content{
|
|
|
- .el-table{
|
|
|
- .el-table__body-wrapper{
|
|
|
- .el-checkbox__inner{
|
|
|
- border-radius: 10px;
|
|
|
- }
|
|
|
- }
|
|
|
+ .el-tabs{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ .el-tabs__content{
|
|
|
+ .el-table{
|
|
|
+ .el-table__body-wrapper{
|
|
|
+ .el-checkbox__inner{
|
|
|
+ border-radius: 10px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .fromRight{
|
|
|
- width: 43%;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|