Browse Source

feat:更新平台主持人 绑定账号

jinx 3 năm trước cách đây
mục cha
commit
528de9245b

+ 79 - 0
platform-admin/src/main/webapp/WEB-INF/page/sys/bindAccount.html

@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>绑定账号</title>
+    #parse("sys/header.html")
+  </head>
+
+  <body>
+    <div id="rrapp" v-cloak>
+      <div style="padding: 40px 20px; box-sizing: border-box; width: 600px">
+        <div v-if="info.fdkkUser" style="position: relative">
+          <i-form :model="info" :label-width="80">
+            <Form-item label="手机号">
+              <i-input disabled v-model="show_fdkkUser" />
+            </Form-item>
+          </i-form>
+          <span
+            style="
+              position: absolute;
+              top: 50%;
+              transform: translateY(-50%);
+              right: -65px;
+              color: #02a7f0;
+              cursor: pointer;
+            "
+            @click="unbind"
+            >解绑账号</span
+          >
+        </div>
+        <div v-else>
+          <i-form
+            ref="formValidate"
+            :model="form"
+            :rules="ruleValidate"
+            :label-width="80"
+          >
+            <div style="width: 100%">
+              <Form-item label="手机号" prop="fdkkUser">
+                <i-input v-model="form.fdkkUser" placeholder="请输入手机号" />
+              </Form-item>
+
+              <Form-item label="密码" prop="fdkkPassword">
+                <i-input
+                  v-model="form.fdkkPassword"
+                  type="password"
+                  placeholder="请输入密码"
+                />
+              </Form-item>
+            </div>
+          </i-form>
+        </div>
+
+        <div style="padding: 20px 35px; line-height: 30px; margin-bottom: 20px">
+          <p>温馨提示:</p>
+          <p>1、绑定的账号是四维看看pro相机的账号信息。</p>
+          <p>2、绑定后,编辑该相机拍摄的场景可进行自动登录,不需要重复登录。</p>
+        </div>
+
+        <div
+          v-if="!info.fdkkUser"
+          style="padding: 0 0 0 35px; box-sizing: border-box"
+        >
+          <i-button
+            type="warning"
+            @click="handleReset('formValidate')"
+            style="margin-right: 20px"
+            >重置</i-button
+          >
+          <i-button type="primary" @click="handleSubmit('formValidate')"
+            >提交</i-button
+          >
+        </div>
+      </div>
+    </div>
+    <script src="${rc.contextPath}/statics/libs/base64.min.js"></script>
+    <script src="${rc.contextPath}/statics/libs/common.js"></script>
+    <script src="${rc.contextPath}/js/sys/bindAccount.js?_${date.systemTime}"></script>
+  </body>
+</html>

+ 1 - 0
platform-admin/src/main/webapp/WEB-INF/page/sys/menu.html

@@ -81,6 +81,7 @@
                         <i-input v-model="menu.icon" placeholder="图标,点击右边按钮选取图标"  icon="eye"/>
                     </div>
                 </Form-item>
+                {{menu.icon}}
                 <Form-item label="状态" prop="status">
                     <Radio-group v-model="menu.status">
                         <Radio label="0">

+ 13 - 12
platform-admin/src/main/webapp/WEB-INF/page/sys/user.html

@@ -59,22 +59,31 @@
             <p slot="title">{{title}}</p>
             <i-form ref="formValidate" :model="user" :rules="ruleValidate" :label-width="80">
                 <div style="width: 100%;">
+                  <Form-item label="角色" prop="roleIdList">
+                    <!-- <Checkbox-group v-model="user.roleIdList">
+                        <Checkbox :label="role.roleId" v-for="role in roleList">{{role.roleName}}</Checkbox>
+                    </Checkbox-group> -->
+                    <Radio-group v-model="user.roleIdList" @on-change="change_role">
+                        <Radio :label="role.roleId" v-for="role in roleList">{{role.roleName}}
+                        </Radio>
+                    </Radio-group>
+                </Form-item>
                     <Form-item label="用户名" prop="username">
                         <div class="c-winput">
                             <i-input v-model="user.username" placeholder="登录账号" />
                         </div>
                     </Form-item>
-                    <Form-item label="所属公司" prop="deptName">
+                    <Form-item v-if="user.roleIdList[0]!=9" label="所属公司" prop="deptName">
                         <div class="c-winput" @click="deptTree">
                             <i-input type="text" v-model="user.deptName" icon="eye" readonly="readonly"
                                 readonly="readonly" placeholder="所属公司" />
                         </div>
                     </Form-item>
-                    <Form-item label="邮箱" prop="email">
+                    <!-- <Form-item label="邮箱" prop="email">
                         <div class="c-winput">
                             <i-input v-model="user.email" placeholder="邮箱" />
                         </div>
-                    </Form-item>
+                    </Form-item> -->
 
                     <Form-item label="手机号" prop="mobile">
                         <div class="c-winput">
@@ -98,15 +107,7 @@
 
             </Form-item> -->
 
-                    <Form-item label="角色" prop="roleIdList">
-                        <!-- <Checkbox-group v-model="user.roleIdList">
-                            <Checkbox :label="role.roleId" v-for="role in roleList">{{role.roleName}}</Checkbox>
-                        </Checkbox-group> -->
-                        <Radio-group v-model="user.roleIdList" @on-change="change_role">
-                            <Radio :label="role.roleId" v-for="role in roleList">{{role.roleName}}
-                            </Radio>
-                        </Radio-group>
-                    </Form-item>
+                   
 
                     <Form-item label="状态" prop="status">
                         <Radio-group v-model="user.status">

+ 112 - 0
platform-admin/src/main/webapp/js/sys/bindAccount.js

@@ -0,0 +1,112 @@
+const validatePhoneCheck = async function (rule, value, callback) {
+  if (value === '' || !value) {
+    callback(new Error('手机号不能为空'))
+  } else if (!/^1[3456789]\d{9}$/.test(value)) {
+    callback(new Error('手机号不正确'))
+  } else {
+    callback()
+  }
+}
+var vm = new Vue({
+  el: '#rrapp',
+  data: {
+    show_fdkkUser: '',
+    info: {
+      fdkkUser: null,
+    },
+    form: {
+      fdkkPassword: '',
+      fdkkUser: '',
+    },
+    ruleValidate: {
+      fdkkUser: [
+        {
+          required: true,
+          validator: validatePhoneCheck,
+          trigger: 'blur',
+        },
+      ],
+      fdkkPassword: [
+        { required: true, message: '密码不能为空', trigger: 'blur' },
+      ],
+    },
+  },
+  watch: {},
+  created() {
+    this.getBindInfo()
+  },
+  methods: {
+    handleSubmit: function (name) {
+      handleSubmitValidate(vm, name, function () {
+        var data = {
+          fdkkPassword: encodeStr(Base64.encode(vm.form.fdkkPassword)),
+          fdkkUser: vm.form.fdkkUser,
+        }
+        $.ajax({
+          type: 'POST',
+          url: '../sys/user/bind4dkkUser',
+          data: data,
+          dataType: 'json',
+          success: function (result) {
+            console.log(result)
+            alert('操作成功', function (index) {
+              vm.getBindInfo()
+              vm.form = {
+                password: '',
+                mobild: '',
+              }
+            })
+          },
+        })
+      })
+    },
+    handleReset: function (name) {
+      handleResetForm(vm, name)
+      vm.form = {
+        password: '',
+        mobild: '',
+      }
+    },
+    unbind() {
+      confirm(
+        '解绑后,编辑当前账号下的八目相机需进行手动登录,是否确定解绑?',
+        function () {
+          $.ajax({
+            type: 'POST',
+            url: '../sys/user/unBind4dkkUser',
+            data: { fdkkUser: vm.info.fdkkUser },
+            dataType: 'json',
+            success: function (result) {
+              vm.info.fdkkUser = null
+              alert('操作成功', function (index) {
+                // vm.reload()
+              })
+            },
+          })
+        }
+      )
+    },
+    getBindInfo() {
+      var userId = JSON.parse(localStorage.getItem('userInfo')).userId
+      $.ajax({
+        type: 'GET',
+        url: `../sys/user/info/${userId}`,
+        // data: data,
+        // dataType: 'json',
+        success: function (res) {
+          console.log(res)
+
+          vm.info = res.user
+
+          if (res.user.fdkkUser) {
+            vm.show_fdkkUser =
+              res.user.fdkkUser.substring(0, 4) +
+              '****' +
+              res.user.fdkkUser.substring(8, res.user.fdkkUser.length - 1)
+          }
+        },
+        error: function (err) {},
+      })
+    },
+  },
+})

+ 278 - 233
platform-admin/src/main/webapp/js/sys/menu.js

@@ -1,261 +1,306 @@
 $(function () {
-    initialPage();
-    getGrid();
-});
+  initialPage()
+  getGrid()
+})
 
 function initialPage() {
-    $(window).resize(function () {
-        TreeGrid.table.resetHeight({height: $(window).height() - 100});
-    });
+  $(window).resize(function () {
+    TreeGrid.table.resetHeight({ height: $(window).height() - 100 })
+  })
 }
 
 function getGrid() {
-    var colunms = TreeGrid.initColumn();
-    var table = new TreeTable(TreeGrid.id, '../sys/menu/queryAll', colunms);
-    table.setExpandColumn(2);
-    table.setIdField("menuId");
-    table.setCodeField("menuId");
-    table.setParentCodeField("parentId");
-    table.setExpandAll(false);
-    table.setHeight($(window).height() - 100);
-    table.init();
-    TreeGrid.table = table;
+  var colunms = TreeGrid.initColumn()
+  var table = new TreeTable(TreeGrid.id, '../sys/menu/queryAll', colunms)
+  table.setExpandColumn(2)
+  table.setIdField('menuId')
+  table.setCodeField('menuId')
+  table.setParentCodeField('parentId')
+  table.setExpandAll(false)
+  table.setHeight($(window).height() - 100)
+  table.init()
+  TreeGrid.table = table
 }
 
 var TreeGrid = {
-    id: "jqGrid",
-    table: null,
-    layerIndex: -1
-};
+  id: 'jqGrid',
+  table: null,
+  layerIndex: -1,
+}
 
 /**
  * 初始化表格的列
  */
 TreeGrid.initColumn = function () {
-    var columns = [
-        {field: 'selectItem', radio: true},
-        {title: '编号', field: 'menuId', visitable: false, align: 'center', valign: 'middle', width: '80px'},
-        {title: '名称', field: 'name', align: 'center', valign: 'middle', width: '180px'},
-        {title: '上级菜单', field: 'parentName', align: 'center', valign: 'middle', width: '100px'},
-        {
-            title: '图标',
-            field: 'icon',
-            align: 'center',
-            valign: 'middle',
-            width: '50px',
-            formatter: function (item, index) {
-                return item.icon == null ? '' : '<i class="' + item.icon + ' fa-lg"></i>';
-            }
-        },
-        {
-            title: '类型',
-            field: 'type',
-            align: 'center',
-            valign: 'middle',
-            width: '60px',
-            formatter: function (item) {
-                if (item.type === 0) {
-                    return '<span class="label label-primary">目录</span>';
-                }
-                if (item.type === 1) {
-                    return '<span class="label label-success">菜单</span>';
-                }
-                if (item.type === 2) {
-                    return '<span class="label label-warning">按钮</span>';
-                }
-            }
-        },
-        {title: '排序', field: 'orderNum', align: 'center', valign: 'middle', width: '50px'},
-        {title: '菜单URL', field: 'url', align: 'center', valign: 'middle', width: '200px'},
-        {title: '授权标识', field: 'perms', align: 'center', valign: 'middle'},
-        {
-            title: '状态', field: 'status', align: 'center', valign: 'middle', width: '80px',
-            formatter: function (item) {
-                if (item.status === 1) {
-                    return '<span class="label label-danger">无效</span>';
-                }
-                return '<span class="label label-success">有效</span>';
-            }
-        }];
-    return columns;
-};
+  var columns = [
+    { field: 'selectItem', radio: true },
+    {
+      title: '编号',
+      field: 'menuId',
+      visitable: false,
+      align: 'center',
+      valign: 'middle',
+      width: '80px',
+    },
+    {
+      title: '名称',
+      field: 'name',
+      align: 'center',
+      valign: 'middle',
+      width: '180px',
+    },
+    {
+      title: '上级菜单',
+      field: 'parentName',
+      align: 'center',
+      valign: 'middle',
+      width: '100px',
+    },
+    {
+      title: '图标',
+      field: 'icon',
+      align: 'center',
+      valign: 'middle',
+      width: '50px',
+      formatter: function (item, index) {
+        return item.icon == null
+          ? ''
+          : '<i class="' + item.icon + ' fa-lg"></i>'
+      },
+    },
+    {
+      title: '类型',
+      field: 'type',
+      align: 'center',
+      valign: 'middle',
+      width: '60px',
+      formatter: function (item) {
+        if (item.type === 0) {
+          return '<span class="label label-primary">目录</span>'
+        }
+        if (item.type === 1) {
+          return '<span class="label label-success">菜单</span>'
+        }
+        if (item.type === 2) {
+          return '<span class="label label-warning">按钮</span>'
+        }
+      },
+    },
+    {
+      title: '排序',
+      field: 'orderNum',
+      align: 'center',
+      valign: 'middle',
+      width: '50px',
+    },
+    {
+      title: '菜单URL',
+      field: 'url',
+      align: 'center',
+      valign: 'middle',
+      width: '200px',
+    },
+    { title: '授权标识', field: 'perms', align: 'center', valign: 'middle' },
+    {
+      title: '状态',
+      field: 'status',
+      align: 'center',
+      valign: 'middle',
+      width: '80px',
+      formatter: function (item) {
+        if (item.status === 1) {
+          return '<span class="label label-danger">无效</span>'
+        }
+        return '<span class="label label-success">有效</span>'
+      },
+    },
+  ]
+  return columns
+}
 
 var setting = {
-    data: {
-        simpleData: {
-            enable: true,
-            idKey: "menuId",
-            pIdKey: "parentId",
-            rootPId: -1
-        },
-        key: {
-            url: "nourl"
-        }
-    }
-};
-var ztree;
+  data: {
+    simpleData: {
+      enable: true,
+      idKey: 'menuId',
+      pIdKey: 'parentId',
+      rootPId: -1,
+    },
+    key: {
+      url: 'nourl',
+    },
+  },
+}
+var ztree
 
 var vm = new Vue({
-    el: '#rrapp',
-    data: {
-        showList: true,
-        title: null,
-        menu: {
-            parentName: null,
-            parentId: 0,
-            type: 1,
-            orderNum: 0,
-            status: 0
-        },
-        q: {
-            menuName: '',
-            parentName: ''
-        },
-        ruleValidate: {
-            name: [
-                {required: true, message: '菜单名称不能为空', trigger: 'blur'}
-            ],
-            url: [
-                {required: true, message: '菜单url不能为空', trigger: 'blur'}
-            ],
-            parentName: [
-                {required: true, message: '上级菜单不能为空', trigger: 'blur'}
-            ]
-        }
+  el: '#rrapp',
+  data: {
+    showList: true,
+    title: null,
+    menu: {
+      icon: '',
+      parentName: null,
+      parentId: 0,
+      type: 1,
+      orderNum: 0,
+      status: 0,
     },
-    methods: {
-        selectIcon: function () {
-            openWindow({
-                type: 2,
-                title: '选取图标',
-                area: ['1030px', '500px'],
-                content: ['icon.html'],
-                btn: ['确定', '取消'],
-                btn1: function (index, layero) {
-                    var icon = layero.find("iframe")[0].contentWindow.$("#icon").val();
-                    vm.menu.icon = icon;
-                    top.layer.close(index);
-                    layer.close(index);
-                }
-            });
-        },
-        getMenu: function (menuId) {
-            //加载菜单树
-            Ajax.request({
-                url: "../sys/menu/select",
-                async: true,
-                successCallback: function (r) {
-                    ztree = $.fn.zTree.init($("#menuTree"), setting, r.menuList);
-                    var node = ztree.getNodeByParam("menuId", vm.menu.parentId);
-                    if (node) {
-                        ztree.selectNode(node);
-                        vm.menu.parentName = node.name;
-                    } else {
-                        node = ztree.getNodeByParam("menuId", 0);
-                        ztree.selectNode(node);
-                        vm.menu.parentName = node.name;
-                    }
-                }
-            });
+    q: {
+      menuName: '',
+      parentName: '',
+    },
+    ruleValidate: {
+      name: [{ required: true, message: '菜单名称不能为空', trigger: 'blur' }],
+      url: [{ required: true, message: '菜单url不能为空', trigger: 'blur' }],
+      parentName: [
+        { required: true, message: '上级菜单不能为空', trigger: 'blur' },
+      ],
+    },
+  },
+  methods: {
+    selectIcon: function () {
+      openWindow({
+        type: 2,
+        title: '选取图标',
+        area: ['1030px', '500px'],
+        content: ['icon.html'],
+        btn: ['确定', '取消'],
+        btn1: function (index, layero) {
+          var icon = layero.find('iframe')[0].contentWindow.$('#icon').val()
+          vm.menu.icon = icon
+          console.log(vm.menu.icon)
+          vm.$forceUpdate()
+          top.layer.close(index)
+          layer.close(index)
         },
-        add: function () {
-            vm.showList = false;
-            vm.title = "新增";
-            var menuId = TreeGrid.table.getSelectedRow();
-            var parentId = 0;
-            if (menuId.length != 0) {
-                parentId = menuId[0].id;
-            }
-            vm.menu = {parentName: null, parentId: parentId, type: 1, orderNum: 0, status: 0};
-            vm.getMenu();
+      })
+    },
+    getMenu: function (menuId) {
+      //加载菜单树
+      Ajax.request({
+        url: '../sys/menu/select',
+        async: true,
+        successCallback: function (r) {
+          ztree = $.fn.zTree.init($('#menuTree'), setting, r.menuList)
+          var node = ztree.getNodeByParam('menuId', vm.menu.parentId)
+          if (node) {
+            ztree.selectNode(node)
+            vm.menu.parentName = node.name
+          } else {
+            node = ztree.getNodeByParam('menuId', 0)
+            ztree.selectNode(node)
+            vm.menu.parentName = node.name
+          }
         },
-        update: function (event) {
-            var menuId = TreeGrid.table.getSelectedRow();
-            if (menuId.length == 0) {
-                alert("请选择一条记录");
-                return;
-            }
+      })
+    },
+    add: function () {
+      vm.showList = false
+      vm.title = '新增'
+      var menuId = TreeGrid.table.getSelectedRow()
+      var parentId = 0
+      if (menuId.length != 0) {
+        parentId = menuId[0].id
+      }
+      vm.menu = {
+        parentName: null,
+        parentId: parentId,
+        type: 1,
+        orderNum: 0,
+        status: 0,
+      }
+      vm.getMenu()
+    },
+    update: function (event) {
+      var menuId = TreeGrid.table.getSelectedRow()
+      if (menuId.length == 0) {
+        alert('请选择一条记录')
+        return
+      }
 
-            Ajax.request({
-                url: "../sys/menu/info/" + menuId[0].id,
-                async: true,
-                successCallback: function (r) {
-                    vm.showList = false;
-                    vm.title = "修改";
-                    vm.menu = r.menu;
+      Ajax.request({
+        url: '../sys/menu/info/' + menuId[0].id,
+        async: true,
+        successCallback: function (r) {
+          vm.showList = false
+          vm.title = '修改'
+          vm.menu = r.menu
 
-                    vm.getMenu();
-                }
-            });
+          vm.getMenu()
         },
-        del: function (event) {
-            var menuIds = TreeGrid.table.getSelectedRow(), ids = [];
-            if (menuIds.length == 0) {
-                iview.Message.error("");
-                return;
-            }
+      })
+    },
+    del: function (event) {
+      var menuIds = TreeGrid.table.getSelectedRow(),
+        ids = []
+      if (menuIds.length == 0) {
+        iview.Message.error('')
+        return
+      }
 
-            confirm('确定要删除选中的记录?', function () {
-                $.each(menuIds, function (idx, item) {
-                    ids[idx] = item.id;
-                });
-                Ajax.request({
-                    url: "../sys/menu/delete",
-                    params: JSON.stringify(ids),
-                    contentType: "application/json",
-                    type: 'POST',
-                    successCallback: function () {
-                        alert('操作成功', function (index) {
-                            vm.reload();
-                        });
-                    }
-                });
-            });
-        },
-        saveOrUpdate: function (event) {
-            var url = vm.menu.menuId == null ? "../sys/menu/save" : "../sys/menu/update";
-            Ajax.request({
-                url: url,
-                params: JSON.stringify(vm.menu),
-                contentType: "application/json",
-                type: 'POST',
-                successCallback: function () {
-                    alert('操作成功', function (index) {
-                        vm.reload();
-                    });
-                }
-            });
+      confirm('确定要删除选中的记录?', function () {
+        $.each(menuIds, function (idx, item) {
+          ids[idx] = item.id
+        })
+        Ajax.request({
+          url: '../sys/menu/delete',
+          params: JSON.stringify(ids),
+          contentType: 'application/json',
+          type: 'POST',
+          successCallback: function () {
+            alert('操作成功', function (index) {
+              vm.reload()
+            })
+          },
+        })
+      })
+    },
+    saveOrUpdate: function (event) {
+      var url =
+        vm.menu.menuId == null ? '../sys/menu/save' : '../sys/menu/update'
+      Ajax.request({
+        url: url,
+        params: JSON.stringify(vm.menu),
+        contentType: 'application/json',
+        type: 'POST',
+        successCallback: function () {
+          alert('操作成功', function (index) {
+            vm.reload()
+          })
         },
-        menuTree: function () {
-            openWindow({
-                title: "选择菜单",
-                area: ['300px', '450px'],
-                content: jQuery("#menuLayer"),
-                btn: ['确定', '取消'],
-                btn1: function (index) {
-                    var node = ztree.getSelectedNodes();
-                    //选择上级菜单
-                    vm.menu.parentId = node[0].menuId;
-                    vm.menu.parentName = node[0].name;
+      })
+    },
+    menuTree: function () {
+      openWindow({
+        title: '选择菜单',
+        area: ['300px', '450px'],
+        content: jQuery('#menuLayer'),
+        btn: ['确定', '取消'],
+        btn1: function (index) {
+          var node = ztree.getSelectedNodes()
+          //选择上级菜单
+          vm.menu.parentId = node[0].menuId
+          vm.menu.parentName = node[0].name
 
-                    layer.close(index);
-                }
-            });
-        },
-        query: function () {
-            vm.reload();
-        },
-        reload: function (event) {
-            vm.showList = true;
-            TreeGrid.table.refresh();
+          layer.close(index)
         },
-        handleSubmit: function (name) {
-            handleSubmitValidate(this, name, function () {
-                vm.saveOrUpdate()
-            });
-        },
-        handleReset: function (name) {
-            handleResetForm(this, name);
-        }
-    }
-});
+      })
+    },
+    query: function () {
+      vm.reload()
+    },
+    reload: function (event) {
+      vm.showList = true
+      TreeGrid.table.refresh()
+    },
+    handleSubmit: function (name) {
+      handleSubmitValidate(this, name, function () {
+        vm.saveOrUpdate()
+      })
+    },
+    handleReset: function (name) {
+      handleResetForm(this, name)
+    },
+  },
+})

+ 468 - 456
platform-admin/src/main/webapp/js/sys/user.js

@@ -1,496 +1,508 @@
 $(function () {
-    $("#jqGrid").Grid({
-        url: '../sys/user/list',
-        rownumWidth: 60,
-        multiboxonly: true,
-        colModel: [{
-                label: '用户ID',
-                name: 'userId',
-                index: "user_id",
-                key: true,
-                hidden: true
-            },
-            {
-                label: '用户名',
-                name: 'username',
-                width: 75
-            },
-            // {label: '所属公司', name: 'deptName', width: 75},
-            // {label: '邮箱', name: 'email', width: 90},
-            {
-                label: '手机号',
-                name: 'mobile',
-                width: 100
-            },
-            // {label: 'VR场景关联', name: 'brandList', width: 100,sortable:false,formatter:function (value) {
-            //     let temp = []
-            //     value.forEach(function (item) {
-            //         temp.push(item.brandName||item.name)
-            //     })
+  $('#jqGrid').Grid({
+    url: '../sys/user/list',
+    rownumWidth: 60,
+    multiboxonly: true,
+    colModel: [
+      {
+        label: '用户ID',
+        name: 'userId',
+        index: 'user_id',
+        key: true,
+        hidden: true,
+      },
+      {
+        label: '用户名',
+        name: 'username',
+        width: 75,
+      },
+      // {label: '所属公司', name: 'deptName', width: 75},
+      // {label: '邮箱', name: 'email', width: 90},
+      {
+        label: '手机号',
+        name: 'mobile',
+        width: 100,
+      },
+      // {label: 'VR场景关联', name: 'brandList', width: 100,sortable:false,formatter:function (value) {
+      //     let temp = []
+      //     value.forEach(function (item) {
+      //         temp.push(item.brandName||item.name)
+      //     })
 
-            //     return temp.join('、')
-            // }},
-            {
-                label: '角色',
-                name: 'roleList',
-                width: 100,
-                sortable: false,
-                formatter: function (value, row, col) {
-                    let roleList = col.roleList
-                    return roleList[0] ? roleList[0].roleName : '-'
-                }
-            },
-            {
-                label: '状态',
-                name: 'status',
-                width: 80,
-                formatter: function (value) {
-                    return value === 0 ?
-                        '<span class="label label-danger">禁用</span>' :
-                        '<span class="label label-success">正常</span>';
-                }
-            },
-            {
-                label: '创建时间',
-                name: 'createTime',
-                index: "create_time",
-                width: 80,
-                formatter: function (value) {
-                    return transDate(value);
-                }
-            }
-        ]
-    });
-});
+      //     return temp.join('、')
+      // }},
+      {
+        label: '角色',
+        name: 'roleList',
+        width: 100,
+        sortable: false,
+        formatter: function (value, row, col) {
+          let roleList = col.roleList
+          return roleList[0] ? roleList[0].roleName : '-'
+        },
+      },
+      {
+        label: '状态',
+        name: 'status',
+        width: 80,
+        formatter: function (value) {
+          return value === 0
+            ? '<span class="label label-danger">禁用</span>'
+            : '<span class="label label-success">正常</span>'
+        },
+      },
+      {
+        label: '创建时间',
+        name: 'createTime',
+        index: 'create_time',
+        width: 80,
+        formatter: function (value) {
+          return transDate(value)
+        },
+      },
+    ],
+  })
+})
 
 var setting = {
-    data: {
-        simpleData: {
-            enable: true,
-            idKey: "deptId",
-            pIdKey: "parentId",
-            rootPId: -1
-        },
-        key: {
-            url: "nourl"
-        }
-    }
-};
-var ztree;
+  data: {
+    simpleData: {
+      enable: true,
+      idKey: 'deptId',
+      pIdKey: 'parentId',
+      rootPId: -1,
+    },
+    key: {
+      url: 'nourl',
+    },
+  },
+}
+var ztree
 
 const validatePhoneCheck = async function (rule, value, callback) {
-    if (value === '' || !value) {
-        callback(new Error('手机号不能为空'));
-    } else if (!(/^1[3456789]\d{9}$/.test(value))) {
-        callback(new Error('手机号不正确'));
-    } else {
-        await $.ajax({
-            url: "../sys/user/checkUser?phoneNum=" + value,
-            async: true,
-            success: function (data) {
-                if (data.code == 0) {
-                    $('#isSign1').hide()
-                } else {
-                    $('#isSign1').show()
-                }
-
-            }
-        })
+  if (value === '' || !value) {
+    callback(new Error('手机号不能为空'))
+  } else if (!/^1[3456789]\d{9}$/.test(value)) {
+    callback(new Error('手机号不正确'))
+  } else {
+    await $.ajax({
+      url: '../sys/user/checkUser?phoneNum=' + value,
+      async: true,
+      success: function (data) {
+        if (data.code == 0) {
+          $('#isSign1').hide()
+        } else {
+          $('#isSign1').show()
+        }
+      },
+    })
 
-        callback();
+    callback()
 
-        // callback(new Error('手机号未在指房宝APP中进行注册'));
-    }
-};
+    // callback(new Error('手机号未在指房宝APP中进行注册'));
+  }
+}
 
 var vm = new Vue({
-    el: '#rrapp',
-    data: {
-        delInfo: {
-            list: [],
-            type: 1,
-            select: '',
-        },
-        delValidate: {
-            select: [{
-                required: true,
-                message: '请选择迁移的员工',
-                trigger: 'change'
-            }],
+  el: '#rrapp',
+  data: {
+    delInfo: {
+      list: [],
+      type: 1,
+      select: '',
+    },
+    delValidate: {
+      select: [
+        {
+          required: true,
+          message: '请选择迁移的员工',
+          trigger: 'change',
         },
-        show_delModal: false,
+      ],
+    },
+    show_delModal: false,
 
-        modal1: false,
-        q: {
-            username: null
-        },
-        showList: true,
-        title: null,
-        roleList: {},
-        user: {
-            status: 1,
-            deptName: '',
-            roleIdList: [],
-            brandIdList: [],
-            brandList: []
-        },
-        ruleValidate: {
-            username: [{
-                required: true,
-                message: '姓名不能为空',
-                trigger: 'blur'
-            }],
-            deptName: [{
-                required: true,
-                message: '所属公司不能为空',
-                trigger: 'change'
-            }],
-            // email: [
-            //     {required: true, message: '邮箱不能为空', trigger: 'blur'},
-            //     {type: 'email', message: '邮箱格式不正确', trigger: 'blur'}
-            // ],
-            mobile: [{
-                required: true,
-                validator: validatePhoneCheck,
-                trigger: 'blur'
-            }],
-            roleIdList: [{
-                required: true,
-                message: '请选择角色类型'
-            }]
-        },
-        brandsList: [],
-        brandPage: 1,
-        brandPerPage: 10,
-        brandTotal: 0,
-        brandSeleced: [],
-        social: [],
-        cacheData: {},
-        cacheDataFirst: {}
+    modal1: false,
+    q: {
+      username: null,
     },
-    watch: {
-        brandPage: function name(newVal) {
-            this.getBrandList()
-        }
+    showList: true,
+    title: null,
+    roleList: {},
+    user: {
+      status: 1,
+      deptName: '',
+      roleIdList: [],
+      brandIdList: [],
+      brandList: [],
     },
-    methods: {
-        change_role: function (e) {
-            this.user.roleIdList = [e]
-        },
-        clickCheck: function (item, idx) {
-            item['checked'] = !item['checked']
-            this.$set(this.brandsList, idx, item)
+    ruleValidate: {
+      username: [
+        {
+          required: true,
+          message: '姓名不能为空',
+          trigger: 'blur',
         },
-        ok: function () {
-            let temp = []
-            let tempid = []
-            var that = this
-            Object.keys(vm.cacheData).forEach(function (item) {
-                that.cacheData[item].page.list.forEach(function (sub) {
-                    if (sub['checked']) {
-                        temp.push(sub)
-                        tempid.push(sub.id)
-                    }
-                })
-            })
-            vm.user.brandList = temp
-            vm.user.brandIdList = tempid
+      ],
+      deptName: [
+        {
+          required: true,
+          message: '所属公司不能为空',
+          trigger: 'change',
         },
-        cancel: function () {
-            this.cacheData = {}
-            this.modal1 = false
+      ],
+      // email: [
+      //     {required: true, message: '邮箱不能为空', trigger: 'blur'},
+      //     {type: 'email', message: '邮箱格式不正确', trigger: 'blur'}
+      // ],
+      mobile: [
+        {
+          required: true,
+          validator: validatePhoneCheck,
+          trigger: 'blur',
         },
-        query: function () {
-            vm.reload();
+      ],
+      roleIdList: [
+        {
+          required: true,
+          message: '请选择角色类型',
         },
-        add: function () {
-            vm.showList = false;
-            vm.title = "新增(默认密码为 注册的账号密码)";
-            vm.roleList = {};
-            vm.user = {
-                status: 1,
-                roleIdList: [6],
-                brandIdList: [],
-                deptId: '',
-                deptName: ''
-            };
-            vm.deptExpirationDate = 0;
+      ],
+    },
+    brandsList: [],
+    brandPage: 1,
+    brandPerPage: 10,
+    brandTotal: 0,
+    brandSeleced: [],
+    social: [],
+    cacheData: {},
+    cacheDataFirst: {},
+  },
+  watch: {
+    brandPage: function name(newVal) {
+      this.getBrandList()
+    },
+  },
+  methods: {
+    change_role: function (e) {
+      console.log(e)
+      this.user.roleIdList = [e]
+    },
+    clickCheck: function (item, idx) {
+      item['checked'] = !item['checked']
+      this.$set(this.brandsList, idx, item)
+    },
+    ok: function () {
+      let temp = []
+      let tempid = []
+      var that = this
+      Object.keys(vm.cacheData).forEach(function (item) {
+        that.cacheData[item].page.list.forEach(function (sub) {
+          if (sub['checked']) {
+            temp.push(sub)
+            tempid.push(sub.id)
+          }
+        })
+      })
+      vm.user.brandList = temp
+      vm.user.brandIdList = tempid
+    },
+    cancel: function () {
+      this.cacheData = {}
+      this.modal1 = false
+    },
+    query: function () {
+      vm.reload()
+    },
+    add: function () {
+      vm.showList = false
+      vm.title = '新增(默认密码为 注册的账号密码)'
+      vm.roleList = {}
+      vm.user = {
+        status: 1,
+        roleIdList: [6],
+        brandIdList: [],
+        deptId: '',
+        deptName: '',
+      }
+      vm.deptExpirationDate = 0
 
-            //获取角色信息
-            this.getRoleList();
-            vm.getDept();
-        },
-        getDept: function () {
-            //加载公司树
-            Ajax.request({
-                url: "../sys/dept/list?name=",
-                async: true,
-                successCallback: function (r) {
-                    ztree = $.fn.zTree.init($("#deptTree"), setting, r.list);
-                    var node = ztree.getNodeByParam("deptId", vm.user.deptId);
-                    if (node != null) {
-                        ztree.selectNode(node);
+      //获取角色信息
+      this.getRoleList()
+      vm.getDept()
+    },
+    getDept: function () {
+      //加载公司树
+      Ajax.request({
+        url: '../sys/dept/list?name=',
+        async: true,
+        successCallback: function (r) {
+          ztree = $.fn.zTree.init($('#deptTree'), setting, r.list)
+          var node = ztree.getNodeByParam('deptId', vm.user.deptId)
+          if (node != null) {
+            ztree.selectNode(node)
 
-                        vm.user.deptName = node.name;
-                    }
-                }
-            });
-        },
-        pageChange: function (page) {
-            this.brandPage = page
+            vm.user.deptName = node.name
+          }
         },
-        getBrandList: function () {
-            this.modal1 = true
-            if (this.cacheData[this.brandPage]) {
-                let temp = this.cacheData[this.brandPage]
-                this.brandsList = temp.page.list
-                this.brandPage = temp.page.currPage
-                this.brandTotal = temp.page.totalCount
-                return
-            }
-            let that = this
-            let params = {
-                token: localStorage.getItem('token'),
-                pageSize: that.brandPerPage,
-                pageNum: that.brandPage,
-                _search: false,
-                sidx: 'asc',
-                order: 'asc'
-            }
-            Ajax.request({
-                // url: '../brand/list?_search=false&limit='+that.brandPerPage+'&page='+that.brandPage+'&sidx=&order=asc',
-                url: '../brand/list',
-                type: 'POST',
-                params: JSON.stringify(params),
-                contentType: 'application/json',
-                async: true,
-                successCallback: function (res) {
-                    res.page.list.forEach(function (item, index) {
-                        item['checked'] = false
-                        if (that.user.brandList) {
-                            that.user.brandList.forEach(function (sub) {
-                                // item['checked'] = false
-                                if (item.id === sub.brandId || item.id === sub.id) {
-                                    item['checked'] = true
-                                    return
-                                }
-                            })
-                        }
-                    })
-
-                    that.cacheData[res.page.currPage] = res
-                    that.brandsList = res.page.list
-                    that.brandPage = res.page.pageNum
-                    that.brandTotal = res.page.total
+      })
+    },
+    pageChange: function (page) {
+      this.brandPage = page
+    },
+    getBrandList: function () {
+      this.modal1 = true
+      if (this.cacheData[this.brandPage]) {
+        let temp = this.cacheData[this.brandPage]
+        this.brandsList = temp.page.list
+        this.brandPage = temp.page.currPage
+        this.brandTotal = temp.page.totalCount
+        return
+      }
+      let that = this
+      let params = {
+        token: localStorage.getItem('token'),
+        pageSize: that.brandPerPage,
+        pageNum: that.brandPage,
+        _search: false,
+        sidx: 'asc',
+        order: 'asc',
+      }
+      Ajax.request({
+        // url: '../brand/list?_search=false&limit='+that.brandPerPage+'&page='+that.brandPage+'&sidx=&order=asc',
+        url: '../brand/list',
+        type: 'POST',
+        params: JSON.stringify(params),
+        contentType: 'application/json',
+        async: true,
+        successCallback: function (res) {
+          res.page.list.forEach(function (item, index) {
+            item['checked'] = false
+            if (that.user.brandList) {
+              that.user.brandList.forEach(function (sub) {
+                // item['checked'] = false
+                if (item.id === sub.brandId || item.id === sub.id) {
+                  item['checked'] = true
+                  return
                 }
-            });
-        },
-        update: function () {
-            var userId = getSelectedRow("#jqGrid");
-            if (userId == null) {
-                return;
+              })
             }
+          })
 
-            vm.showList = false;
-            vm.title = "修改";
-
-            Ajax.request({
-                url: "../sys/user/info/" + userId,
-                async: true,
-                successCallback: function (r) {
-                    vm.user = r.user;
-                    //获取角色信息
-                    vm.getRoleList();
-                    vm.getDept();
-                    // window.localStorage.setItem('deptExpirationDate',vm.deptExpirationDate)
-                }
-            });
-
+          that.cacheData[res.page.currPage] = res
+          that.brandsList = res.page.list
+          that.brandPage = res.page.pageNum
+          that.brandTotal = res.page.total
         },
-        comfirmDel() {
-            if (this.delInfo.type == 3) {
-                this.$refs['formDelValidate'].validate((valid) => {
-                    if (valid) {
-                        vm.del()
-                    }
-                })
-            } else if (this.delInfo.type == 2) {
-                vm.show_delModal = false
-            } else if (this.delInfo.type == 1) {
-                vm.del()
-            }
+      })
+    },
+    update: function () {
+      var userId = getSelectedRow('#jqGrid')
+      if (userId == null) {
+        return
+      }
 
+      vm.showList = false
+      vm.title = '修改'
 
+      Ajax.request({
+        url: '../sys/user/info/' + userId,
+        async: true,
+        successCallback: function (r) {
+          vm.user = r.user
+          if (r.user.roleIdList[0] == 8 && r.user.isPlatformStreamer) {
+            vm.user.roleIdList[0] = 9
+          }
+          //获取角色信息
+          vm.getRoleList()
+          vm.getDept()
+          // window.localStorage.setItem('deptExpirationDate',vm.deptExpirationDate)
         },
-        cancelDel() {
-            // this.$Message.info('点击了取消');
-            vm.show_delModal = false
-        },
-        checkDel: function () {
-            var userIds = getSelectedRows("#jqGrid");
-
-            if (userIds == null) {
-                return;
-            }
-            if (userIds.length > 1) {
-                alert("只能选择一条记录");
-
-                return;
-            }
-            let params = {
-                "userId": userIds.join(),
-            }
-
-            Ajax.request({
-                url: "../sys/user/preDeleteStaff",
-                contentType: 'application/json',
-                dataType: 'json',
-                params: JSON.stringify(params),
-                type: 'POST',
-                successCallback: function (r) {
-                    console.log(r)
-                    vm.show_delModal = true
-                    if (r.code == 0) {
-                        if (r.list) {
-                            //需先进行场景重新分配用户
-                            vm.delInfo.type = 3
-                            vm.delInfo.list = r.list
-                            // vm.delInfo.msg = r.msg
-                        } else {
-                            //可删除
-
-                            vm.delInfo.type = 1
-                        }
+      })
+    },
+    comfirmDel() {
+      if (this.delInfo.type == 3) {
+        this.$refs['formDelValidate'].validate((valid) => {
+          if (valid) {
+            vm.del()
+          }
+        })
+      } else if (this.delInfo.type == 2) {
+        vm.show_delModal = false
+      } else if (this.delInfo.type == 1) {
+        vm.del()
+      }
+    },
+    cancelDel() {
+      // this.$Message.info('点击了取消');
+      vm.show_delModal = false
+    },
+    checkDel: function () {
+      var userIds = getSelectedRows('#jqGrid')
 
-                        // vm.delInfo.msg = r.msg
-                    } else if (r.code == 500) {
-                        //不可删除
-                        vm.delInfo.type = 2
-                        // vm.delInfo.msg = r.msg
-                    }
+      if (userIds == null) {
+        return
+      }
+      if (userIds.length > 1) {
+        alert('只能选择一条记录')
 
+        return
+      }
+      let params = {
+        userId: userIds.join(),
+      }
 
-                },
-                failCallback: function (error) {
-                    // vm.show_delModal = true
-                }
+      Ajax.request({
+        url: '../sys/user/preDeleteStaff',
+        contentType: 'application/json',
+        dataType: 'json',
+        params: JSON.stringify(params),
+        type: 'POST',
+        successCallback: function (r) {
+          console.log(r)
+          vm.show_delModal = true
+          if (r.code == 0) {
+            if (r.list) {
+              //需先进行场景重新分配用户
+              vm.delInfo.type = 3
+              vm.delInfo.list = r.list
+              // vm.delInfo.msg = r.msg
+            } else {
+              //可删除
 
-            });
-        },
-        del: function () {
-            var userIds = getSelectedRows("#jqGrid");
-            // if (userIds == null) {
-            //     return;
-            // }
-            let params = {
-                userId: userIds.join(),
-            }
-            if (vm.delInfo.type == 3) {
-                params.toUser = vm.delInfo.select
+              vm.delInfo.type = 1
             }
-            vm.show_delModal = false
-            // confirm('确定要删除选中的记录?', function () {
-            Ajax.request({
-                url: "../sys/user/deleteStaff",
-                params: JSON.stringify(params),
-                contentType: "application/json",
-                type: 'POST',
-                successCallback: function () {
-                    alert('操作成功', function (index) {
-                        vm.reload();
-                    });
-                }
-            });
-            // });
-        },
-        // del: function() {
-        //     var userIds = getSelectedRows("#jqGrid");
-        //     if (userIds == null) {
-        //         return;
-        //     }
 
-        //     confirm('确定要删除选中的记录?', function() {
-        //         Ajax.request({
-        //             url: "../sys/user/delete",
-        //             params: JSON.stringify(userIds),
-        //             contentType: "application/json",
-        //             type: 'POST',
-        //             successCallback: function() {
-        //                 alert('操作成功', function(index) {
-        //                     vm.reload();
-        //                 });
-        //             }
-        //         });
-        //     });
-        // },
-        saveOrUpdate: function (event) {
-            if ($('#isSign1').css("display") == 'block') {
-                return alert('手机号未在指房宝APP中进行注册')
-            }
-            var url = vm.user.userId == null ? "../sys/user/save" : "../sys/user/update";
-            Ajax.request({
-                url: url,
-                params: JSON.stringify(vm.user),
-                contentType: "application/json",
-                type: 'POST',
-                successCallback: function () {
-                    alert('操作成功', function (index) {
-                        vm.reload();
-                    });
-                }
-            });
+            // vm.delInfo.msg = r.msg
+          } else if (r.code == 500) {
+            //不可删除
+            vm.delInfo.type = 2
+            // vm.delInfo.msg = r.msg
+          }
         },
-        getRoleList: function () {
-            Ajax.request({
-                url: '../sys/role/select',
-                async: true,
-                successCallback: function (r) {
-                    vm.roleList = r.list;
-                }
-            });
+        failCallback: function (error) {
+          // vm.show_delModal = true
         },
-        reload: function (event) {
-            vm.showList = true;
-            var page = $("#jqGrid").jqGrid('getGridParam', 'page');
-            $("#jqGrid").jqGrid('setGridParam', {
-                postData: {
-                    'username': vm.q.username
-                },
-                page: 1
-            }).trigger("reloadGrid");
-            vm.handleReset('formValidate');
+      })
+    },
+    del: function () {
+      var userIds = getSelectedRows('#jqGrid')
+      // if (userIds == null) {
+      //     return;
+      // }
+      let params = {
+        userId: userIds.join(),
+      }
+      if (vm.delInfo.type == 3) {
+        params.toUser = vm.delInfo.select
+      }
+      vm.show_delModal = false
+      // confirm('确定要删除选中的记录?', function () {
+      Ajax.request({
+        url: '../sys/user/deleteStaff',
+        params: JSON.stringify(params),
+        contentType: 'application/json',
+        type: 'POST',
+        successCallback: function () {
+          alert('操作成功', function (index) {
+            vm.reload()
+          })
         },
-        deptTree: function () {
-            openWindow({
-                title: "选择公司",
-                area: ['300px', '450px'],
-                content: jQuery("#deptLayer"),
-                btn: ['确定', '取消'],
-                btn1: function (index) {
-                    var node = ztree.getSelectedNodes();
-                    //选择上级公司
-                    vm.user.deptId = node[0].deptId;
-                    vm.user.deptName = node[0].name;
+      })
+      // });
+    },
+    // del: function() {
+    //     var userIds = getSelectedRows("#jqGrid");
+    //     if (userIds == null) {
+    //         return;
+    //     }
 
-                    layer.close(index);
-                }
-            });
+    //     confirm('确定要删除选中的记录?', function() {
+    //         Ajax.request({
+    //             url: "../sys/user/delete",
+    //             params: JSON.stringify(userIds),
+    //             contentType: "application/json",
+    //             type: 'POST',
+    //             successCallback: function() {
+    //                 alert('操作成功', function(index) {
+    //                     vm.reload();
+    //                 });
+    //             }
+    //         });
+    //     });
+    // },
+    saveOrUpdate: function (event) {
+      if ($('#isSign1').css('display') == 'block') {
+        return alert('手机号未在指房宝APP中进行注册')
+      }
+      var url =
+        vm.user.userId == null ? '../sys/user/save' : '../sys/user/update'
+
+      Ajax.request({
+        url: url,
+        params: JSON.stringify(vm.user),
+        contentType: 'application/json',
+        type: 'POST',
+        successCallback: function () {
+          alert('操作成功', function (index) {
+            vm.reload()
+          })
+        },
+      })
+    },
+    getRoleList: function () {
+      Ajax.request({
+        url: '../sys/role/select',
+        async: true,
+        successCallback: function (r) {
+          vm.roleList = r.list
         },
-        handleSubmit: function (name) {
-            handleSubmitValidate(this, name, function () {
-                vm.saveOrUpdate()
-            });
+      })
+    },
+    reload: function (event) {
+      vm.showList = true
+      var page = $('#jqGrid').jqGrid('getGridParam', 'page')
+      $('#jqGrid')
+        .jqGrid('setGridParam', {
+          postData: {
+            username: vm.q.username,
+          },
+          page: 1,
+        })
+        .trigger('reloadGrid')
+      vm.handleReset('formValidate')
+    },
+    deptTree: function () {
+      openWindow({
+        title: '选择公司',
+        area: ['300px', '450px'],
+        content: jQuery('#deptLayer'),
+        btn: ['确定', '取消'],
+        btn1: function (index) {
+          var node = ztree.getSelectedNodes()
+          //选择上级公司
+          vm.user.deptId = node[0].deptId
+          vm.user.deptName = node[0].name
+
+          layer.close(index)
         },
-        handleReset: function (name) {
-            handleResetForm(this, name);
-            this.cacheData = {}
-            this.user = {
-                status: 1,
-                deptName: '',
-                roleIdList: [],
-                brandIdList: [],
-                brandList: []
-            }
-        }
-    }
-});
+      })
+    },
+    handleSubmit: function (name) {
+      handleSubmitValidate(this, name, function () {
+        vm.saveOrUpdate()
+      })
+    },
+    handleReset: function (name) {
+      handleResetForm(this, name)
+      this.cacheData = {}
+      this.user = {
+        status: 1,
+        deptName: '',
+        roleIdList: [],
+        brandIdList: [],
+        brandList: [],
+      }
+    },
+  },
+})