录像播放

merge-requests/1/head
qiushui 4 years ago
parent 758e5a2f35
commit 5e41794e6f

160
package-lock.json generated

@ -1859,6 +1859,16 @@
"integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"cacache": {
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
@ -1885,6 +1895,34 @@
"unique-filename": "^1.1.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@ -1915,6 +1953,25 @@
"path-exists": "^4.0.0"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
"integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@ -1985,6 +2042,16 @@
"minipass": "^3.1.1"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"terser-webpack-plugin": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz",
@ -2001,6 +2068,18 @@
"terser": "^4.6.12",
"webpack-sources": "^1.4.3"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
}
}
},
@ -13783,87 +13862,6 @@
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
"integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-ref": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz",

@ -36,18 +36,7 @@
height="80%"
:id="`camera${id}`"
autoplay muted ></video>
<!-- <object id="video-test" type='application/x-vlc-plugin' events='True' width="100%"
height="100%" pluginspage="http://www.videolan.org"
codebase="http://downloads.videolan.org/pub/videolan/vlc-webplugins/2.0.6/npapi-vlc-2.0.6.tar.xz">
<param name='controls' value='false'/>
<param name='text' value='正在加载视频中...'/>
<param name='branding' value='false'/>
<param name="windowless" value="true">
<embed type="application/x-google-vlc-plugin"/>
</object>
<div class="video-close" @click="handleCancel">
</div> -->
<div class="operation-list">
<div class="operation-item">
<img :src="zoomSubUrl" alt="" @mousedown="zoomDecStart"
@ -153,7 +142,7 @@
:scroll="{y:335}"
>
<span slot="name" slot-scope="text,record">
<a-button type="link" @click="toPtz(record)">{{text}}</a-button>
<a-button type="link" @click="toPtz(record)">{{text}}({{record.code}})</a-button>
</span>
<span slot="position" slot-scope="text, record">
<div v-if="text">
@ -162,47 +151,13 @@
覆盖
</a-button>
</div>
<a-button type="primary" class="plc" v-else @click="writeIn(0,record)">
<a-button type="primary" class="plc" v-else @click="coverage(0,record)">
写入
</a-button>
</span>
<span slot="focusing" slot-scope="text, record">
<div v-if="text">
已写入
<a-button type="link" class="plc" @click="coverage(1,record)">
覆盖
</a-button>
</div>
<a-button type="primary" class="plc" v-else @click="writeIn(1,record)">
写入
</a-button>
</span>
<span slot="multiple" slot-scope="text, record">
<div v-if="text">
已写入
<a-button type="link" class="plc" @click="coverage(2,record)">
覆盖
</a-button>
</div>
<a-button type="primary" class="plc" v-else @click="writeIn(2,record)">
写入
</a-button>
</span>
<span slot="aperture" slot-scope="text, record">
<div v-if="text">
已写入
<a-button type="link" class="plc" @click="coverage(3,record)">
覆盖
</a-button>
</div>
<a-button type="primary" class="plc" v-else @click="writeIn(3,record)">
写入
</a-button>
</span>
</a-table>
</div>
</a-modal>
@ -303,7 +258,7 @@ export default {
};
},
mounted() {
console.log('mounted执行了')
this.setVideoServer()
if (this.$route.query.modelType == 'test') {
this.isShow = true
@ -369,18 +324,19 @@ export default {
this.$emit('close', false, {})
if(this.type=='test') {
this.$router.go(-1);
var vlc = document.getElementById('video-test');
vlc.playlist.items.clear()
this.player.destroy()
}else if(this.type=='config') {
this.$router.go(-1);
var vlc = document.getElementById('video-config');
vlc.playlist.items.clear()
this.player.destroy()
}
},
autoPlay(id){
let video = document.getElementById('camera'+id);
let player = new WebRtcPlayer(video,'camera'+id);
player.load('camera'+id);
console.log(video)
if(this.player == null){
this.player = new WebRtcPlayer(video,'camera'+id);
}
this.player.load('camera'+id);
},
setVideoServer(){
this.$api.httpApi.getVideoServer({
@ -407,29 +363,9 @@ export default {
});
},
writeIn(type,data){
console.log(this.id)
console.log(data.id)
console.log(type)
this.$api.httpApi.writeInCameraIoptz({
data: {
cameraId: this.id,
cameraIOId: data.id,
name: data.name,
code: data.code,
type: type
}
}).then(res => {
console.log(res)
this.getConfigIoList()
}).catch(err => {
});
},
coverage(type,data){
console.log(this.id)
console.log(data.id)
console.log(type)
this.$api.httpApi.writeInCameraIoptz({
data: {
cameraId: this.id,

@ -28,7 +28,7 @@
<span
class="default"
:id="`${shelveId}-${row}-${column}`"
@click="tocheck(row,column,shelveId)">
@click="tocheckPage(row,column)">
{{row}}-{{column}}
</span>
</div>
@ -96,6 +96,30 @@ export default {
return {}
}
},
streetId: {
type: Number,
default: () => {
return {}
}
},
streetName: {
type: String,
default: () => {
return {}
}
},
type: {
type: String,
default: () => {
return {}
}
},
inOut: {
type: String,
default: () => {
return {}
}
},
},
computed: {
@ -114,9 +138,10 @@ export default {
column: this.getRandomColumn(this.select.column),
}
},
watchShelveIdInfo() {
watchShelveIdInfo(){
return this.shelveId;
},
}
},
watch: {
@ -139,7 +164,7 @@ export default {
this.getStatus();
},
created() {
this.getStatus();
//this.getStatus();
//this.changeTab('1-1')
},
destroyed() {
@ -240,10 +265,10 @@ export default {
});
},
toCheck(row,column,shelveId){
tocheckPage(row,column){
this.$router.push({
name: 'checkOperation',
query: {row: row, column: column, shelveId: shelveId}
query: {row: row, column: column, shelveId: this.shelveId, id: this.streetId, name:this.streetName, type: this.type, type2: this.inOut}
})
}
}

@ -48,7 +48,7 @@
</div>
<div class="check-content" v-for="item in data" :key="item.id">
<subsection v-if="item.id == select" :total="{row: item.leftRow, column: item.leftColumn}" :shelveId="leftShelveId.shelveId">
<subsection v-if="item.id == select" :total="{row: item.leftRow, column: item.leftColumn}" :shelveId="leftShelveId.shelveId" :streetId="item.id" :streetName="item.name" type="left" :inOut="leftShelveId.shelveType" >
<!-- <template v-slot="scope">
<div class="roadway-top">
<div class="roadway-box">
@ -91,7 +91,7 @@
</div>
<div class="check-content" v-for="item in data" :key="item.name">
<subsection v-if="item.id == select" :total="{row:item.leftRow, column: item.leftColumn}" :shelveId="rightShelveId.shelveId">
<subsection v-if="item.id == select" :total="{row:item.leftRow, column: item.leftColumn}" :shelveId="rightShelveId.shelveId" :streetId="item.id" :streetName="item.name" type="right" :inOut="rightShelveId.shelveType">
<!-- <template v-slot="scope">
<div class="roadway-buttom">
<div class="roadway-box">
@ -131,46 +131,49 @@ export default {
left: {},
right: {}
},
timer: null
timer: null,
shelveId: '',
leftShelveId:{},
rightShelveId:{}
}
},
computed: {
//
leftShelveId() {
let shelveId;
let shelveType = 'none';
if(this.streetDetail.leftShelveId) {
shelveId = this.streetDetail.leftShelveId;
}else if(this.streetDetail.leftInsideShelveId && this.size =='leftInsideShelveId'){
shelveId = this.streetDetail.leftInsideShelveId;
shelveType = 'inside';
}else if(this.streetDetail.leftOutsideShelveId && this.size== 'leftOutsideShelveId'){
shelveId = this.streetDetail.leftOutsideShelveId;
shelveType = 'out';
};
return {
shelveId,
shelveType
};
},
// leftShelveId() {
// let shelveId;
// let shelveType = 'none';
// if(this.streetDetail.leftShelveId) {
// shelveId = this.streetDetail.leftShelveId;
// }else if(this.streetDetail.leftInsideShelveId && this.size =='leftInsideShelveId'){
// shelveId = this.streetDetail.leftInsideShelveId;
// shelveType = 'inside';
// }else if(this.streetDetail.leftOutsideShelveId && this.size== 'leftOutsideShelveId'){
// shelveId = this.streetDetail.leftOutsideShelveId;
// shelveType = 'out';
// };
// return {
// shelveId,
// shelveType
// };
// },
//
rightShelveId() {
let shelveId;
let shelveType = 'none';
if(this.streetDetail.rightShelveId) {
shelveId = this.streetDetail.rightShelveId;
}else if(this.streetDetail.rightInsideShelveId && this.size2 =='rightInsideShelveId'){
shelveId = this.streetDetail.rightInsideShelveId;
shelveType = 'inside';
}else if(this.streetDetail.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){
shelveId = this.streetDetail.rightOutsideShelveId;
shelveType = 'out';
};
return {
shelveId,
shelveType
};
}
// rightShelveId() {
// let shelveId;
// let shelveType = 'none';
// if(this.streetDetail.rightShelveId) {
// shelveId = this.streetDetail.rightShelveId;
// }else if(this.streetDetail.rightInsideShelveId && this.size2 =='rightInsideShelveId'){
// shelveId = this.streetDetail.rightInsideShelveId;
// shelveType = 'inside';
// }else if(this.streetDetail.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){
// shelveId = this.streetDetail.rightOutsideShelveId;
// shelveType = 'out';
// };
// return {
// shelveId,
// shelveType
// };
// }
},
mounted() {
this.request();
@ -193,46 +196,47 @@ export default {
}).then(res => {
this.data = res.data.list;
this.select = res.data.list[0].id
//this.getStockList(res.data.list[0].id)
this.getStreetDetail(res.data.list[0].id);
this.getStockRowColumn();
}).catch(err => {
});
},
//
async getStockRowColumn() {
const init = () => {
let row = this.data.filter(item => item.id === this.select)[0];
let leftShelveId = null, rightShelveId = null;
this.rightShelveChange();
this.leftShelveChange();
if(row.leftInsideShelveId && this.size == 'leftInsideShelveId') {
leftShelveId = row.leftInsideShelveId;
}else if(row.leftOutsideShelveId && this.size == 'leftOutsideShelveId'){
leftShelveId = row.leftOutsideShelveId;
}else if(row.leftShelveId) {
leftShelveId = row.leftShelveId;
}
},
rightShelveChange() {
let shelveId;
let shelveType = 'none';
if(this.streetDetail.rightShelveId) {
shelveId = this.streetDetail.rightShelveId;
}else if(this.streetDetail.rightInsideShelveId && this.size2 =='rightInsideShelveId'){
shelveId = this.streetDetail.rightInsideShelveId;
shelveType = 'inside';
}else if(this.streetDetail.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){
shelveId = this.streetDetail.rightOutsideShelveId;
shelveType = 'out';
};
this.rightShelveId.shelveId = shelveId;
this.rightShelveId.shelveType = shelveType;
if(row.rightInsideShelveId && this.size2 == 'rightInsideShelveId') {
rightShelveId = row.rightInsideShelveId;
}else if(row.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){
rightShelveId = row.rightOutsideShelveId;
}else if(row.rightShelveId) {
rightShelveId = row.rightShelveId;
}
let params = {
leftShelveId,
rightShelveId
};
// this.$api.httpNodeApi.getStockRowColumnAPI({params}).then(({data})=>{
// this.$set(this, 'stockInfo', data);
// // this.stockInfo = data;
// });
}
this.timer && clearInterval(this.timer);
init();
this.timer = setInterval(init, 5000);
},
leftShelveChange() {
let shelveId;
let shelveType = 'none';
if(this.streetDetail.leftShelveId) {
shelveId = this.streetDetail.leftShelveId;
}else if(this.streetDetail.leftInsideShelveId && this.size =='leftInsideShelveId'){
shelveId = this.streetDetail.leftInsideShelveId;
shelveType = 'inside';
}else if(this.streetDetail.leftOutsideShelveId && this.size== 'leftOutsideShelveId'){
shelveId = this.streetDetail.leftOutsideShelveId;
shelveType = 'out';
};
this.leftShelveId.shelveId = shelveId;
this.leftShelveId.shelveType = shelveType;
},
getStatus(data, rowCol) {
return (data[rowCol] || {}).status;
@ -248,43 +252,29 @@ export default {
data: {}
}).then(res => {
this.streetDetail = res.data
this.leftShelveChange();
this.rightShelveChange();
}).catch(err => {
})
},
//
// getStockList(streetId) {
// this.$api.httpApi.getStockList({
// params: {
// streetId: streetId,
// }
// }).then(res => {
// this.checkList = res.data
// }).catch(err => {
// });
// },
handleChange(value) {
this.select = value
this.getStreetDetail(value)
//this.getStockList(value);
this.getStockRowColumn()
//this.getStockRowColumn()
this.leftShelveChange();
this.rightShelveChange();
},
tocheckOperation(checkObj, item) {
console.log(checkObj)
console.log(item)
this.$router.push({name: 'checkOperation', query: {checkObj: checkObj, item: item}})
},
tocheck(row, column, shelveId, id, name, type, type2) {
console.log(type)
console.log(type2)
this.$router.push({
name: 'checkOperation',
query: {row: row, column: column, shelveId: shelveId, id: id, name, type: type, type2: type2}
})
},
exportStock() {
this.$api.httpApi.exportStock({
params: {

@ -16,6 +16,7 @@
format="YYYY-MM-DD HH:mm"
:show-time="{
defaultValue: [moment('00:00', 'HH:mm'), moment('23:59', 'HH:mm')],
//defaultValue: [moment('00:00', 'YYYY-MM-DD HH:mm'), moment('23:59', 'YYYY-MM-DD HH:mm')],
}"
>
<a-icon slot="suffixIcon" type="calendar"/>
@ -63,25 +64,24 @@
</span>
</span>
<span slot="videoPath1" slot-scope="text">
<a-button type="link" v-if="text.videoPath1" @click="showModel(text.videoPath1)">
<a-button type="link" @click="showModel(text)">
查看视频
</a-button>
<span v-else>
--
</span>
</span>
<span slot="videoPath2" slot-scope="text">
<!-- <span slot="videoPath2" slot-scope="text">
<a-button type="link" v-if="text.videoPath2" @click="showModel(text.videoPath2)">
查看视频
</a-button>
<span v-else>
--
</span>
</span>
</span> -->
</a-table>
<Model
:visible.sync="visible"
:vid.sync="vid"
:vid1.sync="vid1"
:vid2.sync="vid2"
@close="closeModel"
/>
</div>
@ -151,18 +151,15 @@ export default {
dataIndex: "timeLength",
},
{
title: "球机1",
title: "视频录像",
// dataIndex: "videoPath1",
scopedSlots: {customRender: 'videoPath1'}
},
{
title: "球机2",
// dataIndex: "videoPath2",
scopedSlots: {customRender: 'videoPath2'}
},
}
],
visible: false,
vid: ''
vid1: '',
vid2: ''
}
},
mounted() {
@ -226,14 +223,16 @@ export default {
this.queryParam.startTimestamp = ""
this.queryParam.endTimestamp = ""
},
showModel(path) {
showModel(record) {
this.visible = true
this.vid = videoUrl + path;
this.vid1 = videoUrl + record.videoPath1;
console.log(this.vid1)
this.vid2 = videoUrl + record.videoPath2;
},
closeModel(visible, data) {
this.visible = visible
this.vid = data
this.vid1 = data
},
reset() {
this.queryParam.startTimestamp = ""

@ -16,13 +16,23 @@
</div>
<div class="test_two_box">
<video
id="myVideo"
class="video-js"
:autoplay="true"
controls
>
<source
:src="video"
:src="video1"
type="video/mp4"
>
</video>
<video
class="video-js"
:autoplay="true"
controls
>
<source
:src="video2"
type="video/mp4"
>
</video>
@ -64,17 +74,26 @@
</style>
<script>
export default {
props: ['visible', 'vid'],
props: ['visible', 'vid1','vid2'],
watch: {
//visibleisShowprops
visible: function (newVal) {
this.isShow = newVal; //newValvisible
// newVal && this.showConfirm(); //newValshowConfirm
},
vid: function (newVal) {
console.log(newVal)
console.log(1111111)
this.video = newVal
vid1: function (newVal) {
this.video1 = newVal
console.log(this.video1)
this.$nextTick(() => { //this.$nextTick
})
},
vid2: function (newVal) {
this.video2 = newVal
console.log(this.video2)
this.$nextTick(() => { //this.$nextTick
})
@ -85,11 +104,12 @@ export default {
return {
isShow: false,
confirmLoading: false,
video: '',
video1: '',
video2: '',
};
},
mounted() {
console.log('mounted执行了')
},
methods: {
handleCancel() {

@ -49,13 +49,10 @@ const columns = [
}
},
{
title: '品规',
dataIndex: 'category',
},
{
title: '数量',
dataIndex: 'count',
title: '条码',
dataIndex: 'code',
},
{
title: '货位',
scopedSlots: {customRender: 'actions'}

@ -31,12 +31,28 @@ module.exports = {
'/api/node':''
}
},
'/api/pic': {
target: 'http://127.0.0.1:9007/api/pic',
logLevel:'debug',
pathRewrite:{
'/api/pic':''
}
},
'/api/mp4': {
target: 'http://127.0.0.1:9007/api/mp4',
logLevel:'debug',
pathRewrite:{
'/api/mp4':''
}
},
'/api': {
target: 'http://127.0.0.1:8099',
// target: 'http://115.236.65.98:13001/monitor',
// target: 'http://127.0.0.1:9007',
logLevel:'debug', //控制台终端打印代理前的真实地址
},
},
port: 8008
},

Loading…
Cancel
Save