添加audio相关插件,追踪页面,录音显示更换,图片展示,反馈视频展示
| | |
| | | "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", |
| | |
| | | "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" |
| | | }, |
| | |
| | | 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; |
| | |
| | | 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 |
| | |
| | | </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> |
| | |
| | | <el-input |
| | | disabled="true" |
| | | type="textarea" |
| | | v-model="security.snumber" |
| | | v-model="security.describe" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | |
| | |
| | | </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 |
| | |
| | | </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> |
| | |
| | | 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, |
| | |
| | | oldVideoSatart: false, |
| | | vaddress: null, |
| | | audios: [], |
| | | feedbackVideo: "", |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | mounted() { |
| | | this.getList(); |
| | | this.getAudios(); |
| | | this.getImgAndVideo(); |
| | | this.$refs.mapDiv.onload = () => { |
| | | window.frames[0].init("AlertSecurity", { |
| | | x: this.form.jd, |
| | |
| | | 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> |
| | |
| | | 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> |