|
@@ -0,0 +1,207 @@
|
|
|
+<template>
|
|
|
+ <scroll-view class="scroll-height" :scroll-y="true" :data-theme="'theme-' + proxy.$settingStore.themeColor.name">
|
|
|
+ <view class="alarmDetails-container">
|
|
|
+ <view class="flex bg-white padding-15 margin-b-15">
|
|
|
+ <image style="width: 40px; height: 40px; margin: auto 15px auto 0" :src="dataArray.typeImg ? dataArray.typeImg : '/static/images/404.png'" mode="aspectFill"></image>
|
|
|
+
|
|
|
+ <view style="margin: auto auto auto 0">
|
|
|
+ <view style="font-size: 15px"> {{ dataArray.deviceName }} </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view style="margin: auto 0 auto 0">
|
|
|
+ <view style="font-size: 15px" :style="`color:${dataArray.handleStatus == 1 ? '#16bf00' : 'red'}`">
|
|
|
+ {{ dataArray.handleStatus == 1 ? "已处理" : dataArray.handleStatus == 0 ? "未处理" : "" }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="bg-white padding-15 margin-b-15">
|
|
|
+ <uni-section class="block margin-b-10" title="基本信息" type="line"></uni-section>
|
|
|
+
|
|
|
+ <view class="tableType3 padding-0">
|
|
|
+ <u-row v-for="da in dataList" :key="da">
|
|
|
+ <u-col span="4">
|
|
|
+ <view style="text-align: right; padding: 0px 5px 0px 5px">{{ da.title }}</view>
|
|
|
+ </u-col>
|
|
|
+ <u-col span="8">
|
|
|
+ <view style="text-align: left; padding: 0px 5px 0px 5px">{{ da.value }}</view>
|
|
|
+ </u-col>
|
|
|
+ </u-row>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="bg-white padding-15 margin-b-15">
|
|
|
+ <uni-section class="block margin-b-10" title="处理内容" type="line"></uni-section>
|
|
|
+
|
|
|
+ <view>
|
|
|
+ <u-radio-group v-model="handleRange" placement="row" v-if="dataArray.handleStatus != 1">
|
|
|
+ <u-radio
|
|
|
+ v-for="han in handleRangeList"
|
|
|
+ :key="han"
|
|
|
+ :activeColor="proxy.$settingStore.themeColor.color"
|
|
|
+ :label="han.label"
|
|
|
+ :name="han.value"
|
|
|
+ style="margin: 0 15px 15px 0"
|
|
|
+ :labelSize="13"
|
|
|
+ :iconSize="10"
|
|
|
+ ></u-radio>
|
|
|
+ </u-radio-group>
|
|
|
+
|
|
|
+ <u--textarea v-model="handleContent" placeholder="备注信息,最多可输入50个字" :count="true" maxlength="50" style="margin: 0 0 15px 0" :disabled="dataArray.handleStatus == 1"></u--textarea>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="flex" v-if="dataArray.handleStatus != 1">
|
|
|
+ <u-button
|
|
|
+ type="primary"
|
|
|
+ text="误报"
|
|
|
+ shape="circle"
|
|
|
+ :customStyle="{
|
|
|
+ width: '80px',
|
|
|
+ height: '30px',
|
|
|
+ marginRight: '15px',
|
|
|
+ }"
|
|
|
+ @click="handleSubmit(1)"
|
|
|
+ ></u-button>
|
|
|
+ <u-button
|
|
|
+ type="primary"
|
|
|
+ text="非误报"
|
|
|
+ shape="circle"
|
|
|
+ :customStyle="{
|
|
|
+ width: '80px',
|
|
|
+ height: '30px',
|
|
|
+ marginLeft: '15px',
|
|
|
+ }"
|
|
|
+ @click="handleSubmit(0)"
|
|
|
+ ></u-button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import { onLoad, onShow, onReady, onHide, onLaunch, onNavigationBarButtonTap, onPageScroll } from "@dcloudio/uni-app";
|
|
|
+import { ref, reactive, computed, getCurrentInstance, toRefs, inject } from "vue";
|
|
|
+import { publicStores, useStores } from "@/store/modules/index";
|
|
|
+
|
|
|
+import { baseAlarmList, baseAlarm } from "@/api/business/fireIot/alarmManage.js";
|
|
|
+
|
|
|
+const { proxy } = getCurrentInstance();
|
|
|
+
|
|
|
+const dataArray = ref({});
|
|
|
+const dataList = ref([
|
|
|
+ {
|
|
|
+ title: "设备名称",
|
|
|
+ value: "",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "设备地址",
|
|
|
+ value: "",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "告警等级",
|
|
|
+ value: "",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "告警信息",
|
|
|
+ value: "",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "告警时间",
|
|
|
+ value: "",
|
|
|
+ },
|
|
|
+]);
|
|
|
+
|
|
|
+const deviceName = ref("");
|
|
|
+const alarmTime = ref("");
|
|
|
+const pageSize = ref(20);
|
|
|
+const current = ref(1);
|
|
|
+const total = ref(0);
|
|
|
+
|
|
|
+const handleContent = ref("");
|
|
|
+const handleRange = ref(1);
|
|
|
+const handleRangeList = ref([
|
|
|
+ {
|
|
|
+ label: "单个处理",
|
|
|
+ value: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "批量处理",
|
|
|
+ value: 0,
|
|
|
+ },
|
|
|
+]);
|
|
|
+
|
|
|
+/**
|
|
|
+ * @页面初始化
|
|
|
+ */
|
|
|
+function init() {
|
|
|
+ selectListApi();
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @列表查询
|
|
|
+ * @api接口查询
|
|
|
+ */
|
|
|
+function selectListApi() {
|
|
|
+ baseAlarmList({
|
|
|
+ deviceName: deviceName.value,
|
|
|
+ startTime: alarmTime.value,
|
|
|
+ endTime: alarmTime.value,
|
|
|
+ current: current.value,
|
|
|
+ size: pageSize.value,
|
|
|
+ }).then((requset) => {
|
|
|
+ if (requset.status === "SUCCESS") {
|
|
|
+ dataArray.value = requset.data.records[0];
|
|
|
+ dataList.value[0].value = requset.data.records[0].deviceName;
|
|
|
+ dataList.value[1].value = requset.data.records[0].alarmAddress;
|
|
|
+ dataList.value[2].value = requset.data.records[0].alarmGrade + "级";
|
|
|
+ dataList.value[3].value = requset.data.records[0].alarmContent;
|
|
|
+ dataList.value[4].value = requset.data.records[0].alarmTime;
|
|
|
+ total.value = requset.data.total;
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @提交
|
|
|
+ */
|
|
|
+function handleSubmit(alarmFalse) {
|
|
|
+ baseAlarm({
|
|
|
+ id: dataArray.value.id,
|
|
|
+ deviceId: dataArray.value.deviceId,
|
|
|
+ alarmType: dataArray.value.alarmType,
|
|
|
+ handleContent: handleContent.value,
|
|
|
+ alarmFalse: alarmFalse,
|
|
|
+ handleRange: handleRange.value,
|
|
|
+ }).then((requset) => {
|
|
|
+ if (requset.status === "SUCCESS") {
|
|
|
+ proxy.$tab.redirectTo("/pages/common/success/index");
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+onReady(() => {});
|
|
|
+
|
|
|
+onShow(() => {
|
|
|
+ //调用系统主题颜色
|
|
|
+ proxy.$settingStore.systemThemeColor([1]);
|
|
|
+});
|
|
|
+
|
|
|
+onLoad((options) => {
|
|
|
+ if ("deviceName" in options) {
|
|
|
+ deviceName.value = options.deviceName;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("alarmTime" in options) {
|
|
|
+ alarmTime.value = options.alarmTime;
|
|
|
+ }
|
|
|
+
|
|
|
+ init();
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+:deep(.u-textarea__field) {
|
|
|
+ font-size: 13px;
|
|
|
+}
|
|
|
+</style>
|