hanbaoshan
2020-08-04 1bc9dc3ac0f81047f7ecfe3f039c984d9776e84a
移除算法商城场景配置相关方法及接口,处理iframe拖拽边界
5个文件已修改
129 ■■■■■ 已修改文件
src/api/scene.ts 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/algorithmManage/index/App.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/cameraAccess/components/SceneRule.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/cameraAccess/components/SeparateRules.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/desktop/index/components/DFrame.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/scene.ts
@@ -1,27 +1,27 @@
import request from "@/scripts/httpRequest";
export const getAllTemplate = (query: any) => {
  return request({
    url: "/data/api-v/template/rule",
    method: "get",
    params: query
  });
};
// export const getAllTemplate = (query: any) => {
//   return request({
//     url: "/data/api-v/template/rule",
//     method: "get",
//     params: query
//   });
// };
export const deleteTemplate = (id: string) => {
  return request({
    url: "/data/api-v/template/rule/" + id,
    method: "delete"
  });
};
// export const deleteTemplate = (id: string) => {
//   return request({
//     url: "/data/api-v/template/rule/" + id,
//     method: "delete"
//   });
// };
export const saveTemplate = (params: any) => {
  return request({
    url: "/data/api-v/template/rule/save",
    method: "post",
    data: params
  });
};
// export const saveTemplate = (params: any) => {
//   return request({
//     url: "/data/api-v/template/rule/save",
//     method: "post",
//     data: params
//   });
// };
export const saveCameraScene = (params: any) => {
  return request({
src/pages/algorithmManage/index/App.vue
@@ -1554,21 +1554,7 @@
      // console.log(item, '修改名称')
      this.$set(item, "isEdit", false);
    },
    updateTemplates() {
      getAllTemplate().then(rsp => {
        if (rsp && rsp.success) {
          this.sceneTemplates = rsp.data;
          this.sceneTemplates.forEach(element => {
            element.icon = [
              "iconrenlianjiance",
              "icongetijingzhi",
              "iconchouyan-copy",
              "iconrenshukouzhao"
            ];
          });
        }
      });
    },
    cleanTemplateForm() {
      this.appSceneForm.name = "";
      this.appSceneForm.desc = "";
@@ -1578,9 +1564,7 @@
      this.$refs.ruleEditor.cleanRule();
    },
    handleTabClick() {
      if (this.activeName == "appScenarios") {
        this.updateTemplates();
      }
    },
    handleCreateScene() {
      this.sceneDialogVisible = true;
@@ -1607,42 +1591,8 @@
      this.sceneDialogVisible = true;
      this.dialogTitle = '编辑场景模板';
    },
    handleDelScene(item) {
      this.$confirm('此操作将删除该应用场景模板, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        deleteTemplate(item.id).then(res => {
          if (res && res.success) {
            this.updateTemplates();
            this.$message({
              type: 'success',
              message: '删除成功!'
            });
          }
        })
      }).catch(() => {
        console.log('取消删除');
      });
    },
    handleSaveTemplate() {
      let editorResp = this.$refs.ruleEditor.submitRule();
      this.appSceneForm.rules = JSON.stringify(editorResp.rules);
      this.appSceneForm.txt = editorResp.text;
      saveTemplate(this.appSceneForm).then(rsp => {
        if (rsp && rsp.success) {
          this.$notify({
            type: "success",
            message: "模板创建成功"
          });
          this.updateTemplates();
          this.sceneDialogVisible = false;
        }
      });
    }
  }
};
</script>
src/pages/cameraAccess/components/SceneRule.vue
@@ -191,7 +191,6 @@
<script>
import {
  getAllTemplate,
  saveCameraScene,
  getCameraSceneRule,
  deleteCameraScene
@@ -249,7 +248,7 @@
  },
  mounted() {
    // window.addEventListener('resize', this.windowSizeChange)
    this.updateTemplates();
  },
  data() {
    return {
@@ -362,13 +361,7 @@
      this.$refs.sceneEditor.editHandle(this.templateRules);
    },
    updateTemplates() {
      getAllTemplate().then(rsp => {
        if (rsp && rsp.success) {
          this.sceneTemplates = rsp.data;
        }
      })
    },
    selectTemplate() {
      let selectedTpl = {};
      this.sceneTemplates.forEach((t) => {
src/pages/cameraAccess/components/SeparateRules.vue
@@ -242,7 +242,6 @@
} from '@/api/task';
import {
  getAllTemplate,
  saveCameraScene,
  getCameraSceneRule,
} from '@/api/scene'
src/pages/desktop/index/components/DFrame.vue
@@ -145,8 +145,21 @@
        document.onmousemove = function (e) {
          e.preventDefault();
          window.getSelection().removeAllRanges();
          el.parentElement.style.left = e.clientX - disx + 'px';
          el.parentElement.style.top = e.clientY - disy + 'px';
          let toLeft = e.clientX - disx;
          let toTop = e.clientY - disy;
          //边界处理
          if(toLeft <= 0 ){
            toLeft = 0
          }else if(toLeft >= document.body.getBoundingClientRect().width-40){
            toLeft = document.body.getBoundingClientRect().width-40;
          }
          el.parentElement.style.left = toLeft + 'px';
          if(toTop <= 0 ){
            toTop = 0
          }else if(toTop >= document.body.getBoundingClientRect().height-40){
            toTop = document.body.getBoundingClientRect().height-40;
          }
          el.parentElement.style.top = toTop + 'px';
        };
        document.onmouseup = function () {
          el.dragLock = false;
@@ -185,7 +198,7 @@
<style scoped>
html,
body {
  heiht: 100%;
  height: 100%;
}
.d-frame {
  position: fixed;