| | |
| | | url: '/data/api-c/lkg/uploadLKGExcel', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | |
| | | export const getLKGData = () => |
| | | request({ |
| | | url: '/data/api-c/lkg/getLKGData', |
| | | method: 'get', |
| | | }) |
| | |
| | | if (row.type === 1) { |
| | | |
| | | this.videoUrl = "/files/" + row.identifier + ".mp4" |
| | | |
| | | // 为朔黄使用数据栈定制, 没有MD5 |
| | | if (row.identifier == "") { |
| | | this.videoUrl = row.path; |
| | | this.videoUrl = row.path.replace("/opt/vasystem", ""); |
| | | } |
| | | } else if (row.type === 2) { |
| | | this.imgUrl = "/files/" + row.path.substr(row.path.lastIndexOf('/') + 1) |
| | |
| | | multiple |
| | | /> |
| | | </div> |
| | | |
| | | <div class="lkg-list"> |
| | | <el-table :data="lkgData" stripe style="width: 100%"> |
| | | <el-table-column type="index" width="100" label="序号"></el-table-column> |
| | | <el-table-column prop="CarNumber" label="机车号"></el-table-column> |
| | | <el-table-column prop="TrainNumber" label="车次"></el-table-column> |
| | | <el-table-column prop="Driver1" label="司机"></el-table-column> |
| | | <el-table-column prop="Driver2" label="副司机"></el-table-column> |
| | | <el-table-column prop="StartTime" label="开始时间"></el-table-column> |
| | | <el-table-column prop="EndTime" label="结束时间"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { uploadLKG } from "@/api/shuohuang" |
| | | import { uploadLKG, getLKGData } from "@/api/shuohuang" |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | uploading: false |
| | | uploading: false, |
| | | lkgData: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.fetchLKGData(); |
| | | }, |
| | | methods: { |
| | | uploadDirectoryTrigger() { |
| | |
| | | this.$message.success("上传成功") |
| | | } |
| | | _this.uploading = false; |
| | | this.fetchLKGData(); |
| | | }).catch(err => { |
| | | this.$message.warning("上传失败", err) |
| | | _this.uploading = false; |
| | | }) |
| | | }, |
| | | fetchLKGData() { |
| | | getLKGData().then(rsp => { |
| | | if (rsp && rsp.success) { |
| | | this.lkgData = rsp.data; |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | text-align: left; |
| | | margin: 10px 20px; |
| | | } |
| | | |
| | | .lkg-list { |
| | | margin: 10px 20px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | keyword: "", |
| | | IsFollow: "", |
| | | searchTime: [ |
| | | new Date(2021, 0, 1, 0, 0, 0), |
| | | new Date(2020, 0, 1, 0, 0, 0), |
| | | new Date(2021, 11, 31, 23, 59, 59), |
| | | ], |
| | | curTabPage: 1, |
| | |
| | | @pause="isStop = true" |
| | | @play="isStop = false" |
| | | @timeupdate="timeUpdate" |
| | | :source="curVideo.VideoPath" |
| | | :source="curVideo.VideoPath | fixPath" |
| | | :markers="curVideo.marks" |
| | | :ref="`player_${curVideo.ID}`" |
| | | /> |
| | |
| | | > |
| | | <ali-player |
| | | @timeupdate="timeUpdate(e, index)" |
| | | :source="videoArrs[index].VideoPath" |
| | | :source="videoArrs[index].VideoPath | fixPath" |
| | | :markers="videoArrs[index].marks" |
| | | @pause="isStop = true" |
| | | @play="isStop = false" |
| | |
| | | type: Object, |
| | | }, |
| | | }, |
| | | filters: { |
| | | fixPath(str) { |
| | | if (!str || str == undefined) { |
| | | return "" |
| | | } |
| | | |
| | | return str.replace("/opt/vasystem", "") |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | guid: 1, |
| | |
| | | handleCommand(cmd) { |
| | | let _this = this; |
| | | _this.curVideo = cmd; |
| | | _this.curCamera = _this.curVideo.CameraPosition; |
| | | |
| | | _this.$nextTick(() => { |
| | | _this.$refs[`player_${_this.curVideo.ID}`][0].init(); |
| | |
| | | res.data.forEach((item) => { |
| | | _this.popDownArr.push(item); |
| | | }); |
| | | if (_this.popDownArr.length) { |
| | | _this.curCamera = _this.popDownArr[0].CameraPosition; |
| | | } |
| | | // if (_this.popDownArr.length) { |
| | | // _this.curCamera = _this.popDownArr[0].CameraPosition; |
| | | // } |
| | | |
| | | res.data.forEach((item) => { |
| | | item.marks = _this.mergeMarks(item); |
| | | }); |
| | | |
| | | _this.curVideo = res.data.find((item) => item.ID == v.ID); |
| | | _this.curVideo = res.data.find((item) => item.id == v.id); |
| | | |
| | | // 设置下拉菜单选中项 |
| | | _this.curCamera = _this.curVideo.CameraPosition; |
| | | |
| | | _this.curVideo.marks.forEach((item) => { |
| | | if (item.type == 0) { |
| | | _this.eventMarks.push(item); |
| | |
| | | submitLabelChecked() { |
| | | let _this = this; |
| | | let tempArr = []; |
| | | tempArr = this.videoArrs.map((video) => video.ID); |
| | | tempArr = this.videoArrs.map((video) => video.id); |
| | | let desc = this.labelCheckedList.map((lableId) => { |
| | | for (let label of this.labelOptions) { |
| | | if (label.ID == lableId) { |
| | |
| | | |
| | | let query = { |
| | | ID: this.selectedLabelId, |
| | | ParentID: tempArr.join(","), |
| | | ParentUniqID: this.curVideo.GroupID + "", |
| | | VideoIds: tempArr.join(","), |
| | | Time: Math.round(this.setLabelTime) + "", |
| | | Codes: this.labelCheckedList.join(","), |
| | | Desc: desc.join(","), |
| | | Desc: desc.join(","), |
| | | }; |
| | | |
| | | editLabel(query).then((rsp) => { |