唐耀东
2022-06-11 35bff42b22d092d164ef4b9db8701f839c57bd9c
src/views/components/nvr/index.vue
@@ -1,10 +1,11 @@
<template>
  <div>
    <el-input placeholder="请选择" :value="name" disabled>
      <el-button slot="append" icon="el-icon-thumb" @click="handleClick"></el-button>
      <el-button slot="append" v-if="currentId" icon="el-icon-circle-close" @click="handleClear"></el-button>
      <el-button slot="append" v-else icon="el-icon-thumb" @click="handleClick"></el-button>
    </el-input>
    <el-dialog title="NVR" :visible.sync="open" width="800px" :append-to-body="true" :destroy-on-close="true">
      <nvr-list v-if="open" ref="nvrRef" :schoolId="schoolId"></nvr-list>
    <el-dialog title="隶属NVR" :visible.sync="open" width="800px" :append-to-body="true" :destroy-on-close="true">
      <nvr-list v-if="open" ref="nvrRef" :schoolId="schoolId" @setCurrentRow="getCurrentRow"></nvr-list>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="open = false">取 消</el-button>
@@ -42,7 +43,8 @@
  data() {
    return {
      open: false,
      name: ''
      name: '',
      currentId: ''
    }
  },
  watch: {
@@ -50,6 +52,7 @@
      if (v) {
        getNvr(v).then(response => {
          this.name = response.data.deploymentName;
          this.currentId = response.data.id
        });
      }else {
        this.name = '';
@@ -60,10 +63,20 @@
    if (this.value) {
      getNvr(this.value).then(response => {
        this.name = response.data.deploymentName;
        this.currentId = response.data.id;
      });
    }
  },
  methods: {
    handleClear () {
      this.currentId = undefined;
      this.name = undefined;
      this.$emit("change", undefined);
      this.$emit('nvrIdChange')
    },
    getCurrentRow (e) {
      this.currentId = e.id
    },
    handleClick() {
      this.open = true;
    },
@@ -84,4 +97,4 @@
<style scoped>
</style>
</style>