| | |
| | | }); |
| | | }; |
| | | |
| | | // export const pasteRules = (params: any) => {//算法的复制粘贴功能 |
| | | // return request({ |
| | | // url: "/data/api-v/camera/pasteRules", |
| | | // method: "post", |
| | | // data: params |
| | | // }); |
| | | // }; |
| | | export const pasteRules = (params: any) => { |
| | | return request({ |
| | | url: "/data/api-v/camera/pasteRules", |
| | | url: "/api-v1/v1/task/pasteTask", |
| | | method: "post", |
| | | data: params |
| | | }); |
| | |
| | | <p v-for="(item, index) in data.event_levels" :key="index + 'rule'"> |
| | | <span v-if="data.is_warning === 1" style="color: red;">{{ data.task_name }}</span |
| | | > |
| | | <span v-else>{{ data.task_name }}</span |
| | | > |
| | | <!-- <span v-else>{{ data.task_name }}</span> --> |
| | | |
| | | <span v-if="data.is_warning === 1" style="color: red;">{{ |
| | | item.dictValue |
| | | }}</span |
| | | > |
| | | <span v-else>{{ |
| | | <!-- <span v-else>{{ |
| | | item.dictValue |
| | | }}</span |
| | | > |
| | | }}</span> --> |
| | | |
| | | </p> |
| | | <!-- <el-tooltip placement="right" popper-class="atooltip"> |
| | | <div slot="content"> |
| | |
| | | <span style="margin-left:35px;">{{ data.cameraName || "摄像机名称" }}</span> |
| | | </p> |
| | | <p> |
| | | <span class="fontStyleForModel">AI任务</span> |
| | | <span v-if="data.is_warning === 1" class="fontStyleForModel">AI任务</span> |
| | | <span v-if="data.is_warning === 1" style="margin-left:20px;color: red;">{{ data.task_name }}</span> |
| | | <span v-else style="margin-left:20px;">{{ data.task_name }}</span> |
| | | <span v-if="data.is_warning === 1" style="margin-left:20px;color: red;">{{ data.event_level_name }}</span> |
| | | <span v-else style="margin-left:20px;">{{ data.event_level_name }}</span> |
| | | </p> |
| | | <p v-if="data.is_warning === 1"> |
| | | <span class="fontStyleForModel">隐患描述</span> |
| | |
| | | <div class="tab-btns" v-if="activeName != '离线升级/安装'"> |
| | | <div class="group-left"> |
| | | <div class="tab" @click="pickTab('sdk')" :class="activeTab == 'sdk' ? 'tab-active' : ''"> |
| | | 算法软件 |
| | | 模型软件 |
| | | </div> |
| | | <div class="tab" @click="pickTab('app')" :class="activeTab == 'app' ? 'tab-active' : ''"> |
| | | 应用软件 |
| | |
| | | <span class="label">SmartAI节点: {{ Camera.runServerName }}</span> |
| | | </div> |
| | | |
| | | <!-- <div v-if="Camera.analytics" class="flex-box"> |
| | | <span class="label">算法快速通道</span> |
| | | <div v-if="Camera.analytics" class="flex-box"> |
| | | <span class="label">任务快速通道</span> |
| | | <div class="channel flex-box"> |
| | | <el-tooltip effect="dark" content="复制此摄像机算法规则" placement="bottom" popper-class="atooltip"> |
| | | <el-tooltip effect="dark" content="复制此摄像机AI任务" placement="bottom" popper-class="atooltip"> |
| | | <span style="color: #3d68e1; cursor: pointer; font-size: 23px" @click="ctrlC" |
| | | class="iconfont iconfuzhiguize"></span> |
| | | </el-tooltip> |
| | | <el-tooltip effect="dark" :content="!TreeDataPool.ctrlCameraId ? '粘贴算法规则' : `粘贴算法规则,来源:${TreeDataPool.ctrlCameraName}` |
| | | <el-tooltip effect="dark" :content="!TreeDataPool.ctrlCameraId ? '粘贴AI任务' : `粘贴AI任务,来源:${TreeDataPool.ctrlCameraName}` |
| | | " placement="bottom" popper-class="atooltip"> |
| | | <span :style="!TreeDataPool.ctrlCameraId |
| | | ? 'cursor: not-allowed;font-size:23px;' |
| | |
| | | " @click="ctrlV" class="iconfont iconniantie ml5"></span> |
| | | </el-tooltip> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | targetIds: [this.Camera.cameraId] |
| | | }) |
| | | .then((res) => { |
| | | if (res && res.success) { |
| | | if (res && res.status === 200) { |
| | | this.$notify({ |
| | | type: "success", |
| | | message: "粘贴算法成功!" |
| | |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'CameraTree', |
| | | name: 'TreeMenu', |
| | | props: { |
| | | node: Array, // 接收树数据 |
| | | height: [Number, String], |
| | |
| | | mounted() { |
| | | this.checkedKeys(this.node) |
| | | this.$refs.tree.setCheckedKeys(this.checkedKeysList); |
| | | // console.log("checkedKeysList",this.checkedKeysList) |
| | | this.handleCheckChange() |
| | | console.log("checkedKeysList",this.checkedKeysList) |
| | | // this.handleCheckChange() |
| | | }, |
| | | methods: { |
| | | checkedKeys(node) { |
| | |
| | | <b>国标摄像机配置</b> |
| | | <span>(最多勾选500路摄像机)</span> |
| | | </div> |
| | | <tree-menu ref="tree" app="gb28181" treeName="localTree" :node="treeData" :height="treeHeight" |
| | | <tree-menu v-if="activeName === 'cameras' && treeDataLoaded" ref="tree" app="gb28181" treeName="localTree" :node="treeData" :height="treeHeight" |
| | | @cehckDataUpload="handleParentMethod" :setting="treeSettings" style="width:600px;min-height:500px" /> |
| | | <!-- <div class="base-image" > |
| | | <span>{{ 0 }}</span> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | treeDataLoaded:false, |
| | | totalNode: 0, |
| | | checkData: 0, |
| | | treeData: [{ |
| | |
| | | gb28181.getGb28181Pool().then((rsp) => { |
| | | if (rsp && rsp.status == 200) { |
| | | // console.log("treeData:",rsp.data.items) |
| | | this.treeData = []; |
| | | this.treeData = rsp.data.items; |
| | | this.totalNode = rsp.data.total; |
| | | this.checkData = this.treeData.filter(node => node.checked).length |
| | | this.treeDataLoaded = true; |
| | | } |
| | | // console.log("treeData:",this.treeData) |
| | | }) |
| | | }, |
| | | saveChecked() { |
| | |
| | | return `${date.getFullYear()}-${month}-${day}` |
| | | }, |
| | | getTimeRange(gap) { |
| | | if(!gap){ |
| | | gap = 24 * 60 * 60 * 1000 |
| | | } |
| | | var date = new Date() |
| | | var preDay = new Date(new Date().getTime() - gap + 24 * 60 * 60 * 1000) |
| | | this.timeStart = this.getTimeStr(preDay) + " 00:00:00" |
| | | this.timeEnd = this.getTimeStr(date) + " 23:59:59" |
| | | console.log("gap",gap) |
| | | }, |
| | | clearSearch() { |
| | | this.fuzzySearch = "" |
| | |
| | | :class="activeTab == 0 ? 'tab-item-active' : ''" |
| | | @click="activeTab = 0" |
| | | > |
| | | <div class="title">算法单元</div> |
| | | <div class="title">模型单元</div> |
| | | <div class="subtitle"> |
| | | 正在进行{{ algoProcessData.length }}个算法单元 |
| | | </div> |