| | |
| | | <template> |
| | | <div class="alarm-details"> |
| | | <van-nav-bar |
| | | title="告警详情" |
| | | @click-left="$router.back()" |
| | | left-arrow |
| | | fixed |
| | | safe-area-inset-top |
| | | placeholder |
| | | > |
| | | <van-nav-bar title="告警详情" @click-left="$router.back()" left-arrow fixed safe-area-inset-top placeholder> |
| | | </van-nav-bar> |
| | | <div class="detailsCon"> |
| | | <div class="card"> |
| | |
| | | </div> |
| | | <div class="commonTitle"> |
| | | <div class="label">订单状态:</div> |
| | | <div |
| | | class="text" |
| | | v-if="alarmInfo.status == 2 && stepsActive == 0" |
| | | style="color: #eac406" |
| | | > |
| | | <div class="text" v-if="alarmInfo.status == 2 && stepsActive == 0" style="color: #eac406"> |
| | | 处理中 |
| | | </div> |
| | | <div |
| | | class="text" |
| | | v-else-if="alarmInfo.status == 2 && stepsActive == 1" |
| | | style="color: #eac406" |
| | | > |
| | | <div class="text" v-else-if="alarmInfo.status == 2 && stepsActive == 1" style="color: #eac406"> |
| | | 待审核 |
| | | </div> |
| | | <div |
| | | class="text" |
| | | v-else-if="alarmInfo.status == 3" |
| | | style="color: #07c160" |
| | | > |
| | | <div class="text" v-else-if="alarmInfo.status == 3" style="color: #07c160"> |
| | | 已完成 |
| | | </div> |
| | | <div |
| | | class="text" |
| | | v-else-if="alarmInfo.status == 0" |
| | | style="color: #4b88f9" |
| | | > |
| | | <div class="text" v-else-if="alarmInfo.status == 0" style="color: #4b88f9"> |
| | | 待派发 |
| | | </div> |
| | | <div |
| | | class="text" |
| | | v-else-if="alarmInfo.status == 1 && userPower == 0" |
| | | style="color: #4b88f9" |
| | | > |
| | | <div class="text" v-else-if="alarmInfo.status == 1 && userPower == 0" style="color: #4b88f9"> |
| | | 已派发 |
| | | </div> |
| | | <div class="text" v-else style="color: #4b88f9">待处理</div> |
| | |
| | | </van-steps> |
| | | </div> |
| | | <!-- 如果是进入审核状态 --> |
| | | <div |
| | | class="card" |
| | | v-if=" |
| | | <div class="card" v-if=" |
| | | (alarmInfo.status == 2 && stepsActive == 1) || |
| | | (alarmInfo.status == 2 && stepsActive == 2) || |
| | | alarmInfo.status == 3 |
| | | " |
| | | > |
| | | "> |
| | | <div class="commonTitle cardTitle">告警处理:</div> |
| | | <div class="commonTitle"> |
| | | <div class="label">问题描述:</div> |
| | |
| | | <div class="commonTitle"> |
| | | <div class="label">处理前照片:</div> |
| | | <div class="text"> |
| | | <div |
| | | class="van-uploader__wrapper" |
| | | v-if=" |
| | | <div class="van-uploader__wrapper" v-if=" |
| | | handleInfo.imageBefore && |
| | | handleInfo.imageBefore.split(',').length > 0 |
| | | " |
| | | > |
| | | <div |
| | | class="van-uploader__preview" |
| | | v-for="(item, i) in handleInfo.imageBefore.split(',')" |
| | | :key="i" |
| | | @click="toShowImgpreview(handleInfo.imageBefore.split(','))" |
| | | > |
| | | "> |
| | | <div class="van-uploader__preview" v-for="(item, i) in handleInfo.imageBefore.split(',')" :key="i" @click="toShowImgpreview(handleInfo.imageBefore.split(','))"> |
| | | <div class="van-image van-uploader__preview-image"> |
| | | <img |
| | | :src="$units.getStationSrc(item)" |
| | | class="van-image__img" |
| | | style="object-fit: cover" |
| | | /> |
| | | <img :src="$units.getStationSrc(item)" class="van-image__img" style="object-fit: cover" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="commonTitle"> |
| | | <div class="label">处理后照片:</div> |
| | | <div class="text"> |
| | | <div |
| | | class="van-uploader__wrapper" |
| | | v-if=" |
| | | <div class="van-uploader__wrapper" v-if=" |
| | | handleInfo.imageAfter && |
| | | handleInfo.imageAfter.split(',').length > 0 |
| | | " |
| | | > |
| | | <div |
| | | class="van-uploader__preview" |
| | | v-for="(item, i) in handleInfo.imageAfter.split(',')" |
| | | :key="i" |
| | | @click="toShowImgpreview(handleInfo.imageAfter.split(','))" |
| | | > |
| | | "> |
| | | <div class="van-uploader__preview" v-for="(item, i) in handleInfo.imageAfter.split(',')" :key="i" @click="toShowImgpreview(handleInfo.imageAfter.split(','))"> |
| | | <div class="van-image van-uploader__preview-image"> |
| | | <img |
| | | :src="$units.getStationSrc(item)" |
| | | class="van-image__img" |
| | | style="object-fit: cover" |
| | | /> |
| | | <img :src="$units.getStationSrc(item)" class="van-image__img" style="object-fit: cover" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="subBtn" @click="startHandle" v-if="alarmInfo.status == 1"> |
| | | 开始处理 |
| | | </div> |
| | | <div |
| | | class="subBtn" |
| | | @click="toPage('edit')" |
| | | v-if="alarmInfo.status == 2 && stepsActive == 0" |
| | | > |
| | | <div class="subBtn" @click="toPage('edit')" v-if="alarmInfo.status == 2 && stepsActive == 0"> |
| | | 继续处理 |
| | | </div> |
| | | </div> |
| | | <!-- 如果是维护员并且实时告警已自动消除 --> |
| | | <div |
| | | class="subBtn" |
| | | @click="completeAlarm" |
| | | v-else-if="userPower != 0 && isNoAlarm" |
| | | > |
| | | <div class="subBtn" @click="completeAlarm" v-else-if="userPower != 0 && isNoAlarm"> |
| | | 确认告警自动消除 |
| | | </div> |
| | | <!-- 如果是管理员未派发 --> |
| | | <div v-if="userPower == 0 && alarmInfo.status == 0"> |
| | | <div class="card"> |
| | | <div class="commonTitle cardTitle">指派人员:</div> |
| | | <van-cell |
| | | :title="assignUser.UName" |
| | | is-link |
| | | @click=" |
| | | <van-cell :title="assignUser.UName" is-link @click=" |
| | | $router.push({ |
| | | path: '/userList', |
| | | query: { |
| | | stationId: alarmInfo.stationId, |
| | | }, |
| | | }) |
| | | " |
| | | /> |
| | | " /> |
| | | </div> |
| | | <div class="subBtn" @click="toAssign">确认指派</div> |
| | | </div> |
| | | <!-- 如果是管理员待审核 --> |
| | | <div v-if="userPower == 0 && alarmInfo.status == 2 && stepsActive == 1"> |
| | | <div class="card"> |
| | | <van-field |
| | | v-model="handleInfo.note" |
| | | rows="2" |
| | | autosize |
| | | label="审核意见" |
| | | type="textarea" |
| | | placeholder="请输入审核意见…" |
| | | show-word-limit |
| | | /> |
| | | <van-field v-model="handleInfo.note" rows="2" autosize label="审核意见" type="textarea" placeholder="请输入审核意见…" show-word-limit /> |
| | | </div> |
| | | <div class="btnCon"> |
| | | <div class="subBtn" @click="suggest(3)">通过</div> |
| | |
| | | if (assignUser) { |
| | | this.assignUser = JSON.parse(assignUser) |
| | | } |
| | | console.log(this.alarmInfo) |
| | | this.loadStatus() |
| | | }, |
| | | destroyed() { |
| | |
| | | }, |
| | | //确认指派 |
| | | toAssign() { |
| | | this.$dialog |
| | | .confirm({ |
| | | if (this.assignUser.UId) { |
| | | this.$dialog.confirm({ |
| | | title: "提示", |
| | | message: `是否确认把该告警指派给${this.assignUser.UName}?`, |
| | | }) |
| | | .then(() => { |
| | | }).then(() => { |
| | | let postData = [ |
| | | { |
| | | id: this.alarmInfo.id, |
| | |
| | | .catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | }).catch(() => { |
| | | // on cancel |
| | | }) |
| | | } else { |
| | | this.$toast('请选择指派人员!') |
| | | } |
| | | |
| | | }, |
| | | //确认自动完成告警 |
| | | completeAlarm() { |