| @ -0,0 +1,168 @@ | |||||
| <template> | |||||
| <div class="container"> | |||||
| <div class="video_main"> | |||||
| <video-player | |||||
| class="video-player" | |||||
| id="videoDiv" | |||||
| ref="videoPlayer" | |||||
| :playsinline="true" | |||||
| :options="playerOptions" | |||||
| @play="onPlayerPlay($event)" | |||||
| @pause="onPlayerPause($event)" | |||||
| @ended="onPlayerEnded($event)" | |||||
| @waiting="onPlayerWaiting($event)" | |||||
| @playing="onPlayerPlaying($event)" | |||||
| @loadeddata="onPlayerLoadeddata($event)" | |||||
| @timeupdate="onPlayerTimeupdate($event)" | |||||
| @canplay="onPlayerCanplay($event)" | |||||
| @canplaythrough="onPlayerCanplaythrough($event)" | |||||
| @statechanged="playerStateChanged($event)" | |||||
| @ready="playerReadied" | |||||
| ></video-player> | |||||
| </div> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import { videoPlayer } from "vue-video-player"; | |||||
| export default { | |||||
| name: "", | |||||
| components: { videoPlayer }, | |||||
| props: {}, | |||||
| data() { | |||||
| return { | |||||
| playerOptions: { | |||||
| playbackRates: [0.5, 1.0, 1.5, 2.0], | |||||
| autoplay: false, | |||||
| muted: false, | |||||
| loop: false, | |||||
| preload: "auto", | |||||
| language: "zh-CN", | |||||
| aspectRatio: "16:9", | |||||
| fluid: true, | |||||
| sources: [ | |||||
| { | |||||
| type: "video/mp4", | |||||
| src: "", | |||||
| }, | |||||
| ], | |||||
| poster: "", // 封面地址 | |||||
| width: document.documentElement.clientWidth, | |||||
| notSupportedMessage: "加载中......", //允许覆盖Video.js无法播放媒体源时显示的默认信息。 | |||||
| controlBar: { | |||||
| timeDivider: true, // 当前时间和持续时间的分隔符 | |||||
| durationDisplay: true, // 显示持续时间 | |||||
| remainingTimeDisplay: true, // 是否显示剩余时间功能 | |||||
| fullscreenToggle: false, // 是否显示全屏按钮 | |||||
| }, | |||||
| }, | |||||
| }; | |||||
| }, | |||||
| computed: {}, | |||||
| watch: { | |||||
| src: { | |||||
| handler(newval) { | |||||
| this.playerOptions.sources[0].src = newval; | |||||
| this.srcvideo = newval; | |||||
| }, | |||||
| }, | |||||
| }, | |||||
| created() {}, | |||||
| mounted() {}, | |||||
| methods: { | |||||
| // 播放的回调 | |||||
| onPlayerPlay(e) { | |||||
| this.isplay = true; | |||||
| }, | |||||
| // 暂停的回调 | |||||
| onPlayerPause(e) { | |||||
| this.isplay = false; | |||||
| }, | |||||
| // 结束的回调 | |||||
| onPlayerEnded(e) { | |||||
| this.isplay = false; | |||||
| }, | |||||
| // 等待的回调 | |||||
| onPlayerWaiting(e) {}, | |||||
| // 播放中回调 | |||||
| onPlayerPlaying(e) { | |||||
| this.isplay = true; | |||||
| }, | |||||
| // 视频加载完成的回调 | |||||
| onPlayerLoadeddata(e) { | |||||
| // e.duration() 可获取视频的总时长 | |||||
| }, | |||||
| // 视频播放时,时间的回调 | |||||
| onPlayerTimeupdate(e) { | |||||
| // this.currentVolume = (e.volume() * 100).toFixed(2) * 1; | |||||
| }, | |||||
| //媒体的readyState为HAVE_FUTURE_DATA或更高 | |||||
| onPlayerCanplay(player) { | |||||
| // console.log('player Canplay!', player) | |||||
| }, | |||||
| //媒体的readyState为HAVE_ENOUGH_DATA或更高。这意味着可以在不缓冲的情况下播放整个媒体文件。 | |||||
| onPlayerCanplaythrough(player) { | |||||
| // console.log('player Canplaythrough!', player) | |||||
| }, | |||||
| // 视频播放时状态回调 | |||||
| playerStateChanged(e) { | |||||
| // e.timeupdate 存在时视频正在播放中,e.timeupdate 值为当前播放时间 | |||||
| // e.pause 存在时视频为暂停状态 | |||||
| // e.play 存在时视频为播放状态 | |||||
| }, | |||||
| // 视频加载完成回调,此时可以赋值 myPlayer | |||||
| playerReadied(e) { | |||||
| // this.myPlayer = e; | |||||
| }, | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| // .video_main { | |||||
| // width: 100vw; | |||||
| // } | |||||
| ::v-deep.video-js .vjs-big-play-button { | |||||
| width: 88px !important; | |||||
| height: 88px !important; | |||||
| border-radius: 50% !important; | |||||
| border: 0; | |||||
| line-height: 88px; | |||||
| font-size: 56px; | |||||
| margin-left: -50px; | |||||
| margin-top: -60px; | |||||
| object-fit: cover; | |||||
| } | |||||
| ::v-deep.video-js .vjs-control-bar { | |||||
| height: 58px; | |||||
| line-height: 58px; | |||||
| background: rgba(0, 0, 0, 0.24) !important; | |||||
| // background: #ac8282; | |||||
| } | |||||
| ::v-deep.vjs-button > .vjs-icon-placeholder:before { | |||||
| font-size: 40px; | |||||
| } | |||||
| ::v-deep.video-js .vjs-control { | |||||
| font-size: 22px; | |||||
| line-height: 58px; | |||||
| } | |||||
| ::v-deep.vjs-playback-rate .vjs-playback-rate-value { | |||||
| line-height: 58px; | |||||
| } | |||||
| ::v-deep.vjs-button > .vjs-icon-placeholder:before { | |||||
| line-height: 60px; | |||||
| } | |||||
| ::v-deep.vjs-remaining-time-display { | |||||
| font-size: 24px; | |||||
| } | |||||
| ::v-deep.video-js .vjs-big-play-button { | |||||
| background-color: rgba(0, 0, 0, 0.5); | |||||
| } | |||||
| ::v-deep.video-js .vjs-slider { | |||||
| background-color: rgba(255, 255, 255, 0.5); | |||||
| } | |||||
| // 视频封面 | |||||
| ::v-deep.video-js .vjs-poster { | |||||
| background-size: cover !important; | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,193 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <el-row :gutter="20"> | |||||
| <el-col :span="5"> | |||||
| <div class="grid-content"> | |||||
| <div class="operate-left"> | |||||
| <i class="el-icon-plus" @click="add"></i> | |||||
| <i class="el-icon-delete"></i> | |||||
| <i class="el-icon-download"></i> | |||||
| <i class="el-icon-upload2"></i> | |||||
| </div> | |||||
| <el-input placeholder="搜索设备名称" v-model="queryParams"></el-input> | |||||
| <el-tree | |||||
| :data="treeData" | |||||
| :props="defaultProps" | |||||
| @node-click="handleNodeClick" | |||||
| default-expand-all | |||||
| > | |||||
| <span slot-scope="{ node, data }" class="slot-node"> | |||||
| <template> | |||||
| <i | |||||
| class="el-icon-box" | |||||
| v-if="data.type == 1 || data.type == 2 || data.type == 3" | |||||
| ></i> | |||||
| <i | |||||
| class="el-icon-s-operation" | |||||
| v-if="data.type == 4" | |||||
| :class="{ | |||||
| 'el-icon-folder': !node.expanded, | |||||
| 'el-icon-folder-opened': node.expanded, | |||||
| 'el-icon-s-operation': data.type === 4, | |||||
| }" | |||||
| ></i> | |||||
| <span>{{ node.label }}</span> | |||||
| </template> | |||||
| </span> | |||||
| </el-tree> | |||||
| </div> | |||||
| </el-col> | |||||
| <el-col :span="19"> | |||||
| <div class="grid-content-right" v-if="show"> | |||||
| <div class="titleName">{{ titleName }}</div> | |||||
| <el-form ref="form" :model="form" label-width="80px"> | |||||
| <el-form-item label="设备名称"> | |||||
| <el-input v-model="form.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备类型"> | |||||
| <el-select v-model="form.region" placeholder="请选择活动区域"> | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备编号"> | |||||
| <el-input v-model="form.name"></el-input> | |||||
| <span class="serial-number">设备编号用于生产复核,需与SCADA系统中的设备编号一致</span> | |||||
| </el-form-item> | |||||
| <el-form-item label="显示排序"> | |||||
| <el-input-number v-model="form.num" controls-position="right" :min="1"></el-input-number> | |||||
| </el-form-item> | |||||
| <el-form-item label="实物ID"> | |||||
| <el-input v-model="form.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label=" 监控索引号"> | |||||
| <el-input v-model="form.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备型号"> | |||||
| <el-input v-model="form.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备厂家"> | |||||
| <el-input v-model="form.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="x坐标"> | |||||
| <el-input-number v-model="form.numX" controls-position="right" :min="-20" :max="20"></el-input-number> | |||||
| <span class="number-title">(建议最小值-20,最大值20)</span> | |||||
| </el-form-item> | |||||
| <el-form-item label="y坐标"> | |||||
| <el-input-number v-model="form.num" controls-position="right" :min="66"></el-input-number> | |||||
| <span class="number-title">(建议66)</span> | |||||
| </el-form-item> | |||||
| <el-form-item label="z坐标"> | |||||
| <el-input-number v-model="form.num" controls-position="right" :min="-6" :max="20"></el-input-number> | |||||
| <span class="number-title">(建议最小值-6,最大值20)</span> | |||||
| </el-form-item> | |||||
| <el-form-item> | |||||
| <el-button type="primary" @click="onSubmit">保存</el-button> | |||||
| </el-form-item> | |||||
| </el-form> | |||||
| </div> | |||||
| </el-col> | |||||
| </el-row> | |||||
| </div> | |||||
| </template> | |||||
| <script > | |||||
| export default { | |||||
| name: "entry", | |||||
| data() { | |||||
| return { | |||||
| queryParams: "", | |||||
| treeData: [ | |||||
| { | |||||
| label: "一级 1", | |||||
| type: 1, | |||||
| children: [ | |||||
| { | |||||
| label: "二级 1-1", | |||||
| children: [ | |||||
| { | |||||
| label: "三级 1-1-1", | |||||
| children: [ | |||||
| { | |||||
| label: "四级 1-1-1-1", | |||||
| type: 4, | |||||
| }, | |||||
| { | |||||
| label: "四级 1-1-1-2", | |||||
| type: 4, | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| defaultProps: { | |||||
| children: "children", | |||||
| label: "label", | |||||
| }, | |||||
| titleName: "", | |||||
| form:{}, | |||||
| show:false | |||||
| }; | |||||
| }, | |||||
| methods: { | |||||
| handleNodeClick(data) { | |||||
| console.log(data); | |||||
| this.titleName = data.label; | |||||
| if(data.type==4||data.type==3){ | |||||
| this.show=true | |||||
| }else{ | |||||
| this.show=false | |||||
| } | |||||
| }, | |||||
| add(){ | |||||
| this.show=true | |||||
| } | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style lang="scss" scoped> | |||||
| .operate-left { | |||||
| height: 30px; | |||||
| display: flex; | |||||
| justify-content: flex-end; | |||||
| i { | |||||
| font-size: 20px; | |||||
| margin-left: 5px; | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| ::v-deep .el-tree-node:focus > .el-tree-node__content { | |||||
| color: #4a9de7 !important; | |||||
| // color: #fff !important; | |||||
| } | |||||
| /*节点失焦时的背景颜色*/ | |||||
| // .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content{ | |||||
| // background-color: #4a9de7 !important; | |||||
| // color: #fff !important; | |||||
| // } | |||||
| .grid-content-right { | |||||
| padding: 0 20%; | |||||
| } | |||||
| .titleName { | |||||
| font-size: 26px; | |||||
| padding: 10px; | |||||
| } | |||||
| .number-title{ | |||||
| margin-left: 10px; | |||||
| } | |||||
| .serial-number{ | |||||
| color: #999; | |||||
| font-size: 12px; | |||||
| margin-bottom: 30px; | |||||
| margin-top: 20px; | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,521 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <el-form :inline="true" :model="queryParams" class="demo-form-inline"> | |||||
| <el-form-item label="设备类型"> | |||||
| <el-select v-model="queryParams.region" placeholder="活动区域"> | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备名称"> | |||||
| <el-input v-model="queryParams.user" placeholder="审批人"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备编码"> | |||||
| <el-input v-model="queryParams.user" placeholder="审批人"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="生产厂家"> | |||||
| <el-input v-model="queryParams.user" placeholder="审批人"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item> | |||||
| <el-button | |||||
| type="primary" | |||||
| icon="el-icon-search" | |||||
| size="mini" | |||||
| @click="handleQuery" | |||||
| >搜索</el-button | |||||
| > | |||||
| <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" | |||||
| >重置</el-button | |||||
| > | |||||
| </el-form-item> | |||||
| </el-form> | |||||
| <el-row :gutter="10" class="mb8"> | |||||
| <el-col :span="1.5"> | |||||
| <el-button | |||||
| type="primary" | |||||
| plain | |||||
| icon="el-icon-plus" | |||||
| size="mini" | |||||
| @click="handleAdd" | |||||
| >新增</el-button | |||||
| > | |||||
| </el-col> | |||||
| <el-col :span="1.5"> | |||||
| <el-button | |||||
| type="success" | |||||
| plain | |||||
| icon="el-icon-edit" | |||||
| size="mini" | |||||
| :disabled="single" | |||||
| @click="handleUpdate" | |||||
| >修改</el-button | |||||
| > | |||||
| </el-col> | |||||
| <el-col :span="1.5"> | |||||
| <el-button | |||||
| type="danger" | |||||
| plain | |||||
| icon="el-icon-delete" | |||||
| size="mini" | |||||
| :disabled="multiple" | |||||
| @click="handleDelete" | |||||
| >删除</el-button | |||||
| > | |||||
| </el-col> | |||||
| <el-col :span="1.5"> | |||||
| <el-button | |||||
| plain | |||||
| icon="el-icon-upload2" | |||||
| size="mini" | |||||
| @click="handleExport" | |||||
| >导入</el-button | |||||
| > | |||||
| </el-col> | |||||
| <el-col :span="1.5"> | |||||
| <el-button | |||||
| type="warning" | |||||
| plain | |||||
| icon="el-icon-download" | |||||
| size="mini" | |||||
| @click="handleExport" | |||||
| >导出</el-button | |||||
| > | |||||
| </el-col> | |||||
| <el-col :span="1.5"> | |||||
| <el-button type="primary" plain icon="el-icon-upload" size="mini" | |||||
| >模型同步</el-button | |||||
| > | |||||
| </el-col> | |||||
| </el-row> | |||||
| <el-table :data="tableData" style="width: 100%"> | |||||
| <el-table-column | |||||
| type="selection" | |||||
| width="55" | |||||
| align="center" | |||||
| fixed="left" | |||||
| /> | |||||
| <el-table-column prop="date" label="设备名称" align="center" fixed="left"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="name" label="设备编码" align="center" fixed="left"> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="视频NVR编码" | |||||
| align="center" | |||||
| fixed="left" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="生产厂家" | |||||
| align="center" | |||||
| fixed="left" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="主系统编号" | |||||
| align="center" | |||||
| fixed="left" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="变电站名称" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="变电站编码" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="区域名称" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="设备类型" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="使用单位" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="设备来源" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="生产日期" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="出厂编号" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="是否转轮" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="使用类型" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="安装位置" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="相对空间位置x" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="相对空间位置y" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="相对空间位置z" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="所属机器人" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="ip地址" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="端口" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="用户" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="密码" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column label="操作" align="center" fixed="right" width="200px"> | |||||
| <template slot-scope="scope"> | |||||
| <el-button | |||||
| size="mini" | |||||
| type="text" | |||||
| icon="el-icon-edit" | |||||
| @click="handleUpdate(scope.row)" | |||||
| >修改</el-button | |||||
| > | |||||
| <el-button | |||||
| size="mini" | |||||
| type="text" | |||||
| icon="el-icon-delete" | |||||
| @click="handleDelete(scope.row)" | |||||
| >删除</el-button | |||||
| > | |||||
| <el-button size="mini" type="text" icon="el-icon-s-promotion" | |||||
| >通道</el-button | |||||
| > | |||||
| <el-button size="mini" type="text" icon="el-icon-upload" | |||||
| >上传图片</el-button | |||||
| > | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| <pagination | |||||
| v-show="total > 0" | |||||
| :total="total" | |||||
| :page.sync="queryParams.pageNum" | |||||
| :limit.sync="queryParams.pageSize" | |||||
| /> | |||||
| <el-dialog | |||||
| :title="title" | |||||
| :visible.sync="dialogVisible" | |||||
| width="70%" | |||||
| :before-close="handleClose" | |||||
| > | |||||
| <el-row :gutter="10"> | |||||
| <el-form | |||||
| :model="dialogForm" | |||||
| class="demo-form-inline" | |||||
| label-position="right" | |||||
| label-width="110px" | |||||
| > | |||||
| <el-col span="6"> | |||||
| <el-form-item label="区域名称"> | |||||
| <el-select | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请选择区域" | |||||
| style="display: block; width: 100%" | |||||
| > | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="设备类型"> | |||||
| <el-select | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请选择类型" | |||||
| style="display: block; width: 100%" | |||||
| > | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="设备名称"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入设备名称" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="设备编码"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入设备编码" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="设备型号"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入设备型号" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="生产厂家"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入生产" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="主系统" class="mainSystem"> | |||||
| <el-select | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请选择主系统" | |||||
| style="display: block; width: 100%" | |||||
| > | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="使用单位"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入使用单位" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="设备来源"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入设备来源" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="生产日期"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入生产日期" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="出厂编号"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入出厂编号" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="是否转轮"> | |||||
| <el-select | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请选择" | |||||
| style="display: block; width: 100%" | |||||
| > | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="使用类型"> | |||||
| <el-select | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请选择使用类型" | |||||
| style="display: block; width: 100%" | |||||
| > | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="视频类型"> | |||||
| <el-select | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请选择视频类型" | |||||
| style="display: block; width: 100%" | |||||
| > | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="安装位置"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入安装位置" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="所属机器人"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入所属机器人" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="相对空间位置x"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入相对空间位置x" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="相对空间位置y"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入相对空间位置y" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="相对空间位置z"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入相对空间位置 z" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="ip地址"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入ip地址" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="端口"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入端口" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="用户"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入用户" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="密码"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入密码" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col span="6"> | |||||
| <el-form-item label="视频NVR编码"> | |||||
| <el-input | |||||
| v-model="dialogForm.region" | |||||
| placeholder="请输入视频NVR编码" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| </el-form> | |||||
| </el-row> | |||||
| <span slot="footer" class="dialog-footer"> | |||||
| <el-button @click="dialogVisible = false">取 消</el-button> | |||||
| <el-button type="primary" @click="dialogVisible = false" | |||||
| >确 定</el-button | |||||
| > | |||||
| </span> | |||||
| </el-dialog> | |||||
| </div> | |||||
| </template> | |||||
| <script > | |||||
| export default { | |||||
| name: "equipment", | |||||
| data() { | |||||
| return { | |||||
| queryParams: {}, | |||||
| tableData: [ | |||||
| { | |||||
| date: "2016-05-02", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1518 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-04", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1517 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-01", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1519 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-03", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1516 弄", | |||||
| }, | |||||
| ], | |||||
| total: 20, | |||||
| dialogVisible: false, | |||||
| title: "新增", | |||||
| dialogForm: {}, | |||||
| }; | |||||
| }, | |||||
| methods: { | |||||
| handleClose() { | |||||
| this.dialogVisible = false; | |||||
| }, | |||||
| handleAdd(){ | |||||
| this.dialogVisible = true; | |||||
| } | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style lang="scss" scoped> | |||||
| .operate-left { | |||||
| height: 30px; | |||||
| display: flex; | |||||
| justify-content: flex-end; | |||||
| i { | |||||
| font-size: 20px; | |||||
| margin-left: 5px; | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| ::v-deep .el-tree-node:focus > .el-tree-node__content { | |||||
| color: #4a9de7 !important; | |||||
| // color: #fff !important; | |||||
| } | |||||
| /*节点失焦时的背景颜色*/ | |||||
| // .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content{ | |||||
| // background-color: #4a9de7 !important; | |||||
| // color: #fff !important; | |||||
| // } | |||||
| .grid-content-right { | |||||
| padding: 0 20%; | |||||
| } | |||||
| .titleName { | |||||
| font-size: 26px; | |||||
| padding: 10px; | |||||
| } | |||||
| .number-title { | |||||
| margin-left: 10px; | |||||
| } | |||||
| .serial-number { | |||||
| color: #999; | |||||
| font-size: 12px; | |||||
| margin-bottom: 30px; | |||||
| margin-top: 20px; | |||||
| } | |||||
| .mainSystem { | |||||
| ::v-deep.el-form-item__label { | |||||
| color: rgb(255, 200, 0); | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,191 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <el-row :gutter="20"> | |||||
| <el-col :span="5"> | |||||
| <div class="operate-left"> | |||||
| <i class="el-icon-plus" @click="add"></i> | |||||
| <i class="el-icon-delete"></i> | |||||
| </div> | |||||
| <el-input | |||||
| placeholder="输入关键字进行过滤" | |||||
| v-model="queryParams" | |||||
| ></el-input> | |||||
| <el-tree | |||||
| :data="treeData" | |||||
| :props="defaultProps" | |||||
| @node-click="handleNodeClick" | |||||
| default-expand-all | |||||
| > | |||||
| <span slot-scope="{ node, data }" class="slot-node"> | |||||
| <template> | |||||
| <i | |||||
| class="el-icon-box" | |||||
| v-if="data.type == 1 || data.type == 2 || data.type == 3" | |||||
| ></i> | |||||
| <i | |||||
| class="el-icon-s-operation" | |||||
| v-if="data.type == 4" | |||||
| :class="{ | |||||
| 'el-icon-folder': !node.expanded, | |||||
| 'el-icon-folder-opened': node.expanded, | |||||
| 'el-icon-s-operation': data.type === 4, | |||||
| }" | |||||
| ></i> | |||||
| <span>{{ node.label }}</span> | |||||
| </template> | |||||
| </span> | |||||
| </el-tree> | |||||
| </el-col> | |||||
| <el-col :span="19"> | |||||
| <div class="right"> | |||||
| <el-button | |||||
| type="primary" | |||||
| @click="add" | |||||
| v-if="!show && (type == 0 || type == 1)" | |||||
| >添加设备</el-button | |||||
| > | |||||
| <i | |||||
| class="el-icon-close closeBtn" | |||||
| v-if="show && type == 0" | |||||
| @click="close" | |||||
| ></i> | |||||
| <div v-if="show"> | |||||
| <div class="right-title">{{ rightTitle }}</div> | |||||
| <el-form :model="formData"> | |||||
| <el-form-item label="设备类型名称"> | |||||
| <el-input v-model="formData.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备类别编号"> | |||||
| <el-input v-model="formData.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="所属专业"> | |||||
| <el-input v-model="formData.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="相数" v-if="type !== 0&&type !== 1"> | |||||
| <el-radio-group v-model="formData.resource"> | |||||
| <el-radio label="无相数"></el-radio> | |||||
| <el-radio label="单相"></el-radio> | |||||
| <el-radio label="三相"></el-radio> | |||||
| </el-radio-group> | |||||
| </el-form-item> | |||||
| <el-form-item label="相别" v-if="type !== 0&&type !== 1"> | |||||
| <el-radio-group v-model="formData.resource"> | |||||
| <el-radio label="无相数"></el-radio> | |||||
| <el-radio label="A"></el-radio> | |||||
| <el-radio label="B"></el-radio> | |||||
| <el-radio label="C"></el-radio> | |||||
| </el-radio-group> | |||||
| </el-form-item> | |||||
| <el-form-item> | |||||
| <el-button type="primary">保存</el-button> | |||||
| </el-form-item> | |||||
| </el-form> | |||||
| </div> | |||||
| </div> | |||||
| </el-col> | |||||
| </el-row> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| export default { | |||||
| name: "equipment_type", | |||||
| data() { | |||||
| return { | |||||
| treeData: [ | |||||
| { | |||||
| label: "一级 1", | |||||
| type: 1, | |||||
| children: [ | |||||
| { | |||||
| label: "二级 1-1", | |||||
| type: 2, | |||||
| children: [ | |||||
| { | |||||
| label: "三级 1-1-1", | |||||
| type: 3, | |||||
| children: [ | |||||
| { | |||||
| label: "四级 1-1-1-1", | |||||
| type: 4, | |||||
| }, | |||||
| { | |||||
| label: "四级 1-1-1-2", | |||||
| type: 4, | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| defaultProps: { | |||||
| children: "children", | |||||
| label: "label", | |||||
| }, | |||||
| rightTitle: "添加设备", | |||||
| queryParams: "", | |||||
| formData: {}, | |||||
| show: false, | |||||
| type: 0, | |||||
| }; | |||||
| }, | |||||
| methods: { | |||||
| handleNodeClick(data) { | |||||
| console.log(data.type); | |||||
| this.type = data.type; | |||||
| if (data.type == 0) { | |||||
| this.rightTitle = "添加设备"; | |||||
| this.show = true; | |||||
| } else if (data.type !== 0 && data.type !== 1) { | |||||
| this.show = true; | |||||
| this.rightTitle = "编辑设备"; | |||||
| } else if (data.type == 1) { | |||||
| this.show = false; | |||||
| } | |||||
| }, | |||||
| add() { | |||||
| this.show = true; | |||||
| this.type = 0; | |||||
| this.rightTitle = "添加设备"; | |||||
| }, | |||||
| close() { | |||||
| this.show = false; | |||||
| }, | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style lang="scss" scoped> | |||||
| .operate-left { | |||||
| height: 30px; | |||||
| display: flex; | |||||
| justify-content: flex-end; | |||||
| i { | |||||
| font-size: 20px; | |||||
| margin-left: 10px; | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| ::v-deep .el-tree-node:focus > .el-tree-node__content { | |||||
| color: #4a9de7 !important; | |||||
| // color: #fff !important; | |||||
| } | |||||
| .right { | |||||
| padding: 0 50px; | |||||
| width: 50%; | |||||
| .right-title { | |||||
| font-size: 20px; | |||||
| margin: 20px 0; | |||||
| } | |||||
| .closeBtn { | |||||
| font-size: 30px; | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,267 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <el-row :gutter="20"> | |||||
| <el-col :span="4"> | |||||
| <div class="qurey"> | |||||
| <el-input | |||||
| placeholder="请输入内容" | |||||
| v-model="input3" | |||||
| class="input-with-select" | |||||
| > | |||||
| <el-button | |||||
| slot="append" | |||||
| icon="el-icon-search" | |||||
| type="primary" | |||||
| ></el-button> | |||||
| </el-input> | |||||
| </div> | |||||
| <el-tree | |||||
| :data="treeData" | |||||
| :props="defaultProps" | |||||
| @node-click="handleNodeClick" | |||||
| ></el-tree> | |||||
| </el-col> | |||||
| <el-col :span="20"> | |||||
| <div> | |||||
| <el-button type="primary">添加</el-button> | |||||
| <span>(27/200)最多支持200个巡检点位以及内容</span> | |||||
| </div> | |||||
| <el-table :data="tableData" max-height="700"> | |||||
| <el-table-column | |||||
| prop="date" | |||||
| label="序号" | |||||
| width="55" | |||||
| type="index" | |||||
| align="center" | |||||
| ></el-table-column> | |||||
| <el-table-column | |||||
| prop="date" | |||||
| label="设备分类" | |||||
| :render-header="addRedStar" | |||||
| align="center" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-select placeholder="请选择"> | |||||
| <el-option label="item.label" value="item.value"> </el-option> | |||||
| </el-select> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="date" | |||||
| label="巡检标准" | |||||
| :render-header="addRedStar" | |||||
| align="center" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-input type="textarea"></el-input> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column prop="date" label="数据格式" align="center"> | |||||
| <template slot-scope="scope"> | |||||
| <el-select | |||||
| v-model="value" | |||||
| multiple | |||||
| filterable | |||||
| allow-create | |||||
| default-first-option | |||||
| placeholder="请选择文章标签" | |||||
| > | |||||
| <el-option | |||||
| v-for="item in options" | |||||
| :key="item.value" | |||||
| :label="item.label" | |||||
| :value="item.value" | |||||
| > | |||||
| </el-option> | |||||
| </el-select> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column prop="date" label="智能识别类型" align="center"> | |||||
| <template slot-scope="scope"> | |||||
| <span class="intelligenceType" @click="intelligenceTypeBtn" | |||||
| >123123</span | |||||
| > | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column label="操作" align="center"> | |||||
| <template slot-scope="scope"> | |||||
| <el-button size="mini" type="primary"> 复制 </el-button> | |||||
| <el-button size="mini" type="danger">删除</el-button> | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| <div class="saveBtn"> | |||||
| <el-button type="primary">保存</el-button> | |||||
| </div> | |||||
| </el-col> | |||||
| </el-row> | |||||
| <el-dialog | |||||
| title="设置智能识别类型" | |||||
| :visible.sync="dialogVisible" | |||||
| width="50%" | |||||
| :before-close="handleClose" | |||||
| > | |||||
| <el-table :data="intelligenceTypeData"> | |||||
| <el-table-column | |||||
| type="selection" | |||||
| width="55" | |||||
| align="center" | |||||
| ></el-table-column> | |||||
| <el-table-column | |||||
| type="index" | |||||
| width="55" | |||||
| align="center" | |||||
| label="序号" | |||||
| ></el-table-column> | |||||
| <el-table-column | |||||
| prop="name" | |||||
| align="center" | |||||
| label="算法名称" | |||||
| ></el-table-column> | |||||
| <el-table-column | |||||
| prop="name" | |||||
| align="center" | |||||
| label="阀值上限" | |||||
| :render-header="addRedStar" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-input></el-input> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="name" | |||||
| align="center" | |||||
| label="阀值下限" | |||||
| :render-header="addRedStar" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-input></el-input> | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| <span slot="footer" class="dialog-footer"> | |||||
| <el-button @click="dialogVisible = false">取 消</el-button> | |||||
| <el-button type="primary" @click="dialogVisible = false" | |||||
| >确 定</el-button | |||||
| > | |||||
| </span> | |||||
| </el-dialog> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| export default { | |||||
| data() { | |||||
| return { | |||||
| treeData: [ | |||||
| { | |||||
| label: "一级 1", | |||||
| type: 1, | |||||
| children: [ | |||||
| { | |||||
| label: "二级 1-1", | |||||
| children: [ | |||||
| { | |||||
| label: "三级 1-1-1", | |||||
| children: [ | |||||
| { | |||||
| label: "四级 1-1-1-1", | |||||
| type: 4, | |||||
| }, | |||||
| { | |||||
| label: "四级 1-1-1-2", | |||||
| type: 4, | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| defaultProps: { | |||||
| children: "children", | |||||
| label: "label", | |||||
| }, | |||||
| tableData: [{}], | |||||
| options: [ | |||||
| { | |||||
| value: "HTML", | |||||
| label: "HTML", | |||||
| }, | |||||
| { | |||||
| value: "CSS", | |||||
| label: "CSS", | |||||
| }, | |||||
| { | |||||
| value: "JavaScript", | |||||
| label: "JavaScript", | |||||
| }, | |||||
| ], | |||||
| value: [], | |||||
| dialogVisible: false, | |||||
| intelligenceTypeData: [ | |||||
| { | |||||
| date: "2016-05-02", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1518 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-04", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1517 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-01", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1519 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-03", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1516 弄", | |||||
| }, | |||||
| ], | |||||
| }; | |||||
| }, | |||||
| methods: { | |||||
| // 给表头加必填符号* | |||||
| addRedStar(h, { column }) { | |||||
| return [ | |||||
| h("span", { style: "color: red" }, "*"), | |||||
| h("span", " " + column.label), | |||||
| ]; | |||||
| }, | |||||
| intelligenceTypeBtn() { | |||||
| this.dialogVisible = true; | |||||
| }, | |||||
| // 给表头加必填符号* | |||||
| addRedStar(h, { column }) { | |||||
| return [ | |||||
| h("span", { style: "color: red" }, "*"), | |||||
| h("span", " " + column.label), | |||||
| ]; | |||||
| }, | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style lang="scss" scoped> | |||||
| .qurey { | |||||
| display: flex; | |||||
| margin-bottom: 10px; | |||||
| ::v-deep.el-button { | |||||
| background-color: #46a6ff !important; | |||||
| color: #fff !important ; | |||||
| } | |||||
| } | |||||
| .intelligenceType { | |||||
| color: rgb(17, 189, 217); | |||||
| cursor: pointer; | |||||
| } | |||||
| .saveBtn{ | |||||
| text-align: center; | |||||
| margin-top: 10px; | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,916 @@ | |||||
| <template> | |||||
| <div class="app-container"> | |||||
| <el-row :gutter="20"> | |||||
| <el-col :span="4"> | |||||
| <div class="qurey"> | |||||
| <el-input | |||||
| placeholder="请输入内容" | |||||
| v-model="input3" | |||||
| class="input-with-select" | |||||
| > | |||||
| <el-button | |||||
| slot="append" | |||||
| icon="el-icon-search" | |||||
| type="primary" | |||||
| ></el-button> | |||||
| </el-input> | |||||
| </div> | |||||
| <el-tree | |||||
| :data="treeData" | |||||
| :props="defaultProps" | |||||
| @node-click="handleNodeClick" | |||||
| ></el-tree> | |||||
| </el-col> | |||||
| <el-col :span="14"> | |||||
| <el-alert | |||||
| title="提示" | |||||
| type="info" | |||||
| description="一个监控对象(区域、主设备),最多支持绑定16个不同摄像头;一个监控对象(区域、主设备),最多添加200个监控点位;一个监控点位绑定监控点不超过9个预置位(无论是否同一监控点);" | |||||
| show-icon | |||||
| > | |||||
| </el-alert> | |||||
| <div class="tableOperate"> | |||||
| <div class="btnBox"> | |||||
| <el-button type="primary" @click="add">添加</el-button> | |||||
| <el-button type="danger">删除</el-button> | |||||
| <el-button @click="upDataBtn">机器人点位上传</el-button> | |||||
| </div> | |||||
| <div class="tableSearch"> | |||||
| <el-input | |||||
| placeholder="请输入内容" | |||||
| v-model="input3" | |||||
| class="input-with-select" | |||||
| > | |||||
| <el-button | |||||
| slot="append" | |||||
| icon="el-icon-search" | |||||
| type="primary" | |||||
| ></el-button> | |||||
| </el-input> | |||||
| </div> | |||||
| </div> | |||||
| <el-table | |||||
| :data="tableData" | |||||
| @row-click="changeCurrentRow" | |||||
| highlight-current-row | |||||
| > | |||||
| <el-table-column type="selection" width="55" fixed="left"> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| label="监控点位" | |||||
| width="200" | |||||
| fixed="left" | |||||
| align="center" | |||||
| :render-header="addRedStar" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-input placeholder="请输入点位名称"></el-input> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column label="监控内容" width="150" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column label="用途"> </el-table-column> | |||||
| <el-table-column | |||||
| label="监控编号" | |||||
| width="200" | |||||
| align="center" | |||||
| :render-header="addRedStar" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-input placeholder="请输入监控点位编号"></el-input> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| label="巡检类型" | |||||
| width="150" | |||||
| align="center" | |||||
| :render-header="addRedStar" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-select placeholder="前选择巡检类型"> | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| label="重要等级" | |||||
| width="150" | |||||
| align="center" | |||||
| :render-header="addRedStar" | |||||
| > | |||||
| <el-select placeholder="前选择重要等级"> | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-table-column> | |||||
| <el-table-column label="三维坐标" width="270" align="center"> | |||||
| <template slot-scope="scope"> | |||||
| <div class="tableXYZ"> | |||||
| <el-input placeholder="x(-20,20)"></el-input> | |||||
| <el-input placeholder="y(66)"></el-input> | |||||
| <el-input placeholder="z(-6,20)"></el-input> | |||||
| </div> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column label="上报识别类型" width="220" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column label="智能识别类型" width="220" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column label="判别基准图片" width="220" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| label="操作" | |||||
| fixed="right" | |||||
| align="center" | |||||
| width="100" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <el-button | |||||
| size="mini" | |||||
| type="text" | |||||
| @click="monitorPointEdit(scope.row)" | |||||
| >修改</el-button | |||||
| > | |||||
| <el-button | |||||
| size="mini" | |||||
| type="text" | |||||
| @click="handleDelete(scope.row)" | |||||
| >删除</el-button | |||||
| > | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| </el-col> | |||||
| <el-col :span="6"> | |||||
| <div class="cameraImgDiv"> | |||||
| <img src="@/assets/images/camera.png" class="cameraImg" /> | |||||
| <div>请选中左点位查看监控点或监测设备</div> | |||||
| </div> | |||||
| <el-tabs v-model="activeName" @tab-click="tabsClick" stretch="true"> | |||||
| <el-tab-pane label="视频设备预置点" name="first"> | |||||
| <div class="tabsBtn"> | |||||
| <el-button @click="bindingMonitorBtn(0)" | |||||
| >绑定可见光监测点</el-button | |||||
| > | |||||
| <el-button @click="bindingMonitorBtn(1)" | |||||
| >绑定热成像监控点</el-button | |||||
| > | |||||
| </div> | |||||
| </el-tab-pane> | |||||
| <el-tab-pane label="监测设备" name="second"> | |||||
| <div class="tabsBtn"> | |||||
| <el-button @click="InspectionBtn">绑定监测设备</el-button> | |||||
| <el-table> | |||||
| <el-table-column label="设备名称"> </el-table-column> | |||||
| <el-table-column label="设备设备编码"> </el-table-column> | |||||
| <el-table-column label="操作"> | |||||
| <template slot-scope="scope"> | |||||
| <el-button size="mini" type="text">移除</el-button> | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| </div> | |||||
| </el-tab-pane> | |||||
| </el-tabs> | |||||
| </el-col> | |||||
| </el-row> | |||||
| <!-- 添加监控点位 --> | |||||
| <el-dialog | |||||
| :title="monitorPointTitle" | |||||
| :visible.sync="monitorPointDialogVisible" | |||||
| width="60%" | |||||
| :before-close="monitorPointHandleClose" | |||||
| > | |||||
| <el-form | |||||
| v-model="monitorPointForm" | |||||
| label-position="right" | |||||
| label-width="120px" | |||||
| > | |||||
| <el-form-item label="监控点位名称"> | |||||
| <el-input v-model="monitorPointForm.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="监控点位编号"> | |||||
| <el-input v-model="monitorPointForm.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="监控点位内容"> | |||||
| <el-input | |||||
| v-model="monitorPointForm.name" | |||||
| type="textarea" | |||||
| maxlength="200" | |||||
| ></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="巡检类型"> | |||||
| <el-select | |||||
| v-model="monitorPointForm.value" | |||||
| multiple | |||||
| filterable | |||||
| allow-create | |||||
| default-first-option | |||||
| placeholder="请选择文章标签" | |||||
| style="width: 100%" | |||||
| > | |||||
| <el-option | |||||
| v-for="item in options" | |||||
| :key="item.value" | |||||
| :label="item.label" | |||||
| :value="item.value" | |||||
| > | |||||
| </el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| <el-form-item label="重要等级"> | |||||
| <el-select v-model="monitorPointForm.name" placeholder="请选择"> | |||||
| <el-option label="重要等级" value="重要等级"> </el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| <el-form-item label="用途"> | |||||
| <el-input v-model="monitorPointForm.name"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="x坐标"> | |||||
| <el-input-number | |||||
| v-model="monitorPointForm.name" | |||||
| :min="-20" | |||||
| :max="20" | |||||
| label="" | |||||
| :step="0.1" | |||||
| ></el-input-number> | |||||
| <span>(建议最小值-20,最大值20)</span> | |||||
| </el-form-item> | |||||
| <el-form-item label="y坐标"> | |||||
| <el-input-number | |||||
| v-model="monitorPointForm.name" | |||||
| :min="66" | |||||
| :max="80" | |||||
| label="" | |||||
| :step="0.1" | |||||
| ></el-input-number> | |||||
| <span>(建议66)</span> | |||||
| </el-form-item> | |||||
| <el-form-item label="z坐标"> | |||||
| <el-input-number | |||||
| v-model="monitorPointForm.name" | |||||
| :min="-6" | |||||
| :max="20" | |||||
| label="" | |||||
| :step="0.1" | |||||
| ></el-input-number> | |||||
| <span>(建议最小值-6,最大值20)</span> | |||||
| </el-form-item> | |||||
| </el-form> | |||||
| <span slot="footer" class="dialog-footer"> | |||||
| <el-button @click="monitorPointHandleClose">取 消</el-button> | |||||
| <el-button type="primary" @click="monitorPointHandleClose" | |||||
| >确 定</el-button | |||||
| > | |||||
| </span> | |||||
| </el-dialog> | |||||
| <!-- 绑定可见光监测点 --> | |||||
| <el-dialog | |||||
| :title="bindingMonitorPointTitle" | |||||
| :visible.sync="bindingMonitorPointDialogVisible" | |||||
| width="70%" | |||||
| :before-close="bindingMonitorPointClose" | |||||
| > | |||||
| <el-row :gutter="20"> | |||||
| <el-col :span="5"> | |||||
| <div class="bindingMonitorPointTree"> | |||||
| <el-tree :data="treeData" :props="defaultProps"></el-tree> | |||||
| </div> | |||||
| </el-col> | |||||
| <el-col :span="13"> | |||||
| <div class="bindingMonitorPointDiv"> | |||||
| <videoPlayer /> | |||||
| </div> | |||||
| </el-col> | |||||
| <el-col :span="6"> | |||||
| <div style="background: #eee; padding: 5px">云台</div> | |||||
| <div class="PTZ-content"> | |||||
| <img src="@/assets/images/PTZImg.png" alt="" class="PTZImg" /> | |||||
| <div class="r-ti2-pos"> | |||||
| <div></div> | |||||
| <div></div> | |||||
| <div></div> | |||||
| <div></div> | |||||
| <div></div> | |||||
| <div></div> | |||||
| <div></div> | |||||
| <div></div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="r-ti3"> | |||||
| <div class="r-ti3-d1"> | |||||
| <img src="@/assets/images/searchImg.png" alt="" /> | |||||
| <div class="r-ti3-d2"> | |||||
| <div></div> | |||||
| <div></div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="r-ti3-d1"> | |||||
| <img src="@/assets/images/r2Img.png" alt="" /> | |||||
| <div class="r-ti3-d2"> | |||||
| <div></div> | |||||
| <div></div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="r-ti3-d1"> | |||||
| <img src="@/assets/images/r3Img.png" alt="" /> | |||||
| <div class="r-ti3-d2"> | |||||
| <div></div> | |||||
| <div></div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="r-ti4"> | |||||
| <div style="display: flex"> | |||||
| <el-select v-model="value" placeholder="请选择"> | |||||
| <el-option label="item.label" value="item.value"> </el-option> | |||||
| </el-select> | |||||
| <img src="@/assets/images/playImg.png" alt="" /> | |||||
| <img src="@/assets/images/addImg.png" alt="" /> | |||||
| </div> | |||||
| <div style="display: flex; margin-top: 20px"> | |||||
| <el-input></el-input> | |||||
| <img src="@/assets/images/setImg.png" alt="" /> | |||||
| </div> | |||||
| </div> | |||||
| </el-col> | |||||
| </el-row> | |||||
| <el-table | |||||
| :data="bindingMonitorPointTableData" | |||||
| style="width: 100%" | |||||
| @header-click="clickFun" | |||||
| > | |||||
| <el-table-column prop="date" label="动作类型" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="name" label="录像时长(秒)" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="拍照次数" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="拍照间隔(秒)" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| align="center" | |||||
| :render-header="(h, obj) => renderHeader(h, obj, '添加')" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <span>移除</span> | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| </el-dialog> | |||||
| <!-- 绑定巡检设备 --> | |||||
| <el-dialog | |||||
| title="选择巡检设备" | |||||
| :visible.sync="InspectionDialogVisible" | |||||
| width="70%" | |||||
| :before-close="InspectionHandleClose" | |||||
| > | |||||
| <el-form :inline="true" :model="queryParams" class="demo-form-inline"> | |||||
| <el-form-item label="设备类型"> | |||||
| <el-select v-model="queryParams.region" placeholder="活动区域"> | |||||
| <el-option label="区域一" value="shanghai"></el-option> | |||||
| <el-option label="区域二" value="beijing"></el-option> | |||||
| </el-select> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备名称"> | |||||
| <el-input v-model="queryParams.user" placeholder="审批人"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="设备编码"> | |||||
| <el-input v-model="queryParams.user" placeholder="审批人"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="生产厂家"> | |||||
| <el-input v-model="queryParams.user" placeholder="审批人"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item> | |||||
| <el-button type="primary" icon="el-icon-search" size="mini" | |||||
| >搜索</el-button | |||||
| > | |||||
| <el-button icon="el-icon-refresh" size="mini">重置</el-button> | |||||
| </el-form-item> | |||||
| </el-form> | |||||
| <el-table | |||||
| :data="InspectionTableData" | |||||
| style="width: 100%" | |||||
| @row-click="InspectionChangeCurrentRow" | |||||
| highlight-current-row | |||||
| > | |||||
| <el-table-column | |||||
| prop="date" | |||||
| label="设备名称" | |||||
| align="center" | |||||
| fixed="left" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="name" | |||||
| label="设备编码" | |||||
| align="center" | |||||
| fixed="left" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="视频NVR编码" | |||||
| align="center" | |||||
| fixed="left" | |||||
| width="150px" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="生产厂家" | |||||
| align="center" | |||||
| fixed="left" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="主系统编号" | |||||
| align="center" | |||||
| fixed="left" | |||||
| width="150px" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="变电站名称" | |||||
| align="center" | |||||
| width="150px" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="变电站编码" | |||||
| align="center" | |||||
| width="150px" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="区域名称" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="设备类型" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="设备型号" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="使用单位" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="设备来源" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="生产日期" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="出厂编号" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="使用类型" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="视频类型" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column | |||||
| prop="address" | |||||
| label="所属机器人" | |||||
| align="center" | |||||
| width="150px" | |||||
| > | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="ip地址" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="端口" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="用户" align="center"> | |||||
| </el-table-column> | |||||
| <el-table-column prop="address" label="密码" align="center"> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| <span slot="footer" class="dialog-footer"> | |||||
| <el-button @click="dialogVisible = false">取 消</el-button> | |||||
| <el-button type="primary" @click="dialogVisible = false" | |||||
| >确 定</el-button | |||||
| > | |||||
| </span> | |||||
| </el-dialog> | |||||
| <!-- 机器人点位上传 --> | |||||
| <el-dialog | |||||
| title="机器人离线点位文件上传" | |||||
| :visible.sync="upload.open" | |||||
| width="30%" | |||||
| :before-close="handleClose" | |||||
| > | |||||
| <div style="width: 100%;text-align: center;"> | |||||
| <el-upload | |||||
| ref="uploadRef" | |||||
| :limit="1" | |||||
| accept=".xlsx, .xls, .txt, .xml" | |||||
| :headers="upload.headers" | |||||
| :action="upload.url + '?updateSupport=' + upload.updateSupport" | |||||
| :disabled="upload.isUploading" | |||||
| :on-progress="handleFileUploadProgress" | |||||
| :on-success="handleFileSuccess" | |||||
| :auto-upload="false" | |||||
| drag | |||||
| > | |||||
| <el-icon class="el-icon--upload"><upload-filled /></el-icon> | |||||
| <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> | |||||
| <template #tip> | |||||
| <div class="el-upload__tip text-center"> | |||||
| <span>仅允许导入xls、xlsx、xml、txt格式文件。</span> | |||||
| <!-- <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline" | |||||
| @click="importTemplate">下载模板</el-link> --> | |||||
| </div> | |||||
| </template> | |||||
| </el-upload> | |||||
| </div> | |||||
| <span slot="footer" class="dialog-footer"> | |||||
| <el-button @click="upload.open = false">取 消</el-button> | |||||
| <el-button type="primary" @click="submitFileForm">确 定</el-button> | |||||
| </span> | |||||
| </el-dialog> | |||||
| </div> | |||||
| </template> | |||||
| <script > | |||||
| import videoPlayer from "@/components/videoPlayer/index.vue"; | |||||
| import { getToken } from "@/utils/auth"; | |||||
| export default { | |||||
| name: "SiteManagement", | |||||
| components: { | |||||
| videoPlayer, | |||||
| }, | |||||
| data() { | |||||
| return { | |||||
| treeData: [ | |||||
| { | |||||
| label: "一级 1", | |||||
| type: 1, | |||||
| children: [ | |||||
| { | |||||
| label: "二级 1-1", | |||||
| children: [ | |||||
| { | |||||
| label: "三级 1-1-1", | |||||
| children: [ | |||||
| { | |||||
| label: "四级 1-1-1-1", | |||||
| type: 4, | |||||
| }, | |||||
| { | |||||
| label: "四级 1-1-1-2", | |||||
| type: 4, | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| }, | |||||
| ], | |||||
| defaultProps: { | |||||
| children: "children", | |||||
| label: "label", | |||||
| }, | |||||
| tableData: [{}, {}], | |||||
| activeName: "first", | |||||
| monitorPointDialogVisible: false, | |||||
| monitorPointForm: {}, | |||||
| monitorPointTitle: "添加监控点位", | |||||
| options: [ | |||||
| { | |||||
| value: "HTML", | |||||
| label: "HTML", | |||||
| }, | |||||
| { | |||||
| value: "CSS", | |||||
| label: "CSS", | |||||
| }, | |||||
| { | |||||
| value: "JavaScript", | |||||
| label: "JavaScript", | |||||
| }, | |||||
| ], | |||||
| bindingMonitorPointTitle: "绑定可见光监控点", | |||||
| bindingMonitorPointDialogVisible: false, | |||||
| bindingMonitorPointTableData: [ | |||||
| { | |||||
| date: "2016-05-02", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1518 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-04", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1517 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-01", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1519 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-03", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1516 弄", | |||||
| }, | |||||
| ], | |||||
| InspectionDialogVisible: false, | |||||
| queryParams: {}, | |||||
| InspectionTableData: [ | |||||
| { | |||||
| date: "2016-05-02", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1518 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-04", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1517 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-01", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1519 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-03", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1516 弄", | |||||
| }, | |||||
| ], | |||||
| upload: { | |||||
| // 是否显示弹出层(用户导入) | |||||
| open: false, | |||||
| // 弹出层标题(用户导入) | |||||
| title: "", | |||||
| // 是否禁用上传 | |||||
| isUploading: false, | |||||
| // 是否更新已经存在的用户数据 | |||||
| updateSupport: 0, | |||||
| // 设置上传的请求头部 | |||||
| headers: { Authorization: "Bearer " + getToken() }, | |||||
| // 上传的地址 | |||||
| // url: import.meta.env.VITE_APP_BASE_API + "/zhxx/device/import", | |||||
| }, | |||||
| }; | |||||
| }, | |||||
| mounted() {}, | |||||
| methods: { | |||||
| // 给表头加必填符号* | |||||
| addRedStar(h, { column }) { | |||||
| return [ | |||||
| h("span", { style: "color: red" }, "*"), | |||||
| h("span", " " + column.label), | |||||
| ]; | |||||
| }, | |||||
| handleNodeClick() {}, | |||||
| changeCurrentRow(row) { | |||||
| this.currentRowId = row.id; // 更新当前点击的行ID | |||||
| rowStyle(row); | |||||
| }, | |||||
| // 更改选中行背景色 | |||||
| rowStyle({ row }) { | |||||
| if (this.name === row.name) { | |||||
| return { "background-color": "#F7EDED", cursor: "pointer" }; | |||||
| } | |||||
| return { cursor: "pointer" }; | |||||
| }, | |||||
| tabsClick() {}, | |||||
| add() { | |||||
| this.monitorPointDialogVisible = true; | |||||
| this.monitorPointTitle = "添加监控点位"; | |||||
| }, | |||||
| monitorPointHandleClose() { | |||||
| this.monitorPointDialogVisible = false; | |||||
| }, | |||||
| monitorPointEdit() { | |||||
| this.monitorPointDialogVisible = true; | |||||
| this.monitorPointTitle = "修改监控点位"; | |||||
| }, | |||||
| // 关闭绑定可见光监测点弹窗 | |||||
| bindingMonitorPointClose() { | |||||
| this.bindingMonitorPointDialogVisible = false; | |||||
| }, | |||||
| bindingMonitorBtn(type) { | |||||
| if (type == 0) { | |||||
| this.bindingMonitorPointTitle = "绑定可见光监控点"; | |||||
| } else { | |||||
| this.bindingMonitorPointTitle = "绑定热成像监控点"; | |||||
| } | |||||
| this.bindingMonitorPointDialogVisible = true; | |||||
| }, | |||||
| clickFun() {}, | |||||
| renderHeader(h, { column, $index }, type) { | |||||
| let that = this; | |||||
| return h("div", [ | |||||
| // 列名称 | |||||
| h("span", column.label), | |||||
| // 按钮 | |||||
| h( | |||||
| "el-button", | |||||
| { | |||||
| props: { | |||||
| type: "text", | |||||
| size: "small", | |||||
| }, | |||||
| style: "margin-left: 5px;", | |||||
| on: { | |||||
| click: function () { | |||||
| that.clickButton(type); | |||||
| }, | |||||
| }, | |||||
| }, | |||||
| "添加" | |||||
| ), | |||||
| ]); | |||||
| }, | |||||
| clickButton(type) { | |||||
| console.log("我点击了" + type + "的列"); | |||||
| }, | |||||
| InspectionHandleClose() { | |||||
| this.InspectionDialogVisible = false; | |||||
| }, | |||||
| InspectionBtn() { | |||||
| this.InspectionDialogVisible = true; | |||||
| }, | |||||
| InspectionChangeCurrentRow(row) { | |||||
| this.currentRowId = row.id; // 更新当前点击的行ID | |||||
| rowStyle(row); | |||||
| }, | |||||
| /**文件上传中处理 */ | |||||
| handleFileUploadProgress(event, file, fileList) { | |||||
| upload.isUploading = true; | |||||
| }, | |||||
| /** 文件上传成功处理 */ | |||||
| handleFileSuccess(response, file, fileList) { | |||||
| upload.open = false; | |||||
| upload.isUploading = false; | |||||
| proxy.$refs["uploadRef"].handleRemove(file); | |||||
| proxy.$alert( | |||||
| "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + | |||||
| response.msg + | |||||
| "</div>", | |||||
| "导入结果", | |||||
| { dangerouslyUseHTMLString: true } | |||||
| ); | |||||
| // getList(); | |||||
| }, | |||||
| /** 提交上传文件 */ | |||||
| submitFileForm() { | |||||
| proxy.$refs["uploadRef"].submit(); | |||||
| }, | |||||
| upDataBtn() { | |||||
| console.log(111); | |||||
| this.upload.open = true; | |||||
| }, | |||||
| }, | |||||
| }; | |||||
| </script> | |||||
| <style lang="scss" scoped> | |||||
| .qurey { | |||||
| margin-bottom: 10px; | |||||
| ::v-deep.el-button { | |||||
| background-color: #46a6ff !important; | |||||
| color: #fff !important ; | |||||
| } | |||||
| } | |||||
| .tableOperate { | |||||
| margin-top: 10px; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| .tableSearch { | |||||
| ::v-deep.el-button { | |||||
| background-color: #46a6ff !important; | |||||
| color: #fff !important ; | |||||
| } | |||||
| } | |||||
| } | |||||
| .tableXYZ { | |||||
| display: flex; | |||||
| } | |||||
| .cameraImgDiv { | |||||
| text-align: center; | |||||
| } | |||||
| .cameraImg { | |||||
| width: 30%; | |||||
| margin-bottom: 10px; | |||||
| } | |||||
| .tabsBtn { | |||||
| text-align: center; | |||||
| } | |||||
| .bindingMonitorPointTree { | |||||
| width: 100%; | |||||
| height: 40vh; | |||||
| overflow-y: scroll; | |||||
| } | |||||
| .bindingMonitorPointDiv { | |||||
| width: 100%; | |||||
| height: 40vh; | |||||
| background: red; | |||||
| } | |||||
| .PTZ-content { | |||||
| width: 170px; | |||||
| margin: 10px auto; | |||||
| position: relative; | |||||
| img { | |||||
| width: 100%; | |||||
| } | |||||
| } | |||||
| .r-ti2-pos { | |||||
| position: absolute; | |||||
| top: 0; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| div { | |||||
| position: absolute; | |||||
| z-index: 999; | |||||
| width: 20px; | |||||
| height: 15px; | |||||
| cursor: pointer; | |||||
| } | |||||
| div:first-child { | |||||
| top: 32px; | |||||
| left: 75px; | |||||
| } | |||||
| div:nth-child(2) { | |||||
| top: 50px; | |||||
| left: 102px; | |||||
| } | |||||
| div:nth-child(3) { | |||||
| top: 77px; | |||||
| right: 30px; | |||||
| } | |||||
| div:nth-child(4) { | |||||
| bottom: 56px; | |||||
| left: 102px; | |||||
| } | |||||
| div:nth-child(5) { | |||||
| bottom: 36px; | |||||
| left: 75px; | |||||
| } | |||||
| div:nth-child(6) { | |||||
| bottom: 56px; | |||||
| right: 100px; | |||||
| } | |||||
| div:nth-child(7) { | |||||
| bottom: 80px; | |||||
| left: 30px; | |||||
| } | |||||
| div:nth-child(8) { | |||||
| top: 50px; | |||||
| right: 102px; | |||||
| } | |||||
| } | |||||
| .r-ti3 { | |||||
| width: 100%; | |||||
| display: flex; | |||||
| padding-top: 10px; | |||||
| -webkit-box-pack: justify; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .r-ti3-d1 { | |||||
| width: 76px; | |||||
| position: relative; | |||||
| img { | |||||
| width: 100%; | |||||
| } | |||||
| .r-ti3-d2 { | |||||
| position: absolute; | |||||
| top: 0; | |||||
| left: 0; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| div:first-child { | |||||
| width: 50%; | |||||
| height: 100%; | |||||
| position: absolute; | |||||
| top: 0; | |||||
| left: 0; | |||||
| cursor: pointer; | |||||
| } | |||||
| div:nth-child(2) { | |||||
| width: 50%; | |||||
| height: 100%; | |||||
| position: absolute; | |||||
| top: 0; | |||||
| right: 0; | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| } | |||||
| .r-ti4 { | |||||
| padding-top: 20px; | |||||
| img { | |||||
| width: 24px; | |||||
| height: 24px; | |||||
| position: relative; | |||||
| top: 6px; | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| </style> | |||||