录像播放

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==", "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
"dev": true "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": { "cacache": {
"version": "13.0.1", "version": "13.0.1",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
@ -1885,6 +1895,34 @@
"unique-filename": "^1.1.1" "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": { "debug": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@ -1915,6 +1953,25 @@
"path-exists": "^4.0.0" "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": { "locate-path": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@ -1985,6 +2042,16 @@
"minipass": "^3.1.1" "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": { "terser-webpack-plugin": {
"version": "2.3.8", "version": "2.3.8",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz",
@ -2001,6 +2068,18 @@
"terser": "^4.6.12", "terser": "^4.6.12",
"webpack-sources": "^1.4.3" "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": { "vue-ref": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz", "resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz",

@ -36,18 +36,7 @@
height="80%" height="80%"
:id="`camera${id}`" :id="`camera${id}`"
autoplay muted ></video> 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-list">
<div class="operation-item"> <div class="operation-item">
<img :src="zoomSubUrl" alt="" @mousedown="zoomDecStart" <img :src="zoomSubUrl" alt="" @mousedown="zoomDecStart"
@ -153,7 +142,7 @@
:scroll="{y:335}" :scroll="{y:335}"
> >
<span slot="name" slot-scope="text,record"> <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>
<span slot="position" slot-scope="text, record"> <span slot="position" slot-scope="text, record">
<div v-if="text"> <div v-if="text">
@ -162,47 +151,13 @@
覆盖 覆盖
</a-button> </a-button>
</div> </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> </a-button>
</span> </span>
</a-table> </a-table>
</div> </div>
</a-modal> </a-modal>
@ -303,7 +258,7 @@ export default {
}; };
}, },
mounted() { mounted() {
console.log('mounted执行了')
this.setVideoServer() this.setVideoServer()
if (this.$route.query.modelType == 'test') { if (this.$route.query.modelType == 'test') {
this.isShow = true this.isShow = true
@ -369,18 +324,19 @@ export default {
this.$emit('close', false, {}) this.$emit('close', false, {})
if(this.type=='test') { if(this.type=='test') {
this.$router.go(-1); this.$router.go(-1);
var vlc = document.getElementById('video-test'); this.player.destroy()
vlc.playlist.items.clear()
}else if(this.type=='config') { }else if(this.type=='config') {
this.$router.go(-1); this.$router.go(-1);
var vlc = document.getElementById('video-config'); this.player.destroy()
vlc.playlist.items.clear()
} }
}, },
autoPlay(id){ autoPlay(id){
let video = document.getElementById('camera'+id); let video = document.getElementById('camera'+id);
let player = new WebRtcPlayer(video,'camera'+id); console.log(video)
player.load('camera'+id); if(this.player == null){
this.player = new WebRtcPlayer(video,'camera'+id);
}
this.player.load('camera'+id);
}, },
setVideoServer(){ setVideoServer(){
this.$api.httpApi.getVideoServer({ 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){ coverage(type,data){
console.log(this.id)
console.log(data.id)
console.log(type)
this.$api.httpApi.writeInCameraIoptz({ this.$api.httpApi.writeInCameraIoptz({
data: { data: {
cameraId: this.id, cameraId: this.id,

@ -28,7 +28,7 @@
<span <span
class="default" class="default"
:id="`${shelveId}-${row}-${column}`" :id="`${shelveId}-${row}-${column}`"
@click="tocheck(row,column,shelveId)"> @click="tocheckPage(row,column)">
{{row}}-{{column}} {{row}}-{{column}}
</span> </span>
</div> </div>
@ -96,6 +96,30 @@ export default {
return {} return {}
} }
}, },
streetId: {
type: Number,
default: () => {
return {}
}
},
streetName: {
type: String,
default: () => {
return {}
}
},
type: {
type: String,
default: () => {
return {}
}
},
inOut: {
type: String,
default: () => {
return {}
}
},
}, },
computed: { computed: {
@ -114,9 +138,10 @@ export default {
column: this.getRandomColumn(this.select.column), column: this.getRandomColumn(this.select.column),
} }
}, },
watchShelveIdInfo() { watchShelveIdInfo(){
return this.shelveId; return this.shelveId;
}, }
}, },
watch: { watch: {
@ -139,7 +164,7 @@ export default {
this.getStatus(); this.getStatus();
}, },
created() { created() {
this.getStatus(); //this.getStatus();
//this.changeTab('1-1') //this.changeTab('1-1')
}, },
destroyed() { destroyed() {
@ -240,11 +265,11 @@ export default {
}); });
}, },
toCheck(row,column,shelveId){ tocheckPage(row,column){
this.$router.push({ this.$router.push({
name: 'checkOperation', 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>
<div class="check-content" v-for="item in data" :key="item.id"> <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"> <!-- <template v-slot="scope">
<div class="roadway-top"> <div class="roadway-top">
<div class="roadway-box"> <div class="roadway-box">
@ -91,7 +91,7 @@
</div> </div>
<div class="check-content" v-for="item in data" :key="item.name"> <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"> <!-- <template v-slot="scope">
<div class="roadway-buttom"> <div class="roadway-buttom">
<div class="roadway-box"> <div class="roadway-box">
@ -131,46 +131,49 @@ export default {
left: {}, left: {},
right: {} right: {}
}, },
timer: null timer: null,
shelveId: '',
leftShelveId:{},
rightShelveId:{}
} }
}, },
computed: { computed: {
// //
leftShelveId() { // leftShelveId() {
let shelveId; // let shelveId;
let shelveType = 'none'; // let shelveType = 'none';
if(this.streetDetail.leftShelveId) { // if(this.streetDetail.leftShelveId) {
shelveId = this.streetDetail.leftShelveId; // shelveId = this.streetDetail.leftShelveId;
}else if(this.streetDetail.leftInsideShelveId && this.size =='leftInsideShelveId'){ // }else if(this.streetDetail.leftInsideShelveId && this.size =='leftInsideShelveId'){
shelveId = this.streetDetail.leftInsideShelveId; // shelveId = this.streetDetail.leftInsideShelveId;
shelveType = 'inside'; // shelveType = 'inside';
}else if(this.streetDetail.leftOutsideShelveId && this.size== 'leftOutsideShelveId'){ // }else if(this.streetDetail.leftOutsideShelveId && this.size== 'leftOutsideShelveId'){
shelveId = this.streetDetail.leftOutsideShelveId; // shelveId = this.streetDetail.leftOutsideShelveId;
shelveType = 'out'; // shelveType = 'out';
}; // };
return { // return {
shelveId, // shelveId,
shelveType // shelveType
}; // };
}, // },
// //
rightShelveId() { // rightShelveId() {
let shelveId; // let shelveId;
let shelveType = 'none'; // let shelveType = 'none';
if(this.streetDetail.rightShelveId) { // if(this.streetDetail.rightShelveId) {
shelveId = this.streetDetail.rightShelveId; // shelveId = this.streetDetail.rightShelveId;
}else if(this.streetDetail.rightInsideShelveId && this.size2 =='rightInsideShelveId'){ // }else if(this.streetDetail.rightInsideShelveId && this.size2 =='rightInsideShelveId'){
shelveId = this.streetDetail.rightInsideShelveId; // shelveId = this.streetDetail.rightInsideShelveId;
shelveType = 'inside'; // shelveType = 'inside';
}else if(this.streetDetail.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){ // }else if(this.streetDetail.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){
shelveId = this.streetDetail.rightOutsideShelveId; // shelveId = this.streetDetail.rightOutsideShelveId;
shelveType = 'out'; // shelveType = 'out';
}; // };
return { // return {
shelveId, // shelveId,
shelveType // shelveType
}; // };
} // }
}, },
mounted() { mounted() {
this.request(); this.request();
@ -193,46 +196,47 @@ export default {
}).then(res => { }).then(res => {
this.data = res.data.list; this.data = res.data.list;
this.select = res.data.list[0].id this.select = res.data.list[0].id
//this.getStockList(res.data.list[0].id)
this.getStreetDetail(res.data.list[0].id); this.getStreetDetail(res.data.list[0].id);
this.getStockRowColumn();
}).catch(err => { }).catch(err => {
}); });
}, },
// //
async getStockRowColumn() { async getStockRowColumn() {
const init = () => { this.rightShelveChange();
let row = this.data.filter(item => item.id === this.select)[0]; this.leftShelveChange();
let leftShelveId = null, rightShelveId = null;
},
if(row.leftInsideShelveId && this.size == 'leftInsideShelveId') { rightShelveChange() {
leftShelveId = row.leftInsideShelveId; let shelveId;
}else if(row.leftOutsideShelveId && this.size == 'leftOutsideShelveId'){ let shelveType = 'none';
leftShelveId = row.leftOutsideShelveId; if(this.streetDetail.rightShelveId) {
}else if(row.leftShelveId) { shelveId = this.streetDetail.rightShelveId;
leftShelveId = row.leftShelveId; }else if(this.streetDetail.rightInsideShelveId && this.size2 =='rightInsideShelveId'){
} shelveId = this.streetDetail.rightInsideShelveId;
shelveType = 'inside';
if(row.rightInsideShelveId && this.size2 == 'rightInsideShelveId') { }else if(this.streetDetail.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){
rightShelveId = row.rightInsideShelveId; shelveId = this.streetDetail.rightOutsideShelveId;
}else if(row.rightOutsideShelveId && this.size2 == 'rightOutsideShelveId'){ shelveType = 'out';
rightShelveId = row.rightOutsideShelveId; };
}else if(row.rightShelveId) { this.rightShelveId.shelveId = shelveId;
rightShelveId = row.rightShelveId; this.rightShelveId.shelveType = shelveType;
}
let params = { },
leftShelveId, leftShelveChange() {
rightShelveId let shelveId;
}; let shelveType = 'none';
// this.$api.httpNodeApi.getStockRowColumnAPI({params}).then(({data})=>{ if(this.streetDetail.leftShelveId) {
// this.$set(this, 'stockInfo', data); shelveId = this.streetDetail.leftShelveId;
// // this.stockInfo = data; }else if(this.streetDetail.leftInsideShelveId && this.size =='leftInsideShelveId'){
// }); shelveId = this.streetDetail.leftInsideShelveId;
} shelveType = 'inside';
this.timer && clearInterval(this.timer); }else if(this.streetDetail.leftOutsideShelveId && this.size== 'leftOutsideShelveId'){
init(); shelveId = this.streetDetail.leftOutsideShelveId;
this.timer = setInterval(init, 5000); shelveType = 'out';
};
this.leftShelveId.shelveId = shelveId;
this.leftShelveId.shelveType = shelveType;
}, },
getStatus(data, rowCol) { getStatus(data, rowCol) {
return (data[rowCol] || {}).status; return (data[rowCol] || {}).status;
@ -248,43 +252,29 @@ export default {
data: {} data: {}
}).then(res => { }).then(res => {
this.streetDetail = res.data this.streetDetail = res.data
this.leftShelveChange();
this.rightShelveChange();
}).catch(err => { }).catch(err => {
}) })
}, },
//
// getStockList(streetId) {
// this.$api.httpApi.getStockList({
// params: {
// streetId: streetId,
// }
// }).then(res => {
// this.checkList = res.data
// }).catch(err => {
// });
// },
handleChange(value) { handleChange(value) {
this.select = value this.select = value
this.getStreetDetail(value) this.getStreetDetail(value)
//this.getStockList(value); //this.getStockList(value);
this.getStockRowColumn() //this.getStockRowColumn()
this.leftShelveChange();
this.rightShelveChange();
}, },
tocheckOperation(checkObj, item) { tocheckOperation(checkObj, item) {
console.log(checkObj) console.log(checkObj)
console.log(item) console.log(item)
this.$router.push({name: 'checkOperation', query: {checkObj: checkObj, item: 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() { exportStock() {
this.$api.httpApi.exportStock({ this.$api.httpApi.exportStock({
params: { params: {

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

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

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

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

Loading…
Cancel
Save