| 1 | 1 | <template> | 
| 2 |  | -  <div class="step3" style="background-color: #f6f8f9"> | 
| 3 |  | -    <template v-for="(item, index) in profileData" :key="item.id"> | 
| 4 |  | -      <CollapseContainer class="border mb-1" :canExpan="false"> | 
| 5 |  | -        <template #action> | 
| 6 |  | -          <div class="cursor-pointer"> | 
| 7 |  | -            <img | 
| 8 |  | -              style="cursor: pointer" | 
| 9 |  | -              @click="deleteAlarmRule(index)" | 
| 10 |  | -              alt="移除" | 
| 11 |  | -              src="../../../../assets/images/delete.png" | 
| 12 |  | -            /> | 
| 13 |  | -          </div> | 
| 14 |  | -        </template> | 
| 15 |  | -        <div style="margin-top: -15px; margin-left: 10px"> | 
| 16 |  | -          <div class="alert-type" style="margin-left: -50px; margin-top: -10px"> | 
| 17 |  | -            <BasicForm @register="registerForm" | 
| 18 |  | -          /></div> | 
| 19 |  | -          <div style="margin-top: -15px"> | 
| 20 |  | -            <div style="margin-left: -8px; margin-top: -10px"> | 
| 21 |  | -              <BasicForm | 
| 22 |  | -                @register="registerFormHighSetting" | 
| 23 |  | -                style="margin-left: 12px; margin-top: -10px" | 
| 24 |  | -              > | 
| 25 |  | -                <template #checkBox="{ model, field }"> | 
| 26 |  | -                  <Checkbox v-model:checked="model[field]">传递报警</Checkbox> | 
| 27 |  | -                </template> | 
| 28 |  | -              </BasicForm> | 
|  | 2 | +  <div> | 
|  | 3 | +    <div class="step3" style="background-color: #f6f8f9"> | 
|  | 4 | +      <template v-for="(item, index) in profileData" :key="item.id"> | 
|  | 5 | +        <CollapseContainer class="border mb-1" :canExpan="false"> | 
|  | 6 | +          <!-- 移除按钮 --> | 
|  | 7 | +          <template #action> | 
|  | 8 | +            <div class="cursor-pointer"> | 
|  | 9 | +              <img | 
|  | 10 | +                style="cursor: pointer" | 
|  | 11 | +                @click="deleteAlarmRule(index)" | 
|  | 12 | +                alt="移除" | 
|  | 13 | +                src="../../../../assets/images/delete.png" | 
|  | 14 | +              /> | 
|  | 15 | +            </div> | 
|  | 16 | +          </template> | 
|  | 17 | +          <!-- 移除按钮 --> | 
|  | 18 | +          <!-- 传递报警和报警类型 --> | 
|  | 19 | +          <div style="margin-top: -15px; margin-left: 10px"> | 
|  | 20 | +            <div class="alert-type" style="margin-left: -50px; margin-top: -10px"> | 
|  | 21 | +              <BasicForm @register="registerForm" | 
|  | 22 | +            /></div> | 
|  | 23 | +            <div style="margin-top: -15px"> | 
|  | 24 | +              <div style="margin-left: -8px; margin-top: -10px"> | 
|  | 25 | +                <BasicForm | 
|  | 26 | +                  @register="registerFormHighSetting" | 
|  | 27 | +                  style="margin-left: 12px; margin-top: -10px" | 
|  | 28 | +                > | 
|  | 29 | +                  <template #checkBox="{ model, field }"> | 
|  | 30 | +                    <Checkbox v-model:checked="model[field]">传递报警</Checkbox> | 
|  | 31 | +                  </template> | 
|  | 32 | +                </BasicForm> | 
|  | 33 | +              </div> | 
| 29 | 34 | </div> | 
| 30 | 35 | </div> | 
| 31 |  | -        </div> | 
| 32 |  | -        <div style="margin-top: -57px"> | 
| 33 |  | -          <p style="margin-left: 10px">创建报警规则</p> | 
| 34 |  | -          <template v-for="(childItem, createIndex) in item.alarms" :key="childItem.id"> | 
| 35 |  | -            <div class="aic" style="border: 1px solid #bfbfbf"> | 
| 36 |  | -              <div class="w-3/4" style="margin-left: 40px"> | 
| 37 |  | -                <div style="margin-left: 10px; margin-top: 20px" | 
| 38 |  | -                  ><BasicForm @register="registerFormCreateAlarm" /> | 
| 39 |  | -                </div> | 
| 40 |  | -                <div style="margin-left: 5px; margin-top: -50px"> | 
| 41 |  | -                  <div style="color: #f5594e" class="ml-4" | 
| 42 |  | -                    >报警规则条件: | 
| 43 |  | -                    <Button | 
| 44 |  | -                      style="margin-left: 4px" | 
| 45 |  | -                      size="small" | 
| 46 |  | -                      type="primary" | 
| 47 |  | -                      @click="handleOpenAlaramRuleConditions" | 
| 48 |  | -                      >添加</Button | 
| 49 |  | -                    > | 
| 50 |  | -                    <p>{{ ruleTemplateData }}</p> | 
|  | 36 | +          <!-- 传递报警和报警类型 --> | 
|  | 37 | +          <!-- 创建报警规则 --> | 
|  | 38 | +          <div style="margin-top: -57px"> | 
|  | 39 | +            <p style="margin-left: 10px; font-size: medium">创建报警规则</p> | 
|  | 40 | +            <template v-for="(childItem, createIndex) in item.alarms" :key="childItem.id"> | 
|  | 41 | +              <span style="display: none">{{ childItem }}</span> | 
|  | 42 | +              <!-- 报警添加条件 --> | 
|  | 43 | +              <div> | 
|  | 44 | +                <!-- 报警启用规则 --> | 
|  | 45 | +                <EnableRule | 
|  | 46 | +                  v-if="isRuleAlarmRuleConditions === 2" | 
|  | 47 | +                  ref="getChildData2" | 
|  | 48 | +                  @getAllFieldsEnab="getAllFieldsEnabFunc" | 
|  | 49 | +                  @register="registerModal2" | 
|  | 50 | +                /> | 
|  | 51 | +                <!-- 报警规则条件 --> | 
|  | 52 | +                <AlarmRuleConditions | 
|  | 53 | +                  v-if="isRuleAlarmRuleConditions === 3" | 
|  | 54 | +                  ref="getChildData3" | 
|  | 55 | +                  @getAllFieldsRule="getAllFieldsRuleFunc" | 
|  | 56 | +                  @register="registerModal3" | 
|  | 57 | +                /> | 
|  | 58 | +              </div> | 
|  | 59 | +              <!-- 添加条件按钮 --> | 
|  | 60 | +              <div class="aic" style="border: 1px solid #bfbfbf"> | 
|  | 61 | +                <div class="w-3/4" style="margin-left: 40px"> | 
|  | 62 | +                  <!-- 报警严重程度 --> | 
|  | 63 | +                  <div style="margin-left: 10px; margin-top: 20px" | 
|  | 64 | +                    ><BasicForm @register="registerFormCreateAlarm" /> | 
| 51 | 65 | </div> | 
| 52 |  | -                  <div style="white-space: wrap; margin-top: 25px" class="mt-4 ml-4" | 
| 53 |  | -                    >报警启用规则: | 
| 54 |  | -                    <Button | 
| 55 |  | -                      style="margin-left: 4px" | 
| 56 |  | -                      size="small" | 
| 57 |  | -                      type="primary" | 
| 58 |  | -                      @click="handleOpenEnableRule" | 
| 59 |  | -                      >添加</Button | 
| 60 |  | -                    > | 
| 61 |  | -                    <p>{{ enableTemplateData }}</p> | 
| 62 |  | -                    <div | 
| 63 |  | -                      class="mt-4 ml-4" | 
| 64 |  | -                      style="margin-left: 0px; position: relative; margin-top: 25px" | 
| 65 |  | -                      >报警详情模板: | 
| 66 |  | -                      <div style="position: absolute; top: -5px; left: 106px; width: 581px"> | 
| 67 |  | -                        <BasicForm @register="registerFormChangeDetail" /> | 
| 68 |  | -                      </div> | 
| 69 |  | -                      <!-- <Button size="small" type="primary" @click="handleOpenDetailTemplate" | 
|  | 66 | +                  <!-- 报警严重程度 --> | 
|  | 67 | + | 
|  | 68 | +                  <div style="margin-left: 5px; margin-top: -50px"> | 
|  | 69 | +                    <div style="color: #f5594e" class="ml-4" | 
|  | 70 | +                      >报警规则条件: | 
|  | 71 | +                      <Button | 
|  | 72 | +                        style="margin-left: 4px" | 
|  | 73 | +                        size="small" | 
|  | 74 | +                        type="primary" | 
|  | 75 | +                        @click="handleOpenAlaramRuleConditions" | 
| 70 | 76 | >添加</Button | 
| 71 |  | -                      > --> | 
|  | 77 | +                      > | 
|  | 78 | +                      <!-- <p>{{ ruleTemplateData }}</p> --> | 
| 72 | 79 | </div> | 
| 73 |  | -                    <div style="margin-top: 25px; position: relative"> | 
| 74 |  | -                      <div style="margin-left: -14px"> | 
| 75 |  | -                        <BasicForm @register="dashboardForm" /> | 
|  | 80 | +                    <div style="white-space: wrap; margin-top: 25px" class="mt-4 ml-4" | 
|  | 81 | +                      >报警启用规则: | 
|  | 82 | +                      <Button | 
|  | 83 | +                        style="margin-left: 4px" | 
|  | 84 | +                        size="small" | 
|  | 85 | +                        type="primary" | 
|  | 86 | +                        @click="handleOpenEnableRule" | 
|  | 87 | +                        >添加</Button | 
|  | 88 | +                      > | 
|  | 89 | +                      <!-- <p>{{ enableTemplateData }}</p> --> | 
|  | 90 | +                      <div | 
|  | 91 | +                        class="mt-4 ml-4" | 
|  | 92 | +                        style="margin-left: 0px; position: relative; margin-top: 25px" | 
|  | 93 | +                        >报警详情模板: | 
|  | 94 | +                        <div style="position: absolute; top: -5px; left: 106px; width: 581px"> | 
|  | 95 | +                          <BasicForm @register="registerFormChangeDetail" /> | 
|  | 96 | +                        </div> | 
|  | 97 | +                      </div> | 
|  | 98 | +                      <div style="margin-top: 25px; position: relative"> | 
|  | 99 | +                        <div style="margin-left: -14px"> | 
|  | 100 | +                          <BasicForm @register="dashboardForm" /> | 
|  | 101 | +                        </div> | 
| 76 | 102 | </div> | 
| 77 | 103 | </div> | 
| 78 | 104 | </div> | 
| 79 |  | -                </div> | 
| 80 |  | -                <div | 
| 81 |  | -                  class="remove-type" | 
| 82 |  | -                  style="display: inline-block; position: relative; top: -257px; left: 757px" | 
| 83 |  | -                > | 
| 84 |  | -                  <img | 
| 85 |  | -                    style="cursor: pointer" | 
| 86 |  | -                    @click="deleteCondition(index, createIndex)" | 
| 87 |  | -                    alt="移除" | 
| 88 |  | -                    src="../../../../assets/images/close.png" | 
| 89 |  | -                  /> | 
|  | 105 | +                  <div | 
|  | 106 | +                    class="remove-type" | 
|  | 107 | +                    style="display: inline-block; position: relative; top: -257px; left: 757px" | 
|  | 108 | +                  > | 
|  | 109 | +                    <img | 
|  | 110 | +                      style="cursor: pointer" | 
|  | 111 | +                      @click="deleteCondition(index, createIndex)" | 
|  | 112 | +                      alt="移除" | 
|  | 113 | +                      src="../../../../assets/images/close.png" | 
|  | 114 | +                    /> | 
|  | 115 | +                  </div> | 
| 90 | 116 | </div> | 
| 91 | 117 | </div> | 
|  | 118 | +            </template> | 
|  | 119 | +            <div> | 
|  | 120 | +              <a-button style="border-radius: 10px" class="mt-5" @click="addCreateRole(index)" | 
|  | 121 | +                ><PlusCircleOutlined />添加创建条件</a-button | 
|  | 122 | +              > | 
| 92 | 123 | </div> | 
| 93 |  | -          </template> | 
| 94 |  | -          <a-button style="border-radius: 10px" class="mt-5" @click="addCreateRole(index)" | 
| 95 |  | -            ><PlusCircleOutlined />添加创建条件</a-button | 
| 96 |  | -          > | 
| 97 |  | -        </div> | 
| 98 |  | -        <div style="height: 20px"></div> | 
| 99 |  | -        <div> | 
| 100 |  | -          <p style="margin-left: 10px">清除报警规则</p> | 
| 101 |  | -          <template | 
| 102 |  | -            v-for="(childClearItem, clearIndexItem) in item.clearRule" | 
| 103 |  | -            :key="childClearItem.id" | 
| 104 |  | -          > | 
| 105 |  | -            <div class="aic mb-1" style="border: 1px solid #bfbfbf"> | 
| 106 |  | -              <div class="w-3/4" style="margin-left: 40px"> | 
| 107 |  | -                <div style="margin-left: 5px"> | 
| 108 |  | -                  <div style="color: #f5594e" class="mt-4 ml-4" | 
| 109 |  | -                    >报警规则条件: | 
| 110 |  | -                    <Button | 
| 111 |  | -                      style="margin-left: 2px" | 
| 112 |  | -                      size="small" | 
| 113 |  | -                      type="primary" | 
| 114 |  | -                      @click="handleOpenClearAlaramRuleConditions" | 
| 115 |  | -                      >添加</Button | 
| 116 |  | -                    > | 
| 117 |  | -                    <p>{{ ruleClearTemplateData }}</p> | 
| 118 |  | -                  </div> | 
| 119 |  | -                  <div style="white-space: wrap; margin-top: 25px" class="mt-4 ml-4" | 
| 120 |  | -                    >报警启用规则: | 
| 121 |  | -                    <Button | 
| 122 |  | -                      style="margin-left: 2px" | 
| 123 |  | -                      size="small" | 
| 124 |  | -                      type="primary" | 
| 125 |  | -                      @click="handleOpenClearEnableRule" | 
| 126 |  | -                      >添加</Button | 
| 127 |  | -                    > | 
| 128 |  | -                    <p>{{ enableClearTemplateData }}</p> | 
| 129 |  | -                    <div | 
| 130 |  | -                      class="mt-4 ml-4" | 
| 131 |  | -                      style="margin-left: 0px; position: relative; margin-top: 25px" | 
| 132 |  | -                      >报警详情模板: | 
| 133 |  | -                      <div style="position: absolute; top: -5px; left: 106px; width: 581px"> | 
| 134 |  | -                        <BasicForm @register="registerFormChangeClearDetail" /> | 
| 135 |  | -                      </div> | 
| 136 |  | -                      <!-- <Button size="small" type="primary" @click="handleOpenClearDetailTemplate" | 
|  | 124 | +          </div> | 
|  | 125 | +          <!-- 创建报警规则 --> | 
|  | 126 | +          <div style="height: 20px"></div> | 
|  | 127 | +          <!-- 清除报警规则 --> | 
|  | 128 | +          <div> | 
|  | 129 | +            <p style="margin-left: 10px; font-size: medium">清除报警规则</p> | 
|  | 130 | +            <template | 
|  | 131 | +              v-for="(childClearItem, clearIndexItem) in item.clearRule" | 
|  | 132 | +              :key="childClearItem.id" | 
|  | 133 | +            > | 
|  | 134 | +              <span style="display: none">{{ childClearItem }}</span> | 
|  | 135 | +              <span style="display: none">{{ clearIndexItem }}</span> | 
|  | 136 | +              <div> | 
|  | 137 | +                <!-- 报警启用规则 --> | 
|  | 138 | +                <EnableRule | 
|  | 139 | +                  v-if="isRuleAlarmRuleConditions === 5" | 
|  | 140 | +                  ref="getChildData5" | 
|  | 141 | +                  @getAllFieldsEnab="getAllClearFieldsEnabFunc" | 
|  | 142 | +                  @register="registerModal5" | 
|  | 143 | +                /> | 
|  | 144 | +                <!-- 报警规则条件 --> | 
|  | 145 | +                <AlarmRuleConditions | 
|  | 146 | +                  v-if="isRuleAlarmRuleConditions === 6" | 
|  | 147 | +                  ref="getChildData6" | 
|  | 148 | +                  @getAllFieldsRule="getAllClearFieldsRuleFunc" | 
|  | 149 | +                  @register="registerModal6" | 
|  | 150 | +                /> | 
|  | 151 | +              </div> | 
|  | 152 | +              <div class="aic mb-1" style="border: 1px solid #bfbfbf"> | 
|  | 153 | +                <div class="w-3/4" style="margin-left: 40px"> | 
|  | 154 | +                  <div style="margin-left: 5px"> | 
|  | 155 | +                    <div style="color: #f5594e" class="mt-4 ml-4" | 
|  | 156 | +                      >报警规则条件: | 
|  | 157 | +                      <Button | 
|  | 158 | +                        style="margin-left: 2px" | 
|  | 159 | +                        size="small" | 
|  | 160 | +                        type="primary" | 
|  | 161 | +                        @click="handleOpenClearAlaramRuleConditions" | 
| 137 | 162 | >添加</Button | 
| 138 | 163 | > | 
| 139 |  | -                      <p>{{ detailClearTemplateData }}</p> --> | 
|  | 164 | +                      <!-- <p>{{ ruleClearTemplateData }}</p> --> | 
| 140 | 165 | </div> | 
| 141 |  | -                    <div style="margin-left: 0px; margin-top: 25px"> | 
| 142 |  | -                      <div style="margin-left: -14px"> | 
| 143 |  | -                        <BasicForm @register="dashboardForm" /> | 
|  | 166 | +                    <div style="white-space: wrap; margin-top: 25px" class="mt-4 ml-4" | 
|  | 167 | +                      >报警启用规则: | 
|  | 168 | +                      <Button | 
|  | 169 | +                        style="margin-left: 2px" | 
|  | 170 | +                        size="small" | 
|  | 171 | +                        type="primary" | 
|  | 172 | +                        @click="handleOpenClearEnableRule" | 
|  | 173 | +                        >添加</Button | 
|  | 174 | +                      > | 
|  | 175 | +                      <!-- <p>{{ enableClearTemplateData }}</p> --> | 
|  | 176 | +                      <div | 
|  | 177 | +                        class="mt-4 ml-4" | 
|  | 178 | +                        style="margin-left: 0px; position: relative; margin-top: 25px" | 
|  | 179 | +                        >报警详情模板: | 
|  | 180 | +                        <div style="position: absolute; top: -5px; left: 106px; width: 581px"> | 
|  | 181 | +                          <BasicForm @register="registerFormChangeClearDetail" /> | 
|  | 182 | +                        </div> | 
|  | 183 | +                      </div> | 
|  | 184 | +                      <div style="margin-left: 0px; margin-top: 25px"> | 
|  | 185 | +                        <div style="margin-left: -14px"> | 
|  | 186 | +                          <BasicForm @register="dashboardForm" /> | 
|  | 187 | +                        </div> | 
| 144 | 188 | </div> | 
| 145 | 189 | </div> | 
| 146 | 190 | </div> | 
| 147 | 191 | </div> | 
| 148 | 192 | </div> | 
| 149 |  | -            </div> | 
| 150 |  | -          </template> | 
| 151 |  | -        </div> | 
| 152 |  | -      </CollapseContainer> | 
| 153 |  | -    </template> | 
| 154 |  | -  </div> | 
| 155 |  | -  <div class="flex justify-center" style="display: fixed; top: 100px"> | 
| 156 |  | -    <a-button class="mr-5" @click="prevStep">上一步</a-button> | 
| 157 |  | -    <a-button @click="handleFormStep3toStep4Next">下一步</a-button> | 
| 158 |  | -    <a-button style="margin-left: 20px" type="primary" @click="addAlarmRule">添加报警规则</a-button> | 
| 159 |  | -  </div> | 
| 160 |  | -  <div> | 
| 161 |  | -    <!-- 详情模板 --> | 
| 162 |  | -    <DetailTemplate | 
| 163 |  | -      v-if="isRuleAlarmRuleConditions == 1" | 
| 164 |  | -      @getAllFields="getAllFieldsFunc" | 
| 165 |  | -      @register="registerModal1" | 
| 166 |  | -    /> | 
| 167 |  | -    <!-- 启用规则 --> | 
| 168 |  | -    <EnableRule | 
| 169 |  | -      v-if="isRuleAlarmRuleConditions == 2" | 
| 170 |  | -      ref="getChildData2" | 
| 171 |  | -      @getAllFieldsEnab="getAllFieldsEnabFunc" | 
| 172 |  | -      @register="registerModal2" | 
| 173 |  | -    /> | 
| 174 |  | -    <!-- 报警规则条件 --> | 
| 175 |  | -    <AlarmRuleConditions | 
| 176 |  | -      v-if="isRuleAlarmRuleConditions == 3" | 
| 177 |  | -      ref="getChildData3" | 
| 178 |  | -      @getAllFieldsRule="getAllFieldsRuleFunc" | 
| 179 |  | -      @register="registerModal3" | 
| 180 |  | -    /> | 
| 181 |  | -  </div> | 
| 182 |  | - | 
| 183 |  | -  <div> | 
| 184 |  | -    <!-- 清除条件 --> | 
| 185 |  | -    <!-- 详情模板 --> | 
| 186 |  | -    <DetailTemplate | 
| 187 |  | -      v-if="isRuleAlarmRuleConditions == 4" | 
| 188 |  | -      @getAllFields="getAllClearFieldsFunc" | 
| 189 |  | -      @register="registerModal4" | 
| 190 |  | -    /> | 
| 191 |  | -    <!-- 启用规则 --> | 
| 192 |  | -    <EnableRule | 
| 193 |  | -      v-if="isRuleAlarmRuleConditions == 5" | 
| 194 |  | -      ref="getChildData2" | 
| 195 |  | -      @getAllFieldsEnab="getAllClearFieldsEnabFunc" | 
| 196 |  | -      @register="registerModal5" | 
| 197 |  | -    /> | 
| 198 |  | -    <!-- 报警规则条件 --> | 
| 199 |  | -    <AlarmRuleConditions | 
| 200 |  | -      v-if="isRuleAlarmRuleConditions == 6" | 
| 201 |  | -      ref="getChildData3" | 
| 202 |  | -      @getAllFieldsRule="getAllClearFieldsRuleFunc" | 
| 203 |  | -      @register="registerModal6" | 
| 204 |  | -    /> | 
|  | 193 | +            </template> | 
|  | 194 | +          </div> | 
|  | 195 | +          <!-- 清除报警规则 --> | 
|  | 196 | +        </CollapseContainer> | 
|  | 197 | +      </template> | 
|  | 198 | +    </div> | 
|  | 199 | +    <div class="flex justify-center" style="display: fixed; bottom: 100px"> | 
|  | 200 | +      <a-button class="mr-5" @click="prevStep">上一步</a-button> | 
|  | 201 | +      <a-button @click="handleFormStep3toStep4Next">下一步</a-button> | 
|  | 202 | +      <a-button style="margin-left: 20px" type="primary" @click="addAlarmRule" | 
|  | 203 | +        >添加报警规则</a-button | 
|  | 204 | +      > | 
|  | 205 | +    </div> | 
| 205 | 206 | </div> | 
| 206 | 207 | </template> | 
| 207 | 208 |  | 
| 208 | 209 | <script lang="ts"> | 
| 209 |  | -  import { defineComponent, ref, unref, getCurrentInstance, watch } from 'vue'; | 
| 210 |  | -  import type { IProfileData } from '../types/index'; | 
|  | 210 | +  import { defineComponent, ref, unref, getCurrentInstance, watch, reactive } from 'vue'; | 
|  | 211 | +  import type { IProfileData } from './index.t'; | 
| 211 | 212 | import { CollapseContainer } from '/@/components/Container/index'; | 
| 212 | 213 | import { BasicForm, useForm } from '/@/components/Form'; | 
| 213 | 214 | import { | 
| ... | ... | @@ -221,7 +222,6 @@ | 
| 221 | 222 | import { PlusCircleOutlined } from '@ant-design/icons-vue'; | 
| 222 | 223 | import { Checkbox } from 'ant-design-vue'; | 
| 223 | 224 | import { useModal } from '/@/components/Modal'; | 
| 224 |  | -  import DetailTemplate from './cpns/detailtemplate/index.vue'; | 
| 225 | 225 | import EnableRule from './cpns/enablerule/index.vue'; | 
| 226 | 226 | import AlarmRuleConditions from './cpns/alarmruleconditions/index.vue'; | 
| 227 | 227 | import { Button } from '/@/components/Button'; | 
| ... | ... | @@ -233,24 +233,21 @@ | 
| 233 | 233 | CollapseContainer, | 
| 234 | 234 | PlusCircleOutlined, | 
| 235 | 235 | Checkbox, | 
| 236 |  | -      DetailTemplate, | 
| 237 | 236 | EnableRule, | 
| 238 | 237 | AlarmRuleConditions, | 
| 239 | 238 | Button, | 
| 240 | 239 | }, | 
| 241 | 240 | emits: ['prev', 'next', 'redo', 'handleFormStep3toStep4Next'], | 
| 242 | 241 | setup(_, { emit }) { | 
| 243 |  | -      const changeGetDetailValue: any = ref(null); | 
| 244 |  | -      const changeGetClearDetailValue: any = ref(null); | 
| 245 |  | -      const ruleNumber = ref(0); | 
| 246 | 242 | const { proxy } = getCurrentInstance(); | 
|  | 243 | +      const changeGetDetailValue = ref({}); | 
|  | 244 | +      const changeGetClearDetailValue = ref({}); | 
| 247 | 245 | const getChildData1 = ref(null); | 
| 248 | 246 | const getChildData2 = ref(null); | 
| 249 | 247 | const getChildData3 = ref(null); | 
|  | 248 | +      const getChildData5 = ref(null); | 
|  | 249 | +      const getChildData6 = ref(null); | 
| 250 | 250 | const isRuleAlarmRuleConditions = ref(0); | 
| 251 |  | -      const getAllFormData: any = ref({}); | 
| 252 |  | -      const alarmss: any = ref([]); | 
| 253 |  | -      const emptyObj: any = ref({}); | 
| 254 | 251 | const detailObj: any = ref({}); | 
| 255 | 252 | const detailClearObj: any = ref({}); | 
| 256 | 253 | const ruleObj: any = ref({}); | 
| ... | ... | @@ -266,13 +263,94 @@ | 
| 266 | 263 | const ruleClearTemplateData: any = ref(null); | 
| 267 | 264 | const enableClearTemplateData: any = ref(null); | 
| 268 | 265 | const detailClearTemplateData: any = ref(null); | 
| 269 |  | -      const scheduleCustomValue: any = ref({}); | 
| 270 |  | -      const scheduleCustomClearValue: any = ref({}); | 
| 271 |  | -      const clearIndex = ref(-1); | 
| 272 |  | -      const getSchduleCustomValue: any = ref([]); | 
| 273 |  | -      const getSchduleClearCustomValue: any = ref([]); | 
| 274 |  | -      //告警列表 | 
|  | 266 | +      //重构 | 
|  | 267 | +      //告警列表接口 | 
| 275 | 268 | let profileData = ref<IProfileData[]>([]); | 
|  | 269 | +      //初始化alarams数据 | 
|  | 270 | +      const initProfileData = reactive({ | 
|  | 271 | +        alarms: [ | 
|  | 272 | +          { | 
|  | 273 | +            id: Date.now() + Math.random() + '', | 
|  | 274 | +            alarmType: '', | 
|  | 275 | +            createRules: {}, | 
|  | 276 | +            propagate: false, | 
|  | 277 | +            propagateRelationTypes: [''], | 
|  | 278 | +          }, | 
|  | 279 | +        ], | 
|  | 280 | +        clearRule: [ | 
|  | 281 | +          { | 
|  | 282 | +            id: Date.now() + Math.random() + '', | 
|  | 283 | +            alarmDetails: '', | 
|  | 284 | +            dashboardId: { | 
|  | 285 | +              id: '', | 
|  | 286 | +              entityType: '', | 
|  | 287 | +            }, | 
|  | 288 | +            propagate: '', | 
|  | 289 | +            propagateRelationTypes: [''], | 
|  | 290 | +            schedule: { | 
|  | 291 | +              type: 'string', | 
|  | 292 | +            }, | 
|  | 293 | +            condition: {}, | 
|  | 294 | +          }, | 
|  | 295 | +        ], | 
|  | 296 | +      }); | 
|  | 297 | +      //初始化创建条件 | 
|  | 298 | +      const initCreateRules = reactive({ | 
|  | 299 | +        id: Date.now() + Math.random() + '', | 
|  | 300 | +        alarmType: '', | 
|  | 301 | +        createRules: {}, | 
|  | 302 | +        propagate: false, | 
|  | 303 | +        propagateRelationTypes: [''], | 
|  | 304 | +      }); | 
|  | 305 | +      //接收临时启用规则数据 | 
|  | 306 | +      const receiveOpenRuleTempArr = ref<[]>([]); | 
|  | 307 | +      //接收临时规则条件数据 | 
|  | 308 | +      const receiveRuleConditionTempArr = ref<[]>([]); | 
|  | 309 | +      //创建条件总对象 | 
|  | 310 | +      const createRulesObj = ref({}); | 
|  | 311 | +      const addCreateRulesObj = reactive({ | 
|  | 312 | +        createRules: {}, | 
|  | 313 | +      }); | 
|  | 314 | +      const addChangeSeverity = ref({}); | 
|  | 315 | +      let addNewOpenRule = reactive({ | 
|  | 316 | +        schedule: {}, | 
|  | 317 | +      }); | 
|  | 318 | +      let addNewRuleTem = reactive({ | 
|  | 319 | +        condition: {}, | 
|  | 320 | +      }); | 
|  | 321 | +      const refAlarmDetailTemplate = ref(null); | 
|  | 322 | +      const tempDetailTempArr = ref<[]>([]); | 
|  | 323 | +      const tempOpenRuleTempArr = ref<[]>([]); | 
|  | 324 | +      const tempRuleConditionTempArr = ref<[]>([]); | 
|  | 325 | +      let addClearRule = reactive({}); | 
|  | 326 | +      //总的alarms数据 | 
|  | 327 | +      let allAlarms = ref<[]>([]); | 
|  | 328 | +      const getClearObj = ref({}); | 
|  | 329 | +      const getAllObjTemp = ref({}); | 
|  | 330 | +      //报警类型数据 | 
|  | 331 | +      const alarmTypeGet = ref({}); | 
|  | 332 | +      const propagateAndpropagateRelationTypes = reactive({ | 
|  | 333 | +        propagate: '', | 
|  | 334 | +        propagateRelationTypes: [], | 
|  | 335 | +      }); | 
|  | 336 | +      let clearObj = reactive({ | 
|  | 337 | +        clearRule: {}, | 
|  | 338 | +      }); | 
|  | 339 | +      let kongClearOpenRuleObj = reactive({ | 
|  | 340 | +        schedule: {}, | 
|  | 341 | +      }); | 
|  | 342 | +      let kongClearRuleConditionObj = reactive({ | 
|  | 343 | +        condition: {}, | 
|  | 344 | +      }); | 
|  | 345 | +      // | 
|  | 346 | +      const kongDetail = ref({}); | 
|  | 347 | +      let kongOpenRuleObj = reactive({ | 
|  | 348 | +        schedule: {}, | 
|  | 349 | +      }); | 
|  | 350 | +      let kongRuleConditionObj = reactive({ | 
|  | 351 | +        condition: {}, | 
|  | 352 | +      }); | 
|  | 353 | + | 
| 276 | 354 | const log = (e) => { | 
| 277 | 355 | console.log(e); | 
| 278 | 356 | }; | 
| ... | ... | @@ -282,7 +360,6 @@ | 
| 282 | 360 | }; | 
| 283 | 361 | //删除告警配置 | 
| 284 | 362 | const deleteAlarmRule = (index: number) => { | 
| 285 |  | -        ruleNumber.value--; | 
| 286 | 363 | unref(profileData).splice(index, 1); | 
| 287 | 364 | }; | 
| 288 | 365 | // 上一步 | 
| ... | ... | @@ -291,44 +368,7 @@ | 
| 291 | 368 | }; | 
| 292 | 369 | //添加报警规则 | 
| 293 | 370 | const addAlarmRule = () => { | 
| 294 |  | -        ruleNumber.value++; | 
| 295 |  | -        clearIndex.value++; | 
| 296 |  | -        unref(profileData).push({ | 
| 297 |  | -          configuration: { | 
| 298 |  | -            type: '', | 
| 299 |  | -          }, | 
| 300 |  | -          transportConfiguration: { | 
| 301 |  | -            type: '', | 
| 302 |  | -          }, | 
| 303 |  | -          provisionConfiguration: { | 
| 304 |  | -            provisionDeviceSecret: '', | 
| 305 |  | -          }, | 
| 306 |  | -          alarms: [ | 
| 307 |  | -            { | 
| 308 |  | -              id: Date.now() + Math.random() + '', | 
| 309 |  | -              alarmType: '', | 
| 310 |  | -              createRules: {}, | 
| 311 |  | -              propagate: false, | 
| 312 |  | -              propagateRelationTypes: [''], | 
| 313 |  | -            }, | 
| 314 |  | -          ], | 
| 315 |  | -          clearRule: [ | 
| 316 |  | -            { | 
| 317 |  | -              id: Date.now() + Math.random() + '', | 
| 318 |  | -              alarmDetails: '', | 
| 319 |  | -              dashboardId: { | 
| 320 |  | -                id: '', | 
| 321 |  | -                entityType: '', | 
| 322 |  | -              }, | 
| 323 |  | -              propagate: '', | 
| 324 |  | -              propagateRelationTypes: [''], | 
| 325 |  | -              schedule: { | 
| 326 |  | -                type: 'string', | 
| 327 |  | -              }, | 
| 328 |  | -              condition: {}, | 
| 329 |  | -            }, | 
| 330 |  | -          ], | 
| 331 |  | -        }); | 
|  | 371 | +        unref(profileData).push(initProfileData); | 
| 332 | 372 | }; | 
| 333 | 373 | //TODO Mobile dashboard: | 
| 334 | 374 | const [dashboardForm] = useForm({ | 
| ... | ... | @@ -343,7 +383,7 @@ | 
| 343 | 383 | { | 
| 344 | 384 | setFieldsValue: setRegisterForm, | 
| 345 | 385 | resetFields: resetRegisterForm, | 
| 346 |  | -          validate: validateRegisterForm, | 
|  | 386 | +          getFieldsValue: validateRegisterForm, | 
| 347 | 387 | }, | 
| 348 | 388 | ] = useForm({ | 
| 349 | 389 | labelWidth: 120, | 
| ... | ... | @@ -357,7 +397,7 @@ | 
| 357 | 397 | { | 
| 358 | 398 | setFieldsValue: setRegisterFormHighSetting, | 
| 359 | 399 | resetFields: resetRegisterFormHighSetting, | 
| 360 |  | -          validate: validateRegisterFormHighSetting, | 
|  | 400 | +          getFieldsValue: validateRegisterFormHighSetting, | 
| 361 | 401 | }, | 
| 362 | 402 | ] = useForm({ | 
| 363 | 403 | labelWidth: 120, | 
| ... | ... | @@ -409,7 +449,6 @@ | 
| 409 | 449 | setFieldsValue: setRegisterFormCreateAlarm, | 
| 410 | 450 | resetFields: resetRegisterFormCreateAlarm, | 
| 411 | 451 | validate: validateRegisterFormCreateAlarm, | 
| 412 |  | -          updateSchema, | 
| 413 | 452 | }, | 
| 414 | 453 | ] = useForm({ | 
| 415 | 454 | labelWidth: 120, | 
| ... | ... | @@ -494,77 +533,92 @@ | 
| 494 | 533 | setRegisterFormClearChangeDetail(v); | 
| 495 | 534 | }; | 
| 496 | 535 |  | 
| 497 |  | -      const tempValue1: string = ref<string>(''); | 
| 498 |  | -      // 添加‘创建条件’ | 
| 499 |  | -      const addCreateRole = (index: number) => { | 
| 500 |  | -        updateSchema({ | 
| 501 |  | -          field: 'default', | 
| 502 |  | -          componentProps: ({ formModel }) => { | 
| 503 |  | -            if (formModel.default == 'CRITICAL') { | 
| 504 |  | -              tempValue1.value = formModel.default; | 
| 505 |  | -            } else if (formModel.default == 'MAJOR') { | 
| 506 |  | -              tempValue1.value = formModel.default; | 
| 507 |  | -            } else if (formModel.default == 'MINOR') { | 
| 508 |  | -              tempValue1.value = formModel.default; | 
| 509 |  | -            } else if (formModel.default == 'WARNING') { | 
| 510 |  | -              tempValue1.value = formModel.default; | 
| 511 |  | -            } else if (formModel.default == 'INDETERMINATE') { | 
| 512 |  | -              tempValue1.value = formModel.default; | 
| 513 |  | -            } | 
| 514 |  | -            return { | 
| 515 |  | -              options: [ | 
| 516 |  | -                { | 
| 517 |  | -                  value: 'CRITICAL', | 
| 518 |  | -                  label: '危险', | 
| 519 |  | -                  disabled: tempValue1.value == 'CRITICAL', | 
| 520 |  | -                }, | 
| 521 |  | -                { | 
| 522 |  | -                  value: 'MAJOR', | 
| 523 |  | -                  label: '重要', | 
| 524 |  | -                  disabled: tempValue1.value == 'MAJOR', | 
| 525 |  | -                }, | 
| 526 |  | -                { | 
| 527 |  | -                  value: 'MINOR', | 
| 528 |  | -                  label: '次要', | 
| 529 |  | -                  disabled: tempValue1.value == 'MINOR', | 
| 530 |  | -                }, | 
| 531 |  | -                { | 
| 532 |  | -                  value: 'WARNING', | 
| 533 |  | -                  label: '警告', | 
| 534 |  | -                  disabled: tempValue1.value == 'WARNING', | 
| 535 |  | -                }, | 
| 536 |  | -                { | 
| 537 |  | -                  value: 'INDETERMINATE', | 
| 538 |  | -                  label: '不确定', | 
| 539 |  | -                  disabled: tempValue1.value == 'INDETERMINATE', | 
| 540 |  | -                }, | 
| 541 |  | -              ], | 
| 542 |  | -            }; | 
| 543 |  | -          }, | 
|  | 536 | +      const getRegisterFormChangeDetailFunc = () => { | 
|  | 537 | +        changeGetDetailValue.value = getRegisterFormChangeDetail(); | 
|  | 538 | +      }; | 
|  | 539 | +      const getRegisterClearFormChangeDetailFunc = () => { | 
|  | 540 | +        changeGetClearDetailValue.value = getRegisterFormClearChangeDetail(); | 
|  | 541 | +      }; | 
|  | 542 | + | 
|  | 543 | +      const emptyCreateRoleFunc = () => { | 
|  | 544 | +        receiveOpenRuleTempArr.value = []; | 
|  | 545 | +        receiveRuleConditionTempArr.value = []; | 
|  | 546 | +        addNewOpenRule.schedule = {}; | 
|  | 547 | +        addNewRuleTem.condition = {}; | 
|  | 548 | +      }; | 
|  | 549 | + | 
|  | 550 | +      const getOpenRuleAndRuleCondition = () => { | 
|  | 551 | +        addNewOpenRule.schedule = enableObj.value as never; | 
|  | 552 | +        addNewRuleTem.condition = ruleObj.value as never; | 
|  | 553 | +        tempOpenRuleTempArr.value.push(addNewOpenRule.schedule as never); | 
|  | 554 | +        tempRuleConditionTempArr.value.push(addNewRuleTem.condition as never); | 
|  | 555 | +      }; | 
|  | 556 | +      const getClearOpenRuleAndRuleCondition = () => { | 
|  | 557 | +        kongClearOpenRuleObj.schedule = enableClearObj.value as never; | 
|  | 558 | +        kongClearRuleConditionObj.condition = ruleLastObj.value as never; | 
|  | 559 | +      }; | 
|  | 560 | + | 
|  | 561 | +      //传递报警数据 | 
|  | 562 | +      const validateRegisterFormHighSettingFunc = () => { | 
|  | 563 | +        const val = validateRegisterFormHighSetting(); | 
|  | 564 | +        propagateAndpropagateRelationTypes.propagate = val.propagate; | 
|  | 565 | +        propagateAndpropagateRelationTypes.propagateRelationTypes.push( | 
|  | 566 | +          val.propagateRelationTypes as never | 
|  | 567 | +        ); | 
|  | 568 | +      }; | 
|  | 569 | +      //报警类型数据 | 
|  | 570 | +      const validateRegisterFormFunc = () => { | 
|  | 571 | +        const val1 = validateRegisterForm(); | 
|  | 572 | +        alarmTypeGet.value = val1; | 
|  | 573 | +      }; | 
|  | 574 | + | 
|  | 575 | +      // 添加创建条件方法 | 
|  | 576 | +      const addCreateRuleFunc = async () => { | 
|  | 577 | +        getRegisterFormChangeDetailFunc(); | 
|  | 578 | +        tempDetailTempArr.value.push(changeGetDetailValue.value as never); | 
|  | 579 | +        console.log(tempDetailTempArr.value); | 
|  | 580 | +        tempDetailTempArr.value.forEach((f1) => { | 
|  | 581 | +          kongDetail.value = f1; | 
| 544 | 582 | }); | 
| 545 |  | -        unref(profileData)[index].alarms.push({ | 
| 546 |  | -          id: Date.now() + Math.random() + '', | 
| 547 |  | -          alarmType: '', | 
| 548 |  | -          createRules: {}, | 
| 549 |  | -          // clearRule: [ | 
| 550 |  | -          //   { | 
| 551 |  | -          //     id: Date.now() + Math.random() + '', | 
| 552 |  | -          //     alarmDetails: '', | 
| 553 |  | -          //     dashboardId: { | 
| 554 |  | -          //       id: '', | 
| 555 |  | -          //       entityType: '', | 
| 556 |  | -          //     }, | 
| 557 |  | -          //     propagate: '', | 
| 558 |  | -          //     propagateRelationTypes: [''], | 
| 559 |  | -          //     schedule: { | 
| 560 |  | -          //       type: 'string', | 
| 561 |  | -          //     }, | 
| 562 |  | -          //     condition: {}, | 
| 563 |  | -          //   }, | 
| 564 |  | -          // ], | 
| 565 |  | -          propagate: false, | 
| 566 |  | -          propagateRelationTypes: [''], | 
|  | 583 | +        addChangeSeverity.value = await validateRegisterFormCreateAlarm(); | 
|  | 584 | +        emptyCreateRoleFunc(); | 
|  | 585 | +        getOpenRuleAndRuleCondition(); | 
|  | 586 | + | 
|  | 587 | +        tempOpenRuleTempArr.value.forEach((f2) => { | 
|  | 588 | +          kongOpenRuleObj.schedule = f2; | 
| 567 | 589 | }); | 
|  | 590 | + | 
|  | 591 | +        tempRuleConditionTempArr.value.forEach((f3) => { | 
|  | 592 | +          kongRuleConditionObj.condition = f3; | 
|  | 593 | +        }); | 
|  | 594 | + | 
|  | 595 | +        createRulesObj.value[addChangeSeverity.value.default] = { | 
|  | 596 | +          ...kongDetail.value, | 
|  | 597 | +          ...addNewOpenRule, | 
|  | 598 | +          ...addNewRuleTem, | 
|  | 599 | +          ...kongOpenRuleObj, | 
|  | 600 | +          ...kongRuleConditionObj, | 
|  | 601 | +        }; | 
|  | 602 | +        addCreateRulesObj.createRules = createRulesObj.value; | 
|  | 603 | +      }; | 
|  | 604 | + | 
|  | 605 | +      //清除报警规则 | 
|  | 606 | +      const addClearAlaramRule = () => { | 
|  | 607 | +        getClearOpenRuleAndRuleCondition(); | 
|  | 608 | +        getRegisterClearFormChangeDetailFunc(); | 
|  | 609 | +        addClearRule = { | 
|  | 610 | +          ...kongClearOpenRuleObj, | 
|  | 611 | +          ...kongClearRuleConditionObj, | 
|  | 612 | +          ...changeGetClearDetailValue.value, | 
|  | 613 | +        }; | 
|  | 614 | +        clearObj.clearRule = { ...addClearRule }; | 
|  | 615 | +        getClearObj.value = clearObj; | 
|  | 616 | +      }; | 
|  | 617 | + | 
|  | 618 | +      // 添加创建条件 | 
|  | 619 | +      const addCreateRole = async (index: number) => { | 
|  | 620 | +        unref(profileData)[index]?.alarms.push(initCreateRules); | 
|  | 621 | +        addCreateRuleFunc(); | 
| 568 | 622 | }; | 
| 569 | 623 | // 删除‘创建条件’ | 
| 570 | 624 | const deleteCondition = (index: number, createIndex: number) => { | 
| ... | ... | @@ -583,8 +637,8 @@ | 
| 583 | 637 | const getAllFieldsFunc = (v) => { | 
| 584 | 638 | detailObj.value = v; | 
| 585 | 639 | detailTemplateData.value = ` | 
| 586 |  | -           报警详细信息:${v.alarmDetails} | 
| 587 |  | -           `; | 
|  | 640 | +             报警详细信息:${v.alarmDetails} | 
|  | 641 | +             `; | 
| 588 | 642 | }; | 
| 589 | 643 | //启用规则 | 
| 590 | 644 | const getAllFieldsEnabFunc = (v) => { | 
| ... | ... | @@ -625,7 +679,7 @@ | 
| 625 | 679 | return f.label; | 
| 626 | 680 | } | 
| 627 | 681 | } catch (e) { | 
| 628 |  | -            console.log(e); | 
|  | 682 | +            return e; | 
| 629 | 683 | } | 
| 630 | 684 | }); | 
| 631 | 685 | const findDayCustomByValue = findDay.map((f, i) => { | 
| ... | ... | @@ -634,7 +688,7 @@ | 
| 634 | 688 | return f.label; | 
| 635 | 689 | } | 
| 636 | 690 | } catch (e) { | 
| 637 |  | -            console.log(e); | 
|  | 691 | +            return e; | 
| 638 | 692 | } | 
| 639 | 693 | }); | 
| 640 | 694 | enableTemplateData.value = | 
| ... | ... | @@ -642,13 +696,14 @@ | 
| 642 | 696 | ? `始终启用` | 
| 643 | 697 | : v.schedule == 'SPECIFIC_TIME' | 
| 644 | 698 | ? ` | 
| 645 |  | -           开始时间:${v.startsOn},结束时间:${v.endsOn},天数:${findDayByValue} | 
| 646 |  | -           ` | 
|  | 699 | +             开始时间:${v.startsOn},结束时间:${v.endsOn},天数:${findDayByValue} | 
|  | 700 | +             ` | 
| 647 | 701 | : `天数:${findDayCustomByValue},开始时间: ${v.startsOn1},结束时间:${v.endsOn1}`; | 
| 648 | 702 | }; | 
| 649 | 703 | //规则条件 | 
| 650 |  | -      const getAllFieldsRuleFunc = (v, v1) => { | 
|  | 704 | +      const getAllFieldsRuleFunc = (v) => { | 
| 651 | 705 | ruleObj.value = v; | 
|  | 706 | +        console.log(v); | 
| 652 | 707 | const findDay = [ | 
| 653 | 708 | { label: '等于', value: 'EQUAL' }, | 
| 654 | 709 | { label: '不等于', value: 'NOT_EQUAL' }, | 
| ... | ... | @@ -669,10 +724,10 @@ | 
| 669 | 724 | } | 
| 670 | 725 | }); | 
| 671 | 726 | ruleTemplateData.value = ` | 
| 672 |  | -           键名:${v.key1}  操作:${findRuleByValue?.label}  值:${v.value1} | 
| 673 |  | -           `; | 
|  | 727 | +             键名:${v.key1}  操作:${findRuleByValue?.label}  值:${v.value1} | 
|  | 728 | +             `; | 
| 674 | 729 |  | 
| 675 |  | -        ruleLastObj.value = v1; | 
|  | 730 | +        // ruleLastObj.value = v1; | 
| 676 | 731 | const predicate = { | 
| 677 | 732 | operation: ruleObj.value.operation, | 
| 678 | 733 | value: { | 
| ... | ... | @@ -715,8 +770,8 @@ | 
| 715 | 770 | const getAllClearFieldsFunc = (v) => { | 
| 716 | 771 | detailClearObj.value = v; | 
| 717 | 772 | detailClearTemplateData.value = ` | 
| 718 |  | -           报警详细信息:${v.alarmDetails} | 
| 719 |  | -           `; | 
|  | 773 | +             报警详细信息:${v.alarmDetails} | 
|  | 774 | +             `; | 
| 720 | 775 | }; | 
| 721 | 776 | //启用规则 | 
| 722 | 777 | const getAllClearFieldsEnabFunc = (v) => { | 
| ... | ... | @@ -757,7 +812,7 @@ | 
| 757 | 812 | return f.label; | 
| 758 | 813 | } | 
| 759 | 814 | } catch (e) { | 
| 760 |  | -            console.log(e); | 
|  | 815 | +            return e; | 
| 761 | 816 | } | 
| 762 | 817 | }); | 
| 763 | 818 | const findDayCustomByValue = findDay.map((f, i) => { | 
| ... | ... | @@ -766,7 +821,7 @@ | 
| 766 | 821 | return f.label; | 
| 767 | 822 | } | 
| 768 | 823 | } catch (e) { | 
| 769 |  | -            console.log(e); | 
|  | 824 | +            return e; | 
| 770 | 825 | } | 
| 771 | 826 | }); | 
| 772 | 827 | enableClearTemplateData.value = | 
| ... | ... | @@ -774,13 +829,15 @@ | 
| 774 | 829 | ? `始终启用` | 
| 775 | 830 | : v.schedule == 'SPECIFIC_TIME' | 
| 776 | 831 | ? ` | 
| 777 |  | -           开始时间:${v.startsOn},结束时间:${v.endsOn},天数:${findDayByValue} | 
| 778 |  | -           ` | 
|  | 832 | +             开始时间:${v.startsOn},结束时间:${v.endsOn},天数:${findDayByValue} | 
|  | 833 | +             ` | 
| 779 | 834 | : `天数:${findDayCustomByValue},开始时间: ${v.startsOn1},结束时间:${v.endsOn1}`; | 
| 780 | 835 | }; | 
| 781 | 836 | //规则条件 | 
| 782 |  | -      const getAllClearFieldsRuleFunc = (v, v1) => { | 
| 783 |  | -        ruleObj.value = v; | 
|  | 837 | +      const getAllClearFieldsRuleFunc = (v) => { | 
|  | 838 | +        ruleLastObj.value = v; | 
|  | 839 | +        console.log(v); | 
|  | 840 | + | 
| 784 | 841 | const findDay = [ | 
| 785 | 842 | { label: '等于', value: 'EQUAL' }, | 
| 786 | 843 | { label: '不等于', value: 'NOT_EQUAL' }, | 
| ... | ... | @@ -801,10 +858,10 @@ | 
| 801 | 858 | } | 
| 802 | 859 | }); | 
| 803 | 860 | ruleClearTemplateData.value = ` | 
| 804 |  | -           键名:${v.key1}  操作:${findRuleByValue?.label}  值:${v.value1} | 
| 805 |  | -           `; | 
|  | 861 | +             键名:${v.key1}  操作:${findRuleByValue?.label}  值:${v.value1} | 
|  | 862 | +             `; | 
| 806 | 863 |  | 
| 807 |  | -        ruleLastObj.value = v1; | 
|  | 864 | +        // ruleLastObj.value = v1; | 
| 808 | 865 | const predicate = { | 
| 809 | 866 | operation: ruleObj.value.operation, | 
| 810 | 867 | value: { | 
| ... | ... | @@ -842,6 +899,7 @@ | 
| 842 | 899 | }; | 
| 843 | 900 | Object.assign(addClearitionalObj.value, getValueConditon); | 
| 844 | 901 | }; | 
|  | 902 | + | 
| 845 | 903 | //生成uuid | 
| 846 | 904 | function generateUUID() { | 
| 847 | 905 | let d = new Date().getTime(); | 
| ... | ... | @@ -857,166 +915,29 @@ | 
| 857 | 915 | } | 
| 858 | 916 | const handleFormStep3toStep4Next = async () => { | 
| 859 | 917 | try { | 
| 860 |  | -          changeGetDetailValue.value = getRegisterFormChangeDetail(); | 
| 861 |  | -          changeGetClearDetailValue.value = getRegisterFormClearChangeDetail(); | 
| 862 |  | -          if (enableObj.value.schedule == 'CUSTOM') { | 
| 863 |  | -            // for (let i in enableObj.value) { | 
| 864 |  | -            //   console.log(i); | 
| 865 |  | -            //   // let o = {}; | 
| 866 |  | -            //   // if(enableObj.value[i]=='1') | 
| 867 |  | -            //   // o[i] = enableObj.value[i]; | 
| 868 |  | -            //   // getSchduleCustomValue.value.push(o); | 
| 869 |  | -            //   // getSchduleCustomValue.value.push(enableObj.value[i]); | 
| 870 |  | -            // } | 
| 871 |  | -            // switch (enableObj.value.daysOfWeek1[0]) { | 
| 872 |  | -            //   case '1': | 
| 873 |  | -            //     getSchduleCustomValue.value.push({ | 
| 874 |  | -            //       enabled: true, | 
| 875 |  | -            //       dayOfWeek: enableObj.value.daysOfWeek1[0], | 
| 876 |  | -            //       startsOn: enableObj.value.startsOn1, | 
| 877 |  | -            //       endsOn: enableObj.value.endsOn1, | 
| 878 |  | -            //     }); | 
| 879 |  | -            //     break; | 
| 880 |  | -            //   case '2': | 
| 881 |  | -            //     getSchduleCustomValue.value.push({ | 
| 882 |  | -            //       enabled: true, | 
| 883 |  | -            //       dayOfWeek: enableObj.value.daysOfWeek2[0], | 
| 884 |  | -            //       startsOn: enableObj.value.startsOn2, | 
| 885 |  | -            //       endsOn: enableObj.value.endsOn2, | 
| 886 |  | -            //     }); | 
| 887 |  | -            //     break; | 
| 888 |  | -            //   case '3': | 
| 889 |  | -            //     getSchduleCustomValue.value.push({ | 
| 890 |  | -            //       enabled: true, | 
| 891 |  | -            //       dayOfWeek: enableObj.value.daysOfWeek3[0], | 
| 892 |  | -            //       startsOn: enableObj.value.startsOn3, | 
| 893 |  | -            //       endsOn: enableObj.value.endsOn3, | 
| 894 |  | -            //     }); | 
| 895 |  | -            //     break; | 
| 896 |  | -            // } | 
| 897 |  | -            scheduleCustomValue.value = { | 
| 898 |  | -              type: enableObj.value.schedule, | 
| 899 |  | -              timezone: enableObj.value.timezone, | 
| 900 |  | -              items: getSchduleCustomValue.value, | 
| 901 |  | -            }; | 
| 902 |  | -          } | 
| 903 |  | -          //清除报警规则---报警日程表 | 
| 904 |  | -          if (enableClearObj.value.schedule == 'CUSTOM') { | 
| 905 |  | -            switch (enableClearObj.value.daysOfWeek1[0]) { | 
| 906 |  | -              case '1': | 
| 907 |  | -                getSchduleClearCustomValue.value.push({ | 
| 908 |  | -                  enabled: true, | 
| 909 |  | -                  dayOfWeek: enableClearObj.value.daysOfWeek1[0], | 
| 910 |  | -                  startsOn: enableClearObj.value.startsOn1, | 
| 911 |  | -                  endsOn: enableClearObj.value.endsOn1, | 
| 912 |  | -                }); | 
| 913 |  | -                break; | 
| 914 |  | -              case '2': | 
| 915 |  | -                getSchduleClearCustomValue.value.push({ | 
| 916 |  | -                  enabled: true, | 
| 917 |  | -                  dayOfWeek: enableClearObj.value.daysOfWeek2[0], | 
| 918 |  | -                  startsOn: enableClearObj.value.startsOn2, | 
| 919 |  | -                  endsOn: enableClearObj.value.endsOn2, | 
| 920 |  | -                }); | 
| 921 |  | -                break; | 
| 922 |  | -              case '3': | 
| 923 |  | -                getSchduleClearCustomValue.value.push({ | 
| 924 |  | -                  enabled: true, | 
| 925 |  | -                  dayOfWeek: enableClearObj.value.daysOfWeek3[0], | 
| 926 |  | -                  startsOn: enableClearObj.value.startsOn3, | 
| 927 |  | -                  endsOn: enableClearObj.value.endsOn3, | 
| 928 |  | -                }); | 
| 929 |  | -                break; | 
| 930 |  | -            } | 
| 931 |  | -            scheduleCustomClearValue.value = { | 
| 932 |  | -              type: enableClearObj.value.schedule, | 
| 933 |  | -              timezone: enableClearObj.value.timezone, | 
| 934 |  | -              items: getSchduleClearCustomValue.value, | 
| 935 |  | -            }; | 
| 936 |  | -          } | 
| 937 |  | -          const scheduleClearValue = { | 
| 938 |  | -            type: enableClearObj.value.schedule, | 
| 939 |  | -            daysOfWeek: enableClearObj.value.daysOfWeek, | 
| 940 |  | -            endsOn: enableClearObj.value.endsOn, | 
| 941 |  | -            startsOn: enableClearObj.value.startOn, | 
| 942 |  | -            timezone: enableClearObj.value.timezone, | 
| 943 |  | -          }; | 
| 944 |  | -          const getClearSchedule = { | 
| 945 |  | -            schedule: | 
| 946 |  | -              enableClearObj.value.schedule == 'CUSTOM' | 
| 947 |  | -                ? scheduleCustomClearValue.value | 
| 948 |  | -                : scheduleClearValue, | 
| 949 |  | -          }; | 
| 950 |  | -          const getClearAdditionalProp = Object.assign( | 
| 951 |  | -            {}, | 
| 952 |  | -            changeGetClearDetailValue.value, | 
| 953 |  | -            getClearSchedule | 
| 954 |  | -          ); | 
| 955 |  | -          const scheduleValue = { | 
| 956 |  | -            type: enableObj.value.schedule, | 
| 957 |  | -            daysOfWeek: enableObj.value.daysOfWeek, | 
| 958 |  | -            endsOn: enableObj.value.endsOn, | 
| 959 |  | -            startsOn: enableObj.value.startOn, | 
| 960 |  | -            timezone: enableObj.value.timezone, | 
| 961 |  | -          }; | 
| 962 |  | -          const getSchedule = { | 
| 963 |  | -            schedule: | 
| 964 |  | -              enableObj.value.schedule == 'CUSTOM' ? scheduleCustomValue.value : scheduleValue, | 
| 965 |  | -          }; | 
| 966 |  | - | 
| 967 |  | -          const getAdditionalProp = Object.assign({}, changeGetDetailValue.value, getSchedule); | 
| 968 |  | -          const getScheduleAndAlarmDetails = Object.assign( | 
| 969 |  | -            {}, | 
| 970 |  | -            getAdditionalProp, | 
| 971 |  | -            additionalObj.value | 
| 972 |  | -          ); | 
| 973 |  | -          const getScheduleAndClearAlarmDetails = Object.assign( | 
| 974 |  | -            {}, | 
| 975 |  | -            getClearAdditionalProp, | 
| 976 |  | -            addClearitionalObj.value | 
| 977 |  | -          ); | 
| 978 |  | -          const getIsWhereTypeValue: any = isWhereTypeValue.value; | 
| 979 |  | -          const getAdditionalPropObj = { | 
| 980 |  | -            [getIsWhereTypeValue]: getScheduleAndAlarmDetails, | 
| 981 |  | -          }; | 
| 982 |  | -          const getCreateRulesAllObj = { | 
| 983 |  | -            createRules: getAdditionalPropObj, | 
| 984 |  | -          }; | 
| 985 |  | -          const getClearRulesAllObj = { | 
| 986 |  | -            clearRule: getScheduleAndClearAlarmDetails, | 
| 987 |  | -          }; | 
| 988 |  | -          const valueRegisterForm = await validateRegisterForm(); | 
| 989 |  | -          const valueRegisterFormAndId = { | 
| 990 |  | -            alarmType: Object.values(valueRegisterForm)[0], | 
| 991 |  | -          }; | 
|  | 918 | +          validateRegisterFormFunc(); | 
|  | 919 | +          validateRegisterFormHighSettingFunc(); | 
| 992 | 920 | const objectId = { | 
| 993 | 921 | id: generateUUID(), | 
| 994 | 922 | }; | 
| 995 |  | -          const valueRegisterFormHighSetting = await validateRegisterFormHighSetting(); | 
| 996 |  | -          const valueRegisterFormCreateAlarm = await validateRegisterFormCreateAlarm(); | 
| 997 |  | -          console.log(valueRegisterFormCreateAlarm); | 
| 998 |  | -          const getValueRegisterFormHighSetting = { | 
| 999 |  | -            propagate: valueRegisterFormHighSetting?.propagate, | 
| 1000 |  | -            propagateRelationTypes: [valueRegisterFormHighSetting?.propagateRelationTypes].flat(1), | 
| 1001 |  | -          }; | 
| 1002 |  | -          Object.assign( | 
| 1003 |  | -            emptyObj.value, | 
| 1004 |  | -            valueRegisterFormAndId, | 
| 1005 |  | -            getValueRegisterFormHighSetting, | 
| 1006 |  | -            getCreateRulesAllObj, | 
| 1007 |  | -            getClearRulesAllObj, | 
| 1008 |  | -            objectId | 
| 1009 |  | -          ); | 
| 1010 |  | -          if (alarmss.value.length == 0) { | 
| 1011 |  | -            alarmss.value.push(emptyObj.value); | 
| 1012 |  | -          } | 
| 1013 |  | -          const getAlarms = { | 
| 1014 |  | -            alarms: alarmss.value, | 
|  | 923 | +          getRegisterFormChangeDetailFunc(); | 
|  | 924 | +          addCreateRuleFunc(); | 
|  | 925 | +          addClearAlaramRule(); | 
|  | 926 | +          console.log(addCreateRulesObj); | 
|  | 927 | +          console.log(getClearObj.value); | 
|  | 928 | + | 
|  | 929 | +          getAllObjTemp.value = { | 
|  | 930 | +            ...addCreateRulesObj, | 
|  | 931 | +            ...getClearObj.value, | 
|  | 932 | +            ...objectId, | 
|  | 933 | +            ...alarmTypeGet.value, | 
|  | 934 | +            ...propagateAndpropagateRelationTypes, | 
| 1015 | 935 | }; | 
| 1016 |  | -          Object.assign(getAllFormData.value, getAlarms); | 
| 1017 |  | -          emit('next', getAllFormData.value); | 
|  | 936 | +          allAlarms.value.push(getAllObjTemp.value as never); | 
|  | 937 | +          emit('next', allAlarms.value); | 
| 1018 | 938 | } catch (error) {} | 
| 1019 | 939 | }; | 
|  | 940 | + | 
| 1020 | 941 | const [registerModal1, { openModal: openModal1 }] = useModal(); | 
| 1021 | 942 | const [registerModal2, { openModal: openModal2 }] = useModal(); | 
| 1022 | 943 | const [registerModal3, { openModal: openModal3 }] = useModal(); | 
| ... | ... | @@ -1087,13 +1008,15 @@ | 
| 1087 | 1008 | }; | 
| 1088 | 1009 |  | 
| 1089 | 1010 | return { | 
|  | 1011 | +        getChildData5, | 
|  | 1012 | +        getChildData6, | 
|  | 1013 | +        refAlarmDetailTemplate, | 
| 1090 | 1014 | resetRegisterFormChangeDetailFunc, | 
| 1091 | 1015 | resetRegisterFormClearChangeDetailFunc, | 
| 1092 | 1016 | setRegisterFormClearChangeDetailFunc, | 
| 1093 | 1017 | setRegisterFormChangeDetailFunc, | 
| 1094 | 1018 | registerFormChangeClearDetail, | 
| 1095 | 1019 | registerFormChangeDetail, | 
| 1096 |  | -        ruleNumber, | 
| 1097 | 1020 | resetEnableClearFormDataFunc, | 
| 1098 | 1021 | resetTemplateClearFormDataFunc, | 
| 1099 | 1022 | resetRulesClearFormDataFunc, | 
| ... | ... | @@ -1107,7 +1030,6 @@ | 
| 1107 | 1030 | retryTemplateFormDataFunc, | 
| 1108 | 1031 | retryRulesFormDataFunc, | 
| 1109 | 1032 | clearProfileDataFunc, | 
| 1110 |  | -        clearIndex, | 
| 1111 | 1033 | retryRegisterFormFunc, | 
| 1112 | 1034 | retryRegisterFormHighSettingmFunc, | 
| 1113 | 1035 | retryRegisterFormCreateAlarmFunc, | 
... | ... |  |