南昌市物联网技防平台-前端
zengh
2021-04-19 79c83a8a352321f6544625d8a4d99d5d7396635b
客户管理支持选择处警员
2 files modified
91 ■■■■ changed files
src/api/client/client.js 10 ●●●●● patch | view | raw | blame | history
src/views/clientManagement/clientManagement.vue 81 ●●●●● patch | view | raw | blame | history
src/api/client/client.js
@@ -87,3 +87,13 @@
  })
}
export const getBaTree = (id) => {
  return request({
    url: '/api/blade-user/pages',
    method: 'get',
    params: {
      id,
    }
  })
}
src/views/clientManagement/clientManagement.vue
@@ -193,10 +193,11 @@
</template>
<script>
  import {getList, remove, update, add, getclient, getDeptLazyTree, getAll, updates} from "@/api/client/client";
  import {getList, remove, update, add, getclient, getDeptLazyTree, getAll, updates,getBaTree} from "@/api/client/client";
  import {mapGetters} from "vuex";
  import axios from "axios";
  import Legend from '../../components/liu-legend/Legend'
  import AvueMap from "avue-plugin-map";
  export default {
    components:{
@@ -315,7 +316,6 @@
              label: "设备编号",
              prop: "deviceNumber",
              width: 130,
              editDisabled: true,
              rules: [
                {
                  required: false,
@@ -336,7 +336,7 @@
              rules: [
                {
                  required: false,
                  message: "请选择上级菜单",
                  message: "请选择使用方",
                  trigger: "click"
                }
              ]
@@ -403,25 +403,7 @@
              addDisplay: false,
              editDisplay: false
            },
            {
              label: "设备类型",
              prop: "deviceType",
              width: 100,
              search: true,
              searchSpan: 3,
              searchLabelWidth: 80,
              searchPlaceholder: "请选择",
              type: "select",
              props: {
                label: "dictValue",
                value: "dictValue"
              },
              dicUrl: "/api/blade-system/dict-biz/child-list?parentId=1357568691367661569",
              hide: true,
              addDisplay: true,
              editDisplay: true,
              viewDisplay: true,
            },
            {
              label: "省份",
              prop: "province",
@@ -497,8 +479,32 @@
              viewDisplay: true,
            },
            {
              label: "地址",
              prop: "map",
              hide: true,
              span: 24,
              component: "AvueMap",
            },
            {
              label: "经度",
              hide: true,
              addDisplay: false,
              prop: "jd",
            },
            {
              label: "纬度",
              hide: true,
              addDisplay: false,
              prop: "wd",
            },
            {
              label: "负责人",
              prop: "oneContacts",
              prop: "oneId",
              type: "tree",
              dicUrl: "/api/blade-system/dept/Batrees",
              props: {
                label: "title"
              },
              width: 72,
              hide: true,
              addDisplay: true,
@@ -559,6 +565,31 @@
        },
        data: []
      };
    },
    watch: {
      "form.map": {
        // form是表单或者表格绑定的数据集,v-model='form'
        handler(val) {
          debugger
          if (val) {
            this.form.wd = val.latitude;
            this.form.jd = val.longitude;
            this.form.street = val.formattedAddress;
          }
        },
        immediate: true,
      },
      "form.oneId":{
        handler(val) {
          var that = this;
          getBaTree(val).then(res => {
            if (res) {
              that.form.onePhone = res.data.data.records[0].phone;
              that.form.oneContacts = res.data.data.records[0].name;
            }
          });
        },
      }
    },
    computed: {
      ...mapGetters(["permission"]),
@@ -834,9 +865,9 @@
        //console.log(document.body.clientHeight,event.clientY,cha)
        // 防止菜单太靠底,根据可视高度调整菜单出现位置
        if (cha < 150) {
          menu.style.top = event.clientY -120 - (70) + 'px'
          menu.style.top = event.clientY -120 - (100) + 'px'
        } else {
          menu.style.top = event.clientY -10 - (70) + 'px'
          menu.style.top = event.clientY -10 - (100) + 'px'
        }
        menu.style.left = event.clientX + 10 - (60) + 'px'
        document.addEventListener('click', this.foo); // 给整个document新增监听鼠标事件,点击任何位置执行foo方法