|
@@ -7,10 +7,10 @@
|
|
|
<template>
|
|
|
<div class="ruleModule">
|
|
|
<div class="toolbox-automate-rules-create-body">
|
|
|
- <a-steps :current="current" size="default" style="width: 50%; margin: 0 auto" v-if="editShow">
|
|
|
+ <!-- <a-steps :current="current" size="default" style="width: 50%; margin: 0 auto" v-if="editShow">
|
|
|
<a-step title="预警值填写" />
|
|
|
<a-step title="开关设置" />
|
|
|
- </a-steps>
|
|
|
+ </a-steps> -->
|
|
|
|
|
|
<!-- {{ ceshi }}{{ time }}
|
|
|
<br />
|
|
@@ -26,405 +26,415 @@
|
|
|
:radioStyle="true"
|
|
|
/>
|
|
|
{{ form }} -->
|
|
|
- <div v-if="current == 0">
|
|
|
- <div class="toolbox-automate-rules-create-content_title">
|
|
|
- <h3>预警值{{ editShow ? '填写' : '表单预览' }}</h3>
|
|
|
- </div>
|
|
|
- <a-spin :spinning="spinLoading">
|
|
|
- <div class="toolbox-automate-rules-create-content">
|
|
|
- <a-form-model ref="ruleForm" :model="form" layout="horizontal">
|
|
|
- <div class="moduler">
|
|
|
- <template v-for="(item, index) of form.ruleList">
|
|
|
- <div class="row-item" v-if="item.ruleType == 'base' && item.isCopy == 0">
|
|
|
- <div class="hint-item">
|
|
|
- <a-tooltip>
|
|
|
- <template slot="title">
|
|
|
- {{ item.remark }}
|
|
|
- </template>
|
|
|
- <a-icon type="question-circle" />
|
|
|
- </a-tooltip>
|
|
|
- </div>
|
|
|
- <div class="label-item">
|
|
|
- <div class="text-item">{{ item.groupName }}</div>
|
|
|
- <div class="required-item" v-if="item.isRequired == 1"></div>
|
|
|
- </div>
|
|
|
- <div class="input-item">
|
|
|
- <a-form-model-item
|
|
|
- v-for="(value, valueIndex) of item.ruleDetail"
|
|
|
- :key="valueIndex"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${item.groupName}必填`,
|
|
|
- trigger: value.dataType == 'array' ? 'change' : 'blur',
|
|
|
- }"
|
|
|
- >
|
|
|
- <a-input-number
|
|
|
- v-model="value.threshold"
|
|
|
- :min="0"
|
|
|
- style="width: 100px; margin-right: 5px"
|
|
|
- v-if="value.modelType == 'numberText'"
|
|
|
- />
|
|
|
- <a-input
|
|
|
- v-model="value.threshold"
|
|
|
- style="width: 300px; margin-right: 5px"
|
|
|
- v-else-if="value.modelType == 'text'"
|
|
|
- />
|
|
|
- <selectGroup
|
|
|
- v-model="value.threshold"
|
|
|
- style="width: 300px; margin-right: 5px"
|
|
|
- :code="value.dictId"
|
|
|
- :multiple="
|
|
|
- value.dataType == 'string' ||
|
|
|
- value.dataType == 'number' ||
|
|
|
- value.indicatorCode == 'presentedVideo' ||
|
|
|
- value.indicatorCode == 'hideIfExists'
|
|
|
- ? false
|
|
|
- : true
|
|
|
- "
|
|
|
- v-else-if="value.modelType == 'select'"
|
|
|
- />
|
|
|
- <!-- <selectGroup
|
|
|
+
|
|
|
+ <div class="toolbox-automate-rules-create-content_title">
|
|
|
+ <h3>预警值{{ editShow ? '填写' : '表单预览' }}</h3>
|
|
|
+ </div>
|
|
|
+ <a-spin :spinning="spinLoading">
|
|
|
+ <div class="toolbox-automate-rules-create-content">
|
|
|
+ <a-form-model ref="ruleForm" :model="form" layout="horizontal">
|
|
|
+ <div class="moduler">
|
|
|
+ <template v-for="(item, index) of form.ruleList">
|
|
|
+ <div class="row-item" v-if="item.ruleType == 'base' && item.isCopy == 0">
|
|
|
+ <div class="hint-item">
|
|
|
+ <a-tooltip>
|
|
|
+ <template slot="title">
|
|
|
+ {{ item.remark }}
|
|
|
+ </template>
|
|
|
+ <a-icon type="question-circle" />
|
|
|
+ </a-tooltip>
|
|
|
+ </div>
|
|
|
+ <div class="label-item">
|
|
|
+ <div class="text-item">{{ item.groupName }}</div>
|
|
|
+ <div class="required-item" v-if="item.isRequired == 1"></div>
|
|
|
+ </div>
|
|
|
+ <div class="input-item">
|
|
|
+ <a-form-model-item
|
|
|
+ v-for="(value, valueIndex) of item.ruleDetail"
|
|
|
+ :key="valueIndex"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${item.groupName}必填`,
|
|
|
+ trigger: value.dataType == 'array' ? 'change' : 'blur',
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ :disabled="!editShow"
|
|
|
+ v-model="value.threshold"
|
|
|
+ :min="0"
|
|
|
+ style="width: 100px; margin-right: 5px"
|
|
|
+ v-if="value.modelType == 'numberText'"
|
|
|
+ />
|
|
|
+ <a-input
|
|
|
+ :disabled="!editShow"
|
|
|
+ v-model="value.threshold"
|
|
|
+ style="width: 300px; margin-right: 5px"
|
|
|
+ v-else-if="value.modelType == 'text'"
|
|
|
+ />
|
|
|
+ <selectGroup
|
|
|
+ :disabled="!editShow"
|
|
|
+ v-model="value.threshold"
|
|
|
+ style="width: 300px; margin-right: 5px"
|
|
|
+ :code="value.dictId"
|
|
|
+ :multiple="
|
|
|
+ value.dataType == 'string' ||
|
|
|
+ value.dataType == 'number' ||
|
|
|
+ value.indicatorCode == 'presentedVideo' ||
|
|
|
+ value.indicatorCode == 'hideIfExists'
|
|
|
+ ? false
|
|
|
+ : true
|
|
|
+ "
|
|
|
+ v-else-if="value.modelType == 'select'"
|
|
|
+ />
|
|
|
+ <!-- <selectGroup
|
|
|
v-model="value.threshold"
|
|
|
style="width: 300px;margin-right:5px"
|
|
|
:code="value.dictId"
|
|
|
:multiple="value.dataType == 'string' ? false : true"
|
|
|
/> -->
|
|
|
- <checkBoxGroup
|
|
|
- v-model="value.threshold"
|
|
|
- style="width: 100%; margin-right: 5px"
|
|
|
- :code="value.dictId"
|
|
|
- :allValue="true"
|
|
|
- :radioStyle="
|
|
|
- value.dataType == 'string' ||
|
|
|
- value.dataType == 'number' ||
|
|
|
- value.indicatorCode == 'presentedVideo' ||
|
|
|
- value.indicatorCode == 'hideIfExists'
|
|
|
- ? true
|
|
|
- : false
|
|
|
- "
|
|
|
- v-else-if="value.modelType == 'checkBox'"
|
|
|
- />
|
|
|
- <a-select
|
|
|
- mode="tags"
|
|
|
- style="width: 100%"
|
|
|
- placeholder="按回车生成标签"
|
|
|
- v-model="value.threshold"
|
|
|
- dropdownClassName="display-none-selset"
|
|
|
- :token-separators="[',', ' ', ',']"
|
|
|
- v-else-if="value.modelType == 'tagBox'"
|
|
|
- >
|
|
|
- </a-select>
|
|
|
- {{ value.dataUnit }}
|
|
|
- </a-form-model-item>
|
|
|
- </div>
|
|
|
+ <checkBoxGroup
|
|
|
+ :disabled="!editShow"
|
|
|
+ v-model="value.threshold"
|
|
|
+ style="width: 100%; margin-right: 5px"
|
|
|
+ :code="value.dictId"
|
|
|
+ :allValue="true"
|
|
|
+ :radioStyle="
|
|
|
+ value.dataType == 'string' ||
|
|
|
+ value.dataType == 'number' ||
|
|
|
+ value.indicatorCode == 'presentedVideo' ||
|
|
|
+ value.indicatorCode == 'hideIfExists'
|
|
|
+ ? true
|
|
|
+ : false
|
|
|
+ "
|
|
|
+ v-else-if="value.modelType == 'checkBox'"
|
|
|
+ />
|
|
|
+ <a-select
|
|
|
+ :disabled="!editShow"
|
|
|
+ mode="tags"
|
|
|
+ style="width: 100%"
|
|
|
+ placeholder="按回车生成"
|
|
|
+ v-model="value.threshold"
|
|
|
+ dropdownClassName="display-none-selset"
|
|
|
+ :token-separators="[',', ' ', ',']"
|
|
|
+ v-else-if="value.modelType == 'tagBox'"
|
|
|
+ >
|
|
|
+ </a-select>
|
|
|
+ {{ value.dataUnit }}
|
|
|
+ </a-form-model-item>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 0">
|
|
|
- <div class="hint-item">
|
|
|
- <a-tooltip>
|
|
|
- <template slot="title">
|
|
|
- {{ item.remark }}
|
|
|
- </template>
|
|
|
- <a-icon type="question-circle" />
|
|
|
- </a-tooltip>
|
|
|
- </div>
|
|
|
- <div class="label-item">
|
|
|
- <div class="text-item">{{ item.groupName }}</div>
|
|
|
- <div class="required-item" v-if="item.isRequired == 1"></div>
|
|
|
- </div>
|
|
|
- <div class="input-item">
|
|
|
- <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
|
|
|
- <div class="content">
|
|
|
- <div class="rules-list">
|
|
|
- <div class="rules-list-item">
|
|
|
- <template v-for="(value, valueIndex) of item.ruleDetail">
|
|
|
- <div class="row-item row-group" v-if="value.variableType == 1">
|
|
|
- <!-- <div class="hint-item"></div>
|
|
|
+ <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 0">
|
|
|
+ <div class="hint-item">
|
|
|
+ <a-tooltip>
|
|
|
+ <template slot="title">
|
|
|
+ {{ item.remark }}
|
|
|
+ </template>
|
|
|
+ <a-icon type="question-circle" />
|
|
|
+ </a-tooltip>
|
|
|
+ </div>
|
|
|
+ <div class="label-item">
|
|
|
+ <div class="text-item">{{ item.groupName }}</div>
|
|
|
+ <div class="required-item" v-if="item.isRequired == 1"></div>
|
|
|
+ </div>
|
|
|
+ <div class="input-item">
|
|
|
+ <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
|
|
|
+ <div class="content">
|
|
|
+ <div class="rules-list">
|
|
|
+ <div class="rules-list-item">
|
|
|
+ <template v-for="(value, valueIndex) of item.ruleDetail">
|
|
|
+ <div class="row-item row-group" v-if="value.variableType == 1">
|
|
|
+ <!-- <div class="hint-item"></div>
|
|
|
<div class="label-item">
|
|
|
<div class="text-item"></div>
|
|
|
<div class="required-item"></div>
|
|
|
</div> -->
|
|
|
- <div class="input-item">
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必填`,
|
|
|
- trigger: 'blur',
|
|
|
- }"
|
|
|
- v-if="value.modelType == 'numberText'"
|
|
|
- >
|
|
|
- <a-input-number
|
|
|
- style="width: 100px; margin-right: 5px"
|
|
|
- v-model="value.threshold"
|
|
|
- :min="0"
|
|
|
- />{{ value.dataUnit }}
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必填`,
|
|
|
- trigger: 'blur',
|
|
|
- }"
|
|
|
- v-else-if="value.modelType == 'text'"
|
|
|
- >
|
|
|
- <a-input v-model="value.threshold" style="width: 95%" />
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必选`,
|
|
|
- trigger: 'change',
|
|
|
- }"
|
|
|
- v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
|
|
|
- >
|
|
|
- <selectGroup
|
|
|
- v-model="value.threshold"
|
|
|
- :code="value.dictId"
|
|
|
- :multiple="
|
|
|
- value.dataType == 'string' ||
|
|
|
- value.dataType == 'number' ||
|
|
|
- value.indicatorCode == 'presentedVideo' ||
|
|
|
- value.indicatorCode == 'hideIfExists'
|
|
|
- ? false
|
|
|
- : true
|
|
|
- "
|
|
|
- style="width: 95%"
|
|
|
- @clearValidate="clearAll"
|
|
|
- />
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必选`,
|
|
|
- trigger: 'change',
|
|
|
- }"
|
|
|
- v-else-if="value.modelType == 'tagBox'"
|
|
|
+ <div class="input-item">
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必填`,
|
|
|
+ trigger: 'blur',
|
|
|
+ }"
|
|
|
+ v-if="value.modelType == 'numberText'"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ :disabled="!editShow"
|
|
|
+ style="width: 100px; margin-right: 5px"
|
|
|
+ v-model="value.threshold"
|
|
|
+ :min="0"
|
|
|
+ />{{ value.dataUnit }}
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必填`,
|
|
|
+ trigger: 'blur',
|
|
|
+ }"
|
|
|
+ v-else-if="value.modelType == 'text'"
|
|
|
+ >
|
|
|
+ <a-input v-model="value.threshold" style="width: 95%" :disabled="!editShow" />
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必选`,
|
|
|
+ trigger: 'change',
|
|
|
+ }"
|
|
|
+ v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
|
|
|
+ >
|
|
|
+ <selectGroup
|
|
|
+ :disabled="!editShow"
|
|
|
+ v-model="value.threshold"
|
|
|
+ :code="value.dictId"
|
|
|
+ :multiple="
|
|
|
+ value.dataType == 'string' ||
|
|
|
+ value.dataType == 'number' ||
|
|
|
+ value.indicatorCode == 'presentedVideo' ||
|
|
|
+ value.indicatorCode == 'hideIfExists'
|
|
|
+ ? false
|
|
|
+ : true
|
|
|
+ "
|
|
|
+ style="width: 95%"
|
|
|
+ @clearValidate="clearAll"
|
|
|
+ />
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="'ruleList.' + index + '.ruleDetail.' + valueIndex + '.threshold'"
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必选`,
|
|
|
+ trigger: 'change',
|
|
|
+ }"
|
|
|
+ v-else-if="value.modelType == 'tagBox'"
|
|
|
+ >
|
|
|
+ <a-select
|
|
|
+ :disabled="!editShow"
|
|
|
+ mode="tags"
|
|
|
+ style="width: 95%"
|
|
|
+ placeholder="按回车生成"
|
|
|
+ v-model="value.threshold"
|
|
|
+ dropdownClassName="display-none-selset"
|
|
|
+ :token-separators="[',', ' ', ',']"
|
|
|
+ :maxTagCount="3"
|
|
|
>
|
|
|
- <a-select
|
|
|
- mode="tags"
|
|
|
- style="width: 95%"
|
|
|
- placeholder="按回车生成标签"
|
|
|
- v-model="value.threshold"
|
|
|
- dropdownClassName="display-none-selset"
|
|
|
- :token-separators="[',', ' ', ',']"
|
|
|
- :maxTagCount="3"
|
|
|
- >
|
|
|
- </a-select>
|
|
|
- </a-form-model-item>
|
|
|
- </div>
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
</div>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 1">
|
|
|
- <div class="hint-item">
|
|
|
- <a-tooltip>
|
|
|
- <template slot="title">
|
|
|
- {{ item.remark }}
|
|
|
- </template>
|
|
|
- <a-icon type="question-circle" />
|
|
|
- </a-tooltip>
|
|
|
- </div>
|
|
|
- <div class="label-item">
|
|
|
- <div class="text-item">{{ item.groupName }}</div>
|
|
|
- <div class="required-item" v-if="item.isRequired == 1"></div>
|
|
|
- </div>
|
|
|
- <div class="input-item">
|
|
|
- <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
|
|
|
- <div class="content">
|
|
|
- <div class="rules-list" v-for="(valueElse, valueIndex) of item.ruleDetail">
|
|
|
- <div class="rules-list-item">
|
|
|
- <template v-for="(value, valueElseIndex) of valueElse">
|
|
|
- <div class="row-item row-group" v-if="value.variableType == 1">
|
|
|
- <!-- <div class="hint-item"></div>
|
|
|
+ </div>
|
|
|
+ <div class="row-item" v-else-if="item.ruleType == 'group' && item.isCopy == 1">
|
|
|
+ <div class="hint-item">
|
|
|
+ <a-tooltip>
|
|
|
+ <template slot="title">
|
|
|
+ {{ item.remark }}
|
|
|
+ </template>
|
|
|
+ <a-icon type="question-circle" />
|
|
|
+ </a-tooltip>
|
|
|
+ </div>
|
|
|
+ <div class="label-item">
|
|
|
+ <div class="text-item">{{ item.groupName }}</div>
|
|
|
+ <div class="required-item" v-if="item.isRequired == 1"></div>
|
|
|
+ </div>
|
|
|
+ <div class="input-item">
|
|
|
+ <div class="toolbox-automate-rules-create-content_rules-and-condition_rules">
|
|
|
+ <div class="content">
|
|
|
+ <div class="rules-list" v-for="(valueElse, valueIndex) of item.ruleDetail">
|
|
|
+ <div class="rules-list-item">
|
|
|
+ <template v-for="(value, valueElseIndex) of valueElse">
|
|
|
+ <div class="row-item row-group" v-if="value.variableType == 1">
|
|
|
+ <!-- <div class="hint-item"></div>
|
|
|
<div class="label-item">
|
|
|
<div class="text-item"></div>
|
|
|
<div class="required-item"></div>
|
|
|
</div> -->
|
|
|
- <div class="input-item">
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="
|
|
|
- 'ruleList.' +
|
|
|
- index +
|
|
|
- '.ruleDetail.' +
|
|
|
- valueIndex +
|
|
|
- '.' +
|
|
|
- valueElseIndex +
|
|
|
- '.threshold'
|
|
|
+ <div class="input-item">
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="
|
|
|
+ 'ruleList.' +
|
|
|
+ index +
|
|
|
+ '.ruleDetail.' +
|
|
|
+ valueIndex +
|
|
|
+ '.' +
|
|
|
+ valueElseIndex +
|
|
|
+ '.threshold'
|
|
|
+ "
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必填`,
|
|
|
+ trigger: 'blur',
|
|
|
+ }"
|
|
|
+ v-if="value.modelType == 'numberText'"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ :disabled="!editShow"
|
|
|
+ style="width: 100px; margin-right: 5px"
|
|
|
+ v-model="value.threshold"
|
|
|
+ :min="0"
|
|
|
+ />{{ value.dataUnit }}
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="
|
|
|
+ 'ruleList.' +
|
|
|
+ index +
|
|
|
+ '.ruleDetail.' +
|
|
|
+ valueIndex +
|
|
|
+ '.' +
|
|
|
+ valueElseIndex +
|
|
|
+ '.threshold'
|
|
|
+ "
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必填`,
|
|
|
+ trigger: 'blur',
|
|
|
+ }"
|
|
|
+ v-else-if="value.modelType == 'text'"
|
|
|
+ >
|
|
|
+ <a-input :disabled="!editShow" v-model="value.threshold" style="width: 95%" />
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="
|
|
|
+ 'ruleList.' +
|
|
|
+ index +
|
|
|
+ '.ruleDetail.' +
|
|
|
+ valueIndex +
|
|
|
+ '.' +
|
|
|
+ valueElseIndex +
|
|
|
+ '.threshold'
|
|
|
+ "
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必选`,
|
|
|
+ trigger: 'change',
|
|
|
+ }"
|
|
|
+ v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
|
|
|
+ >
|
|
|
+ <selectGroup
|
|
|
+ :disabled="!editShow"
|
|
|
+ v-model="value.threshold"
|
|
|
+ :code="value.dictId"
|
|
|
+ :multiple="
|
|
|
+ value.dataType == 'string' ||
|
|
|
+ value.dataType == 'number' ||
|
|
|
+ value.indicatorCode == 'presentedVideo' ||
|
|
|
+ value.indicatorCode == 'hideIfExists'
|
|
|
+ ? false
|
|
|
+ : true
|
|
|
"
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必填`,
|
|
|
- trigger: 'blur',
|
|
|
- }"
|
|
|
- v-if="value.modelType == 'numberText'"
|
|
|
+ style="width: 95%"
|
|
|
+ @clearValidate="clearAll"
|
|
|
+ />
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ :label-col="{ span: 6 }"
|
|
|
+ :wrapper-col="{ span: 18 }"
|
|
|
+ :label="value.name"
|
|
|
+ :ref="value.indicatorCode + valueIndex"
|
|
|
+ :prop="
|
|
|
+ 'ruleList.' +
|
|
|
+ index +
|
|
|
+ '.ruleDetail.' +
|
|
|
+ valueIndex +
|
|
|
+ '.' +
|
|
|
+ valueElseIndex +
|
|
|
+ '.threshold'
|
|
|
+ "
|
|
|
+ :rules="{
|
|
|
+ required: item.isRequired == 1 ? true : false,
|
|
|
+ message: `${value.name}必选`,
|
|
|
+ trigger: 'change',
|
|
|
+ }"
|
|
|
+ v-else-if="value.modelType == 'tagBox'"
|
|
|
+ >
|
|
|
+ <a-select
|
|
|
+ :disabled="!editShow"
|
|
|
+ mode="tags"
|
|
|
+ style="width: 95%"
|
|
|
+ placeholder="按回车生成"
|
|
|
+ v-model="value.threshold"
|
|
|
+ dropdownClassName="display-none-selset"
|
|
|
+ :token-separators="[',', ' ', ',']"
|
|
|
+ :maxTagCount="3"
|
|
|
>
|
|
|
- <a-input-number
|
|
|
- style="width: 100px; margin-right: 5px"
|
|
|
- v-model="value.threshold"
|
|
|
- :min="0"
|
|
|
- />{{ value.dataUnit }}
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="
|
|
|
- 'ruleList.' +
|
|
|
- index +
|
|
|
- '.ruleDetail.' +
|
|
|
- valueIndex +
|
|
|
- '.' +
|
|
|
- valueElseIndex +
|
|
|
- '.threshold'
|
|
|
- "
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必填`,
|
|
|
- trigger: 'blur',
|
|
|
- }"
|
|
|
- v-else-if="value.modelType == 'text'"
|
|
|
- >
|
|
|
- <a-input v-model="value.threshold" style="width: 95%" />
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="
|
|
|
- 'ruleList.' +
|
|
|
- index +
|
|
|
- '.ruleDetail.' +
|
|
|
- valueIndex +
|
|
|
- '.' +
|
|
|
- valueElseIndex +
|
|
|
- '.threshold'
|
|
|
- "
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必选`,
|
|
|
- trigger: 'change',
|
|
|
- }"
|
|
|
- v-else-if="value.modelType == 'select' || value.modelType == 'checkBox'"
|
|
|
- >
|
|
|
- <selectGroup
|
|
|
- v-model="value.threshold"
|
|
|
- :code="value.dictId"
|
|
|
- :multiple="
|
|
|
- value.dataType == 'string' ||
|
|
|
- value.dataType == 'number' ||
|
|
|
- value.indicatorCode == 'presentedVideo' ||
|
|
|
- value.indicatorCode == 'hideIfExists'
|
|
|
- ? false
|
|
|
- : true
|
|
|
- "
|
|
|
- style="width: 95%"
|
|
|
- @clearValidate="clearAll"
|
|
|
- />
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- :label-col="{ span: 6 }"
|
|
|
- :wrapper-col="{ span: 18 }"
|
|
|
- :label="value.name"
|
|
|
- :ref="value.indicatorCode + valueIndex"
|
|
|
- :prop="
|
|
|
- 'ruleList.' +
|
|
|
- index +
|
|
|
- '.ruleDetail.' +
|
|
|
- valueIndex +
|
|
|
- '.' +
|
|
|
- valueElseIndex +
|
|
|
- '.threshold'
|
|
|
- "
|
|
|
- :rules="{
|
|
|
- required: item.isRequired == 1 ? true : false,
|
|
|
- message: `${value.name}必选`,
|
|
|
- trigger: 'change',
|
|
|
- }"
|
|
|
- v-else-if="value.modelType == 'tagBox'"
|
|
|
- >
|
|
|
- <a-select
|
|
|
- mode="tags"
|
|
|
- style="width: 95%"
|
|
|
- placeholder="按回车生成标签"
|
|
|
- v-model="value.threshold"
|
|
|
- dropdownClassName="display-none-selset"
|
|
|
- :token-separators="[',', ' ', ',']"
|
|
|
- :maxTagCount="3"
|
|
|
- >
|
|
|
- </a-select>
|
|
|
- </a-form-model-item>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="rules-list-item-delete"
|
|
|
- v-if="item.isCopy == 1"
|
|
|
- @click="addData(item, valueElse, valueIndex)"
|
|
|
- >
|
|
|
- {{ valueIndex == 0 ? '复制' : '删除' }}
|
|
|
+ </a-select>
|
|
|
+ </a-form-model-item>
|
|
|
</div>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="rules-list-item-delete"
|
|
|
+ v-if="item.isCopy == 1"
|
|
|
+ @click="addData(item, valueElse, valueIndex)"
|
|
|
+ >
|
|
|
+ {{ valueIndex == 0 ? '复建' : '删除' }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- <div class="moduler">
|
|
|
- <div class="opt">
|
|
|
- <a-button type="default" style="margin-right: 15px" @click="goBack">{{
|
|
|
- editShow ? '取消' : '返回'
|
|
|
- }}</a-button>
|
|
|
- <a-button
|
|
|
- type="primary"
|
|
|
- style="margin-right: 15px"
|
|
|
- @click="saveHandler"
|
|
|
- :loading="saveLoading"
|
|
|
- v-if="editShow"
|
|
|
- >下一步</a-button
|
|
|
- >
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </a-form-model>
|
|
|
- </div>
|
|
|
- </a-spin>
|
|
|
- </div>
|
|
|
- <div v-else-if="current == 1">
|
|
|
- <switchConfig />
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </a-form-model>
|
|
|
+ </div>
|
|
|
+ </a-spin>
|
|
|
+ </div>
|
|
|
+ <switchConfig :disabled="!editShow"/>
|
|
|
+ <div class="toolbox-automate-rules-create-body" v-if="editShow">
|
|
|
+ <div class="moduler">
|
|
|
+ <div class="opt">
|
|
|
+ <a-button type="default" style="margin-right: 15px" @click="goBack">{{
|
|
|
+ editShow ? '取消' : '返回'
|
|
|
+ }}</a-button>
|
|
|
+ <a-button
|
|
|
+ type="primary"
|
|
|
+ style="margin-right: 15px"
|
|
|
+ @click="saveHandler"
|
|
|
+ :loading="saveLoading"
|
|
|
+ v-if="editShow"
|
|
|
+ >确定</a-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -738,6 +748,12 @@ export default {
|
|
|
// alert(1)
|
|
|
if (index == 0) {
|
|
|
var data = JSON.parse(JSON.stringify(value))
|
|
|
+ data = data.map((item) => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ threshold: undefined,
|
|
|
+ }
|
|
|
+ })
|
|
|
valueElse.ruleDetail.push(data)
|
|
|
} else {
|
|
|
valueElse.ruleDetail.splice(index, 1)
|
|
@@ -964,7 +980,8 @@ export default {
|
|
|
if (res.success) {
|
|
|
this.saveLoading = false
|
|
|
// this.goBack()
|
|
|
- this.current = 1
|
|
|
+ this.$router.replace('/earlyWarningRules/useRuleList')
|
|
|
+ this.$bus.$emit('remove', '/earlyWarningRules/ruleModule')
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
@@ -1193,7 +1210,7 @@ export default {
|
|
|
display: flex;
|
|
|
justify-content: flex-start;
|
|
|
align-items: center;
|
|
|
- margin-bottom: 15px;
|
|
|
+ margin-bottom: 20px;
|
|
|
}
|
|
|
.row-item:last-of-type {
|
|
|
margin-bottom: 0;
|