From c01aab181d94e87645470b5f159c093e77ae79d3 Mon Sep 17 00:00:00 2001
From: whyczyk <525500596@qq.com>
Date: 星期五, 10 九月 2021 14:08:30 +0800
Subject: [PATCH] 优化图片显示问题

---
 src/pages/alarm-details.vue                |  988 +++++++++++++++++++++++++---------------------
 src/assets/units/index.js                  |    6 
 src/assets/units/function/getStationSrc.js |   12 
 src/components/v-upload.vue                |  195 ++++----
 4 files changed, 646 insertions(+), 555 deletions(-)

diff --git a/src/assets/units/function/getStationSrc.js b/src/assets/units/function/getStationSrc.js
new file mode 100644
index 0000000..4e9f55d
--- /dev/null
+++ b/src/assets/units/function/getStationSrc.js
@@ -0,0 +1,12 @@
+function getStationSrc(url) {
+    let src = "";
+    if (process.env.NODE_ENV == 'dev') {
+        src = "http://localhost:8920/stationsrc";
+    } else {
+        src = window.location.origin + "/stationsrc";
+    }
+    url = src + url.split('stationsrc')[1]
+    return url;
+}
+
+export default getStationSrc;
\ No newline at end of file
diff --git a/src/assets/units/index.js b/src/assets/units/index.js
index 404566f..44ec1d4 100644
--- a/src/assets/units/index.js
+++ b/src/assets/units/index.js
@@ -34,6 +34,9 @@
 //璁$畻鎬婚〉鏁�
 import convertToPinyin from './function/convertToPinyin'
 
+//鏇挎崲涓婁紶鏂囦欢鍦板潃澶撮儴
+import getStationSrc from './function/getStationSrc'
+
 export default {
 	deepClone,
 	deepMerge,
@@ -46,5 +49,6 @@
 	splitString,
 	toThousands,
 	pageTotal,
-	convertToPinyin
+	convertToPinyin,
+	getStationSrc
 }
\ No newline at end of file
diff --git a/src/components/v-upload.vue b/src/components/v-upload.vue
index 9259d87..644fe61 100644
--- a/src/components/v-upload.vue
+++ b/src/components/v-upload.vue
@@ -1,101 +1,108 @@
 <template>
-  <van-uploader :after-read="afterRead" v-model="getFileList" accept="image/png, image/jpeg"
-    :max-size="10 * 1024 * 1024" @oversize="oversize" :disabled="disabled" :readonly="readonly" />
+	<van-uploader
+		:after-read="afterRead"
+		v-model="getFileList"
+		accept="image/png, image/jpeg"
+		:max-size="10 * 1024 * 1024"
+		@oversize="oversize"
+		:disabled="disabled"
+		:readonly="readonly"
+	/>
 </template>
 
 <script>
-  import {
-    uploadAlarmFile
-  } from '@/assets/js/api'
-  export default {
-    name: "v-upload",
-    props: {
-      value: {
-        type: String,
-        default: ""
-      },
-      disabled: {
-        type: Boolean,
-        default: false
-      },
-      readonly: {
-        type: Boolean,
-        default: false
-      },
-      afterOrBefore: {
-        type: String,
-        default: 'before'
-      }
-    },
-    data() {
-      return {
-        fileList: this.value
-      }
-    },
-    model: {
-      prop: "value",
-      event: "valChange"
-    },
-    watch: {
-      value(newValue) {
-        this.fileList = newValue;
-      },
-      fileList(newValue) {
-        this.$emit("valChange", newValue);
-      }
-    },
-    computed: {
-      getFileList: {
-        get() {
-          if (this.fileList) {
-            return this.fileList.split(",").map(item => {
-              return {
-                url: item
-              };
-            });
-          }
-          return [];
-        },
-        set(newValue) {
-          var fileList = [];
-          newValue.forEach(item => {
-            if (item.url) {
-              fileList.push(item.url);
-            }
-          });
-          this.fileList = fileList.join(",");
-        }
-      }
-    },
-    methods: {
-      // 涓婁紶鍥剧墖
-      afterRead(file) {
-        var formData = new FormData();
-        let json = JSON.stringify({
-          afterOrBefore: this.afterOrBefore
-        })
-        formData.append("file", file.file);
-        formData.append("json", json);
-        //涓婁紶鍥剧墖鎺ュ彛
-        uploadAlarmFile(formData).then(res => {
-          let resData = JSON.parse(res.data.result);
-          if (resData.code == 1) {
-            if (this.fileList) {
-              var arr = this.fileList.split(",");
-              arr.push(resData.data[0]);
-              this.fileList = arr.join(",");
-              return false;
-            }
-            this.fileList = resData.data[0];
-          }
-        });
-      },
-      // 鏂囦欢杩囧ぇ
-      oversize(e) {
-        this.$toast.fail("鍥剧墖杩囧ぇ锛�");
-      }
-    }
-  }
+import { uploadAlarmFile } from "@/assets/js/api"
+export default {
+	name: "v-upload",
+	props: {
+		value: {
+			type: String,
+			default: "",
+		},
+		disabled: {
+			type: Boolean,
+			default: false,
+		},
+		readonly: {
+			type: Boolean,
+			default: false,
+		},
+		afterOrBefore: {
+			type: String,
+			default: "before",
+		},
+	},
+	data() {
+		return {
+			fileList: this.value,
+		}
+	},
+	model: {
+		prop: "value",
+		event: "valChange",
+	},
+	watch: {
+		value(newValue) {
+			this.fileList = newValue
+		},
+		fileList(newValue) {
+			this.$emit("valChange", newValue)
+		},
+	},
+	computed: {
+		getFileList: {
+			get() {
+				if (this.fileList) {
+					return this.fileList.split(",").map((item) => {
+						console.log(this.$units.getStationSrc(item))
+						return {
+							url: this.$units.getStationSrc(item),
+							url1: item,
+						}
+					})
+				}
+				return []
+			},
+			set(newValue) {
+				var fileList = []
+				newValue.forEach((item) => {
+					if (item.url1) {
+						fileList.push(item.url1)
+					}
+				})
+				this.fileList = fileList.join(",")
+			},
+		},
+	},
+	methods: {
+		// 涓婁紶鍥剧墖
+		afterRead(file) {
+			var formData = new FormData()
+			let json = JSON.stringify({
+				afterOrBefore: this.afterOrBefore,
+			})
+			formData.append("file", file.file)
+			formData.append("json", json)
+			//涓婁紶鍥剧墖鎺ュ彛
+			uploadAlarmFile(formData).then((res) => {
+				let resData = JSON.parse(res.data.result)
+				if (resData.code == 1) {
+					if (this.fileList) {
+						var arr = this.fileList.split(",")
+						arr.push(resData.data[0])
+						this.fileList = arr.join(",")
+						return false
+					}
+					this.fileList = resData.data[0]
+				}
+			})
+		},
+		// 鏂囦欢杩囧ぇ
+		oversize(e) {
+			this.$toast.fail("鍥剧墖杩囧ぇ锛�")
+		},
+	},
+}
 </script>
 
 <style scoped>
diff --git a/src/pages/alarm-details.vue b/src/pages/alarm-details.vue
index 66c0dc6..d9d900c 100644
--- a/src/pages/alarm-details.vue
+++ b/src/pages/alarm-details.vue
@@ -1,21 +1,26 @@
 <template>
-  <div class="alarm-details">
-    <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 class="commonTitle cardTitle">
-          {{alarmInfo.alarmName}}
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            绔欑偣鍚嶇О锛�
-          </div>
-          <div class="text">
-            {{alarmInfo.stationName}}
-          </div>
-        </div>
-        <!-- <div class="commonTitle">
+	<div class="alarm-details">
+		<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 class="commonTitle cardTitle">
+					{{ alarmInfo.alarmName }}
+				</div>
+				<div class="commonTitle">
+					<div class="label">绔欑偣鍚嶇О锛�</div>
+					<div class="text">
+						{{ alarmInfo.stationName }}
+					</div>
+				</div>
+				<!-- <div class="commonTitle">
           <div class="label">
             鐢垫睜缁勶細
           </div>
@@ -23,463 +28,526 @@
             {{alarmInfo.alarmData.battGroupName}}
           </div>
         </div> -->
-        <div class="commonTitle">
-          <div class="label">
-            鍛婅绫诲瀷锛�
-          </div>
-          <div class="text" v-if="alarmInfo.battGroupId==0">
-            璁惧鍛婅
-          </div>
-          <div class="text" v-else>
-            鐢垫睜鍛婅
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            鍛婅绛夌骇锛�
-          </div>
-          <div class="text" v-if="alarmInfo.alarmLevel==1">
-            涓�绾у憡璀�
-          </div>
-          <div class="text" v-else-if="alarmInfo.alarmLevel==2">
-            浜岀骇鍛婅
-          </div>
-          <div class="text" v-else>
-            涓夌骇鍛婅
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            鍛婅鏃堕棿锛�
-          </div>
-          <div class="text">
-            {{alarmInfo.alarmTime}}
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            鍒涘缓鏃堕棿锛�
-          </div>
-          <div class="text">
-            {{alarmInfo.createTime}}
-          </div>
-        </div>
-        <div class="commonTitle" v-if="alarmInfo.dispatchTime">
-          <div class="label">
-            娲惧彂鏃堕棿锛�
-          </div>
-          <div class="text">
-            {{alarmInfo.dispatchTime}}
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            璁㈠崟鐘舵�侊細
-          </div>
-          <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>
-          <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>
-          <div class="text" v-else-if="alarmInfo.status==1&&userPower==0" style="color: #4B88F9;">
-            宸叉淳鍙�
-          </div>
-          <div class="text" v-else style="color: #4B88F9;">
-            寰呭鐞�
-          </div>
-        </div>
-      </div>
-      <!-- 濡傛灉鏄鐞嗕腑鐘舵�� -->
-      <div class="card" v-if="alarmInfo.status==2||alarmInfo.status==3">
-        <div class="commonTitle cardTitle">
-          璁㈠崟鐘舵�侊細
-        </div>
-        <van-steps :active="stepsActive">
-          <van-step>澶勭悊涓�</van-step>
-          <van-step>寰呭鏍�</van-step>
-          <van-step>宸插畬鎴�</van-step>
-        </van-steps>
-      </div>
-      <!-- 濡傛灉鏄繘鍏ュ鏍哥姸鎬� -->
-      <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="text">
-            {{handleInfo.description}}
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            澶勭悊鍓嶇収鐗囷細
-          </div>
-          <div class="text">
-            <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-image van-uploader__preview-image">
-                  <img :src="item" class="van-image__img" style="object-fit: cover;">
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            澶勭悊鏂规硶锛�
-          </div>
-          <div class="text">
-            {{handleInfo.workWay}}
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            澶勭悊鍚庣収鐗囷細
-          </div>
-          <div class="text">
-            <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-image van-uploader__preview-image">
-                  <img :src="item" class="van-image__img" style="object-fit: cover;">
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="commonTitle">
-          <div class="label">
-            鎰忚寤鸿锛�
-          </div>
-          <div class="text">
-            {{handleInfo.workSuggest}}
-          </div>
-        </div>
-      </div>
-      <!-- 濡傛灉鏄淮鎶ゅ憳骞朵笖鏈夊疄鏃跺憡璀� -->
-      <div v-if="userPower!=0&&!isNoAlarm">
-        <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>
-      </div>
-      <!-- 濡傛灉鏄淮鎶ゅ憳骞朵笖瀹炴椂鍛婅宸茶嚜鍔ㄦ秷闄� -->
-      <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="$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 />
-        </div>
-        <div class="btnCon">
-          <div class="subBtn" @click="suggest(3)">閫氳繃</div>
-          <div class="subBtn" @click="suggest(-1)">涓嶉�氳繃</div>
-        </div>
-      </div>
-    </div>
-    <van-image-preview v-model="showImgPreview" :images="ImgPreviewList">
-    </van-image-preview>
-  </div>
+				<div class="commonTitle">
+					<div class="label">鍛婅绫诲瀷锛�</div>
+					<div class="text" v-if="alarmInfo.battGroupId == 0">璁惧鍛婅</div>
+					<div class="text" v-else>鐢垫睜鍛婅</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">鍛婅绛夌骇锛�</div>
+					<div class="text" v-if="alarmInfo.alarmLevel == 1">涓�绾у憡璀�</div>
+					<div class="text" v-else-if="alarmInfo.alarmLevel == 2">浜岀骇鍛婅</div>
+					<div class="text" v-else>涓夌骇鍛婅</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">鍛婅鏃堕棿锛�</div>
+					<div class="text">
+						{{ alarmInfo.alarmTime }}
+					</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">鍒涘缓鏃堕棿锛�</div>
+					<div class="text">
+						{{ alarmInfo.createTime }}
+					</div>
+				</div>
+				<div class="commonTitle" v-if="alarmInfo.dispatchTime">
+					<div class="label">娲惧彂鏃堕棿锛�</div>
+					<div class="text">
+						{{ alarmInfo.dispatchTime }}
+					</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">璁㈠崟鐘舵�侊細</div>
+					<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>
+					<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>
+					<div
+						class="text"
+						v-else-if="alarmInfo.status == 1 && userPower == 0"
+						style="color: #4b88f9"
+					>
+						宸叉淳鍙�
+					</div>
+					<div class="text" v-else style="color: #4b88f9">寰呭鐞�</div>
+				</div>
+			</div>
+			<!-- 濡傛灉鏄鐞嗕腑鐘舵�� -->
+			<div class="card" v-if="alarmInfo.status == 2 || alarmInfo.status == 3">
+				<div class="commonTitle cardTitle">璁㈠崟鐘舵�侊細</div>
+				<van-steps :active="stepsActive">
+					<van-step>澶勭悊涓�</van-step>
+					<van-step>寰呭鏍�</van-step>
+					<van-step>宸插畬鎴�</van-step>
+				</van-steps>
+			</div>
+			<!-- 濡傛灉鏄繘鍏ュ鏍哥姸鎬� -->
+			<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="text">
+						{{ handleInfo.description }}
+					</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">澶勭悊鍓嶇収鐗囷細</div>
+					<div class="text">
+						<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-image van-uploader__preview-image">
+									<img
+										:src="$units.getStationSrc(item)"
+										class="van-image__img"
+										style="object-fit: cover"
+									/>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">澶勭悊鏂规硶锛�</div>
+					<div class="text">
+						{{ handleInfo.workWay }}
+					</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">澶勭悊鍚庣収鐗囷細</div>
+					<div class="text">
+						<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-image van-uploader__preview-image">
+									<img
+										:src="$units.getStationSrc(item)"
+										class="van-image__img"
+										style="object-fit: cover"
+									/>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div class="commonTitle">
+					<div class="label">鎰忚寤鸿锛�</div>
+					<div class="text">
+						{{ handleInfo.workSuggest }}
+					</div>
+				</div>
+			</div>
+			<!-- 濡傛灉鏄淮鎶ゅ憳骞朵笖鏈夊疄鏃跺憡璀� -->
+			<div v-if="userPower != 0 && !isNoAlarm">
+				<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>
+			</div>
+			<!-- 濡傛灉鏄淮鎶ゅ憳骞朵笖瀹炴椂鍛婅宸茶嚜鍔ㄦ秷闄� -->
+			<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="
+							$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
+					/>
+				</div>
+				<div class="btnCon">
+					<div class="subBtn" @click="suggest(3)">閫氳繃</div>
+					<div class="subBtn" @click="suggest(-1)">涓嶉�氳繃</div>
+				</div>
+			</div>
+		</div>
+		<van-image-preview v-model="showImgPreview" :images="ImgPreviewList">
+		</van-image-preview>
+	</div>
 </template>
 
 <script>
-  import {
-    updateWorkAlarm,
-    searchStatusById,
-    dispatchTask,
-    updateUserWork,
-  } from '@/assets/js/api'
-  import {
-    mapState,
-  } from 'vuex';
-  import vUpload from '@/components/v-upload.vue'
-  export default {
-    components: {
-      vUpload
-    },
-    data() {
-      return {
-        isNoAlarm: false,
-        showImgPreview: false,
-        ImgPreviewList: [],
-        stepsActive: 0,
-        alarmInfo: {
-          id: 0,
-          alarmRecId: 0,
-          battGroupId: 0,
-          managerId: 0,
-          status: 0,
-          dispatchTime: "",
-          alarmData: {
-            num: 0,
-            BattGroupId: 0,
-            MonNum: 0,
-            alm_signal_id: 0,
-            alm_level: 0,
-            alm_start_time: "",
-            alm_end_time: "",
-            alm_value: 0,
-            alm_is_confirmed: 0,
-            alm_confirmed_time: "",
-            stationname: "",
-            battGroupName: "",
-            alarmname: "",
-            alarmtype: ""
-          }
-        },
-        handleInfo: {},
-        assignUser: {
-          UName: '璇烽�夋嫨鎸囨淳浜哄憳',
-        }
-      }
-    },
-    computed: {
-      ...mapState(['userPower']),
-    },
-    mounted() {
-      this.alarmInfo = JSON.parse(this.$route.query.alarmData);
-      let assignUser = sessionStorage.getItem('assignUser')
-      if (assignUser) {
-        this.assignUser = JSON.parse(assignUser)
-      }
-      this.loadStatus()
-    },
-    destroyed() {
-      sessionStorage.removeItem('assignUser')
-    },
-    methods: {
-      toPage(type) {
-        this.$router.push({
-          path: '/alarmHandle',
-          query: {
-            id: this.alarmInfo.id,
-            type: type,
-            managerId: this.alarmInfo.managerId
-          }
-        })
-      },
-      //纭鎸囨淳
-      toAssign() {
-        this.$dialog.confirm({
-          title: '鎻愮ず',
-          message: `鏄惁纭鎶婅鍛婅鎸囨淳缁�${this.assignUser.UName}?`,
-        }).then(() => {
-          let postData = [{
-            id: this.alarmInfo.id,
-            userId: this.assignUser.UId
-          }]
-          dispatchTask(postData).then((res) => {
-            let resData = JSON.parse(res.data.result)
-            if (resData.code == 1) {
-              this.$toast('鎸囨淳鎴愬姛!')
-              this.loadStatus()
-              sessionStorage.removeItem('assignUser')
-            }
-          }).catch((err) => {
-            console.log(err)
-          });
-        }).catch(() => {
-          // on cancel
-        });
-      },
-      //纭鑷姩瀹屾垚鍛婅
-      completeAlarm() {
-        this.$dialog.confirm({
-          title: '鎻愮ず',
-          message: '璇锋牳瀹炵‘璁�,璇ュ憡璀︽槸鍚﹀凡鑷姩娑堥櫎锛�',
-        }).then(() => {
-          let postData = this.$units.deepClone(this.alarmInfo)
-          postData.status = 3;
-          postData.userId = sessionStorage.getItem('userId');
-          updateWorkAlarm(postData).then((res) => {
-            let resData = JSON.parse(res.data.result)
-            if (resData.code == 1) {
-              this.$toast('纭鎴愬姛!')
-              this.loadStatus()
-            }
-          }).catch((err) => {
-            console.log(err)
-          });
-        }).catch(() => {
-          // on cancel
-        });
-      },
-      //鐐瑰嚮鍥剧墖鏄剧ず鍥剧墖棰勮灞�
-      toShowImgpreview(list) {
-        this.ImgPreviewList = list;
-        this.showImgPreview = true;
-      },
-      //鏌ヨ璁㈠崟褰撳墠鏈�鏂扮姸鎬�
-      loadStatus() {
-        let postData = {
-          id: this.alarmInfo.id
-        }
-        searchStatusById(postData).then((res) => {
-          let resData = JSON.parse(res.data.result)
-          if (resData.code == 1) {
-            this.alarmInfo.status = resData.data.status;
-            if (resData.data.dispatchTime) {
-              this.alarmInfo.dispatchTime = resData.data.dispatchTime;
-            }
-            if (resData.data.managerId) {
-              this.alarmInfo.managerId = resData.data.managerId;
-            }
-            if (resData.data.userWorkList && resData.data.userWorkList.length > 0) {
-              this.handleInfo = resData.data.userWorkList[0];
-              this.stepsActive = this.handleInfo.checkStatus - 1
-            }
-            if (this.alarmInfo.status != 3 && resData.data.flg == 0) {
-              this.isNoAlarm = true
-            } else {
-              this.isNoAlarm = false
-            }
-          }
-        }).catch((err) => {
-          console.log(err)
-        });
-      },
-      //寮�濮嬪鐞�
-      startHandle() {
-        let postData = this.$units.deepClone(this.alarmInfo)
-        postData.status = 2;
-        postData.userId = sessionStorage.getItem('userId');
-        updateWorkAlarm(postData).then((res) => {
-          let resData = JSON.parse(res.data.result)
-          if (resData.code == 1) {
-            this.toPage('add')
-          }
-        }).catch((err) => {
-          console.log(err)
-        });
-      },
-      suggest(checkStatus) {
-        this.handleInfo.checkStatus = checkStatus;
-        let endTime = this.$units.timeFormat(new Date().getTime, 'yyyy-mm-dd hh:MM:ss');
-        this.handleInfo.endTime = endTime;
-        if (this.handleInfo.note == '') {
-          this.$toast('璇疯緭鍏ュ鏍告剰瑙佲��')
-          return
-        }
-        updateUserWork(this.handleInfo).then((res) => {
-          let resData = JSON.parse(res.data.result)
-          if (resData.code == 1) {
-            this.$toast('瀹℃牳鎴愬姛!')
-            this.loadStatus()
-          }
-        }).catch((err) => {
-          console.log(err)
-        });
-      }
-    }
-  }
+import {
+	updateWorkAlarm,
+	searchStatusById,
+	dispatchTask,
+	updateUserWork,
+} from "@/assets/js/api"
+import { mapState } from "vuex"
+import vUpload from "@/components/v-upload.vue"
+export default {
+	components: {
+		vUpload,
+	},
+	data() {
+		return {
+			isNoAlarm: false,
+			showImgPreview: false,
+			ImgPreviewList: [],
+			stepsActive: 0,
+			alarmInfo: {
+				id: 0,
+				alarmRecId: 0,
+				battGroupId: 0,
+				managerId: 0,
+				status: 0,
+				dispatchTime: "",
+				alarmData: {
+					num: 0,
+					BattGroupId: 0,
+					MonNum: 0,
+					alm_signal_id: 0,
+					alm_level: 0,
+					alm_start_time: "",
+					alm_end_time: "",
+					alm_value: 0,
+					alm_is_confirmed: 0,
+					alm_confirmed_time: "",
+					stationname: "",
+					battGroupName: "",
+					alarmname: "",
+					alarmtype: "",
+				},
+			},
+			handleInfo: {},
+			assignUser: {
+				UName: "璇烽�夋嫨鎸囨淳浜哄憳",
+			},
+		}
+	},
+	computed: {
+		...mapState(["userPower"]),
+	},
+	mounted() {
+		this.alarmInfo = JSON.parse(this.$route.query.alarmData)
+		let assignUser = sessionStorage.getItem("assignUser")
+		if (assignUser) {
+			this.assignUser = JSON.parse(assignUser)
+		}
+		this.loadStatus()
+	},
+	destroyed() {
+		sessionStorage.removeItem("assignUser")
+	},
+	methods: {
+		toPage(type) {
+			this.$router.push({
+				path: "/alarmHandle",
+				query: {
+					id: this.alarmInfo.id,
+					type: type,
+					managerId: this.alarmInfo.managerId,
+				},
+			})
+		},
+		//纭鎸囨淳
+		toAssign() {
+			this.$dialog
+				.confirm({
+					title: "鎻愮ず",
+					message: `鏄惁纭鎶婅鍛婅鎸囨淳缁�${this.assignUser.UName}?`,
+				})
+				.then(() => {
+					let postData = [
+						{
+							id: this.alarmInfo.id,
+							userId: this.assignUser.UId,
+						},
+					]
+					dispatchTask(postData)
+						.then((res) => {
+							let resData = JSON.parse(res.data.result)
+							if (resData.code == 1) {
+								this.$toast("鎸囨淳鎴愬姛!")
+								this.loadStatus()
+								sessionStorage.removeItem("assignUser")
+							}
+						})
+						.catch((err) => {
+							console.log(err)
+						})
+				})
+				.catch(() => {
+					// on cancel
+				})
+		},
+		//纭鑷姩瀹屾垚鍛婅
+		completeAlarm() {
+			this.$dialog
+				.confirm({
+					title: "鎻愮ず",
+					message: "璇锋牳瀹炵‘璁�,璇ュ憡璀︽槸鍚﹀凡鑷姩娑堥櫎锛�",
+				})
+				.then(() => {
+					let postData = this.$units.deepClone(this.alarmInfo)
+					postData.status = 3
+					postData.userId = sessionStorage.getItem("userId")
+					updateWorkAlarm(postData)
+						.then((res) => {
+							let resData = JSON.parse(res.data.result)
+							if (resData.code == 1) {
+								this.$toast("纭鎴愬姛!")
+								this.loadStatus()
+							}
+						})
+						.catch((err) => {
+							console.log(err)
+						})
+				})
+				.catch(() => {
+					// on cancel
+				})
+		},
+		//鐐瑰嚮鍥剧墖鏄剧ず鍥剧墖棰勮灞�
+		toShowImgpreview(list) {
+			this.ImgPreviewList = list
+			this.showImgPreview = true
+		},
+		//鏌ヨ璁㈠崟褰撳墠鏈�鏂扮姸鎬�
+		loadStatus() {
+			let postData = {
+				id: this.alarmInfo.id,
+			}
+			searchStatusById(postData)
+				.then((res) => {
+					let resData = JSON.parse(res.data.result)
+					if (resData.code == 1) {
+						this.alarmInfo.status = resData.data.status
+						if (resData.data.dispatchTime) {
+							this.alarmInfo.dispatchTime = resData.data.dispatchTime
+						}
+						if (resData.data.managerId) {
+							this.alarmInfo.managerId = resData.data.managerId
+						}
+						if (
+							resData.data.userWorkList &&
+							resData.data.userWorkList.length > 0
+						) {
+							this.handleInfo = resData.data.userWorkList[0]
+							this.stepsActive = this.handleInfo.checkStatus - 1
+						}
+						if (this.alarmInfo.status != 3 && resData.data.flg == 0) {
+							this.isNoAlarm = true
+						} else {
+							this.isNoAlarm = false
+						}
+					}
+				})
+				.catch((err) => {
+					console.log(err)
+				})
+		},
+		//寮�濮嬪鐞�
+		startHandle() {
+			let postData = this.$units.deepClone(this.alarmInfo)
+			postData.status = 2
+			postData.userId = sessionStorage.getItem("userId")
+			updateWorkAlarm(postData)
+				.then((res) => {
+					let resData = JSON.parse(res.data.result)
+					if (resData.code == 1) {
+						this.toPage("add")
+					}
+				})
+				.catch((err) => {
+					console.log(err)
+				})
+		},
+		suggest(checkStatus) {
+			this.handleInfo.checkStatus = checkStatus
+			let endTime = this.$units.timeFormat(
+				new Date().getTime,
+				"yyyy-mm-dd hh:MM:ss"
+			)
+			this.handleInfo.endTime = endTime
+			if (this.handleInfo.note == "") {
+				this.$toast("璇疯緭鍏ュ鏍告剰瑙佲��")
+				return
+			}
+			updateUserWork(this.handleInfo)
+				.then((res) => {
+					let resData = JSON.parse(res.data.result)
+					if (resData.code == 1) {
+						this.$toast("瀹℃牳鎴愬姛!")
+						this.loadStatus()
+					}
+				})
+				.catch((err) => {
+					console.log(err)
+				})
+		},
+	},
+}
 </script>
 
 <style scoped>
-  .alarm-details {
-    width: 100%;
-    min-height: 100%;
-    background: #F5F5F5;
-  }
+.alarm-details {
+	width: 100%;
+	min-height: 100%;
+	background: #f5f5f5;
+}
 
-  .detailsCon {
-    padding: 24px;
-  }
+.detailsCon {
+	padding: 24px;
+}
 
-  .card {
-    background-color: #FFFFFF;
-    border-radius: 16px;
-    margin: 0 auto 24px;
-    width: 702px;
-    padding: 24px;
-    box-shadow: 0px 4px 20px 0px rgba(75, 136, 249, 0.2);
-  }
+.card {
+	background-color: #ffffff;
+	border-radius: 16px;
+	margin: 0 auto 24px;
+	width: 702px;
+	padding: 24px;
+	box-shadow: 0px 4px 20px 0px rgba(75, 136, 249, 0.2);
+}
 
-  .commonTitle {
-    font-size: 28px;
-    font-family: PingFangSC-Regular, PingFang SC;
-    font-weight: 400;
-    color: #333333;
-    line-height: 40px;
-    padding-bottom: 24px;
-    border-bottom: 1px solid #EEEEEE;
-    margin-bottom: 22px;
-    display: flex;
-  }
+.commonTitle {
+	font-size: 28px;
+	font-family: PingFangSC-Regular, PingFang SC;
+	font-weight: 400;
+	color: #333333;
+	line-height: 40px;
+	padding-bottom: 24px;
+	border-bottom: 1px solid #eeeeee;
+	margin-bottom: 22px;
+	display: flex;
+}
 
-  .cardTitle {
-    font-weight: bold;
-  }
+.cardTitle {
+	font-weight: bold;
+}
 
-  .commonTitle .label {
-    line-height: 40px;
-    display: inline-block;
-    width: 170px;
-  }
+.commonTitle .label {
+	line-height: 40px;
+	display: inline-block;
+	width: 170px;
+}
 
-  .commonTitle .text {
-    flex: 1;
-  }
+.commonTitle .text {
+	flex: 1;
+}
 
-  .subBtn {
-    width: 702px;
-    height: 98px;
-    background: #4B88F9;
-    border-radius: 8px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    color: #FFFFFF;
-    font-size: 36px;
-    margin-top: 48px;
-  }
+.subBtn {
+	width: 702px;
+	height: 98px;
+	background: #4b88f9;
+	border-radius: 8px;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	color: #ffffff;
+	font-size: 36px;
+	margin-top: 48px;
+}
 
-  .btnCon {
-    width: 100%;
-    display: flex;
-    align-items: center;
-  }
+.btnCon {
+	width: 100%;
+	display: flex;
+	align-items: center;
+}
 
-  .btnCon .subBtn {
-    flex: 1;
-    height: 98px;
-    background: #07c160;
-    border-radius: 8px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    color: #FFFFFF;
-    font-size: 36px;
-    margin-top: 48px;
-    margin-right: 24px;
-  }
+.btnCon .subBtn {
+	flex: 1;
+	height: 98px;
+	background: #07c160;
+	border-radius: 8px;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	color: #ffffff;
+	font-size: 36px;
+	margin-top: 48px;
+	margin-right: 24px;
+}
 
-  .btnCon .subBtn:last-of-type {
-    margin-right: 0;
-    background: #f9534b;
-  }
+.btnCon .subBtn:last-of-type {
+	margin-right: 0;
+	background: #f9534b;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1