From ca51ffc536988ce0e55b82b27c2f7a8bd5141976 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 21 Apr 2021 17:10:50 +0800
Subject: [PATCH] 添加audio相关插件,追踪页面,录音显示更换,图片展示,反馈视频展示
---
package-lock.json | 10 +++
src/main.js | 2
src/views/policeTracking/policeTracking.vue | 132 +++++++++++++++++++++-----------------------
package.json | 1
4 files changed, 76 insertions(+), 69 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 5884a59..2fea7e5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11817,6 +11817,16 @@
"vue-style-loader": "^4.1.0"
}
},
+ "vue-mobile-audio": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npm.taobao.org/vue-mobile-audio/download/vue-mobile-audio-0.1.3.tgz",
+ "integrity": "sha1-LTrV14UgV5RC/JZzpzD68AoxGJY=",
+ "requires": {
+ "vue": "^2.5.17",
+ "vue-router": "^3.0.1",
+ "vuex": "^3.0.1"
+ }
+ },
"vue-router": {
"version": "3.4.9",
"resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.9.tgz?cache=0&sync_timestamp=1610356181553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.9.tgz",
diff --git a/package.json b/package.json
index a52bed6..9bc4865 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"vue": "^2.6.10",
"vue-axios": "^2.1.2",
"vue-i18n": "^8.7.0",
+ "vue-mobile-audio": "^0.1.3",
"vue-router": "^3.0.1",
"vuex": "^3.1.1"
},
diff --git a/src/main.js b/src/main.js
index eced8de..1485fae 100644
--- a/src/main.js
+++ b/src/main.js
@@ -25,6 +25,8 @@
import website from '@/config/website';
import crudCommon from '@/mixins/crud';
import * as echarts from 'echarts';
+import audio from 'vue-mobile-audio';
+Vue.use(audio);
Vue.prototype.$echarts = echarts;
// 注册全局crud驱动
window.$crudCommon = crudCommon;
diff --git a/src/views/policeTracking/policeTracking.vue b/src/views/policeTracking/policeTracking.vue
index df39cc2..5fbd3e5 100644
--- a/src/views/policeTracking/policeTracking.vue
+++ b/src/views/policeTracking/policeTracking.vue
@@ -295,16 +295,19 @@
class="el-collapse-item__header focusing is-active"
>
<div class="avue-group__header avue-group">
- <i class="el-icon-document avue-group__icon"></i>
+ <i class="el-icon-phone avue-group__icon"></i>
<h1 class="avue-group__title">对讲信息</h1>
</div>
</div>
</div>
- <el-card class="receiving-alarm-box">
- <div v-for="(item, index) in audios" :key="index" style="margin: 10px 0; width: 100%; height: 40px;">
- <audio :src="item.address" style="width: 40%; height: 100%;" controls></audio>
- </div>
+ <el-card class="audios-box">
+ <m-audio
+ :block="false"
+ v-for="(item, index) in audios"
+ :key="index"
+ :src="item.address"
+ ></m-audio>
</el-card>
<div
@@ -362,39 +365,10 @@
</el-row>
<el-row>
<el-col span="12">
- <el-form-item label="性别">
- <el-input
- disabled="true"
- v-model="security.sex"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col span="12">
- <el-form-item label="年龄">
- <el-input
- disabled="true"
- v-model="security.age"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col span="12">
<el-form-item label="联系电话">
<el-input
disabled="true"
v-model="security.phone"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-col>
- <el-col span="12">
- <el-form-item label="家庭住址">
- <el-input
- disabled="true"
- v-model="security.address"
autocomplete="off"
></el-input>
</el-form-item>
@@ -432,7 +406,7 @@
<el-input
disabled="true"
type="textarea"
- v-model="security.snumber"
+ v-model="security.describe"
autocomplete="off"
></el-input>
@@ -455,23 +429,14 @@
</div>
</div>
</div>
- <div>
+ <el-card class="scene-image-box">
<el-image
- :src="src"
+ v-for="(item, index) in imgSrc"
+ :key="index"
+ :src="item"
:preview-src-list="srcList"
- style="width: 150px; margin-left: 5px"
></el-image>
- <el-image
- :src="src"
- :preview-src-list="srcList"
- style="width: 150px; margin-left: 5px"
- ></el-image>
- <el-image
- :src="src"
- :preview-src-list="srcList"
- style="width: 150px; margin-left: 5px"
- ></el-image>
- </div>
+ </el-card>
</div>
<div class="block">
<div
@@ -493,11 +458,11 @@
</div>
</div>
<div>
- <el-image :src="src" style="width: 150px; margin-left: 5px">
- <div slot="placeholder" class="image-slot">
- 加载中<span class="dot">...</span>
- </div>
- </el-image>
+ <video
+ :src="feedbackVideo"
+ style="width: 100%; height: 100%; object-fit: fill"
+ controls
+ ></video>
</div>
</div>
</div>
@@ -560,21 +525,9 @@
flag: true,
selectOptions: [],
receivingList: [],
- security: {
- snumber: 20018,
- sname: "金同涛",
- sex: "男",
- age: 23,
- phone: 1387975426,
- address: "江西省南昌市西湖区",
- },
- src:
- "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
- srcList: [
- "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
- "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
- "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
- ],
+ security: {},
+ imgSrc: [],
+ srcList: [],
form: {},
itemOption: {
menuBtn: false,
@@ -634,6 +587,7 @@
oldVideoSatart: false,
vaddress: null,
audios: [],
+ feedbackVideo: "",
};
},
created() {
@@ -645,6 +599,7 @@
mounted() {
this.getList();
this.getAudios();
+ this.getImgAndVideo();
this.$refs.mapDiv.onload = () => {
window.frames[0].init("AlertSecurity", {
x: this.form.jd,
@@ -889,6 +844,22 @@
this.audios = resdata.data.data.records;
});
},
+
+ getImgAndVideo() {
+ axios({
+ method: "post",
+ url: "/api/blade-jfpts/feedback/feedback/selectFeedEdit",
+ params: {
+ jid: this.form.id,
+ },
+ }).then((resdata) => {
+ console.log(resdata.data.data[0], 56569);
+ this.security = resdata.data.data[0].List[0];
+ this.imgSrc = resdata.data.data[0].tp;
+ this.srcList = resdata.data.data[0].tp;
+ this.feedbackVideo = resdata.data.data[0].sp[0];
+ });
+ },
},
};
</script>
@@ -912,4 +883,27 @@
padding: 0 10px !important;
}
}
+
+.audios-box,
+.scene-image-box {
+ line-height: 32px !important;
+ height: auto;
+ max-height: 200px;
+ overflow-y: auto;
+ .el-card__body {
+ display: flex;
+ padding: 0 10px !important;
+ flex-wrap: wrap;
+ justify-content: center;
+ align-items: center;
+ .x-audio-wrap.inline {
+ margin: 10px;
+ }
+ .el-image {
+ margin: 10px;
+ width: 160px;
+ height: 80px;
+ }
+ }
+}
</style>
--
Gitblit v1.9.3