648540858 пре 1 година
родитељ
комит
bec52f687e
2 измењених фајлова са 15 додато и 99 уклоњено
  1. 7 94
      web_src/src/components/ChannelEdit.vue
  2. 8 5
      web_src/src/components/channelList.vue

+ 7 - 94
web_src/src/components/ChannelEdit.vue

@@ -1,25 +1,9 @@
 <template>
-  <div id="ChannelEdit" v-loading="isLoging">
+  <div id="ChannelEdit" v-loading="isLoging" style="width: 100%">
     <el-form ref="passwordForm" :rules="rules" status-icon label-width="80px">
-      <el-form-item label="用户名" prop="username">
-        <el-input v-model="username" autocomplete="off"></el-input>
-      </el-form-item>
-      <el-form-item label="用户类型" prop="roleId" >
-        <el-select v-model="roleId"  placeholder="请选择" style="width: 100%">
-          <el-option
-            v-for="item in options"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id">
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="密码" prop="password">
-        <el-input v-model="password" autocomplete="off"></el-input>
-      </el-form-item>
-      <el-form-item label="确认密码" prop="confirmPassword">
-        <el-input v-model="confirmPassword" autocomplete="off"></el-input>
-      </el-form-item>
+<!--      <el-form-item label="gbName" prop="gbName">-->
+<!--        <el-input v-model="form.gbName"></el-input>-->
+<!--      </el-form-item>-->
 
       <el-form-item>
         <div style="float: right;">
@@ -35,93 +19,22 @@
 
 export default {
   name: "channelEdit",
-  props: {},
+  props: [ 'id',],
   computed: {},
   created() {
 
   },
   data() {
-    let validatePass1 = (rule, value, callback) => {
-      if (value === '') {
-        callback(new Error('请输入新密码'));
-      } else {
-        if (this.confirmPassword !== '') {
-          this.$refs.passwordForm.validateField('confirmPassword');
-        }
-        callback();
-      }
-    };
-    let validatePass2 = (rule, value, callback) => {
-      if (this.confirmPassword === '') {
-        callback(new Error('请再次输入密码'));
-      } else if (this.confirmPassword !== this.password) {
-        callback(new Error('两次输入密码不一致!'));
-      } else {
-        callback();
-      }
-    };
     return {
-      value:"",
-      options: [],
-      loading: false,
-      username: null,
-      password: null,
-      roleId: null,
-      confirmPassword: null,
-      listChangeCallback: null,
-      showDialog: false,
-      isLoging: false,
-      rules: {
-        newPassword: [{required: true, validator: validatePass1, trigger: "blur"}, {
-          pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,20}$/,
-          message: "密码长度在8-20位之间,由字母+数字+特殊字符组成",
-        },],
-        confirmPassword: [{required: true, validator: validatePass2, trigger: "blur"}],
-      },
+      form: {},
     };
   },
   methods: {
-    openDialog: function (callback) {
-      this.listChangeCallback = callback;
-      this.showDialog = true;
-    },
     onSubmit: function () {
-      this.$axios({
-        method: 'post',
-        url: "/api/user/add",
-        params: {
-          username: this.username,
-          password: this.password,
-          roleId: this.roleId
-        }
-      }).then((res) => {
-        if (res.data.code === 0) {
-          this.$message({
-            showClose: true,
-            message: '添加成功',
-            type: 'success',
 
-          });
-          this.showDialog = false;
-          this.listChangeCallback()
-
-        } else {
-          this.$message({
-            showClose: true,
-            message: res.data.msg,
-            type: 'error'
-          });
-        }
-      }).catch((error) => {
-        console.error(error)
-      });
     },
     close: function () {
-      this.showDialog = false;
-      this.password = null;
-      this.confirmPassword = null;
-      this.username = null;
-      this.roleId = null;
+
     },
     getAllRole:function () {
 

+ 8 - 5
web_src/src/components/channelList.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="channelList" style="width: 100%">
-    <div class="page-header">
+    <div v-if="!editId" class="page-header">
       <div class="page-title">
         <el-button icon="el-icon-back" size="mini" style="font-size: 20px; color: #000;" type="text" @click="showDevice" ></el-button>
         <el-divider direction="vertical"></el-divider>
@@ -45,7 +45,7 @@
       </div>
     </div>
     <devicePlayer ref="devicePlayer"></devicePlayer>
-    <el-container v-loading="isLoging" style="height: 82vh;">
+    <el-container v-if="!editId" v-loading="isLoging" style="height: 82vh;">
       <el-aside width="auto" style="height: 82vh; background-color: #ffffff; overflow: auto" v-if="showTree">
         <DeviceTree ref="deviceTree" :device="device" :onlyCatalog="true" :clickEvent="treeNodeClickEvent"></DeviceTree>
       </el-aside>
@@ -161,7 +161,7 @@
         </el-pagination>
       </el-main>
     </el-container>
-
+    <channel-edit v-if="editId" id="editId"></channel-edit>
     <!--设备列表-->
 
   </div>
@@ -172,13 +172,15 @@ import devicePlayer from './dialog/devicePlayer.vue'
 import uiHeader from '../layout/UiHeader.vue'
 import DeviceService from "./service/DeviceService";
 import DeviceTree from "./common/DeviceTree";
+import ChannelEdit from "./ChannelEdit";
 
 export default {
   name: 'channelList',
   components: {
     devicePlayer,
     uiHeader,
-    DeviceTree
+    DeviceTree,
+    ChannelEdit,
   },
   data() {
     return {
@@ -201,6 +203,7 @@ export default {
       beforeUrl: "/deviceList",
       isLoging: false,
       showTree: false,
+      editId: null,
       loadSnap: {},
       ptzTypes: {
         0: "未知",
@@ -545,7 +548,7 @@ export default {
     },
     // 编辑
     handleEdit(row) {
-
+      this.editId = row.id
     }
   }
 };