按钮级别的新版本,多级别的组织架构
loulijun2021
2023-08-24 68338b19f9dc2ad9725326b7e699a3e191030cb8
src/layout/components/Navbar.vue
@@ -71,35 +71,35 @@
            </el-badge>
          </el-tooltip>
          <div style=" font-size: 18px;font-family: 'Microsoft YaHei';color:#AAAAAA;cursor: pointer">
            <!--            {{ stu_torgname }}-->
          <div style=" font-size: 18px;font-family: 'Microsoft YaHei';color:#AAAAAA;cursor: pointer;margin-right:5px">
            {{ stu_torgname }}
            <el-dropdown class="avatar-container" trigger="hover">
              <div class="avatar-wrapper">
                <div style="display: flex;align-items: center;margin-top: -5px">
            <!--            <el-dropdown v-if="stu_torgname.toString().length>0" class="avatar-container" trigger="hover">-->
            <!--              <div class="avatar-wrapper">-->
            <!--                <div style="display: flex;align-items: center;margin-top: -5px">-->
                  <!--                  <i class="el-icon-user" style="font-weight: bolder;font-size: 18px;margin-right: 5px;color:#A7A7A7" />-->
                  <div style=" font-size: 18px;font-family: 'Microsoft YaHei';color:#AAAAAA">{{ stu_torgname }}</div>
                </div>
            <!--                  <i class="el-icon-office-building" style="font-weight: bolder;font-size: 18px;margin-right: 5px;color:#A7A7A7" />-->
            <!--                  <div style=" font-size: 18px;font-family: 'Microsoft YaHei';color:#AAAAAA">{{ stu_torgname }}</div>-->
            <!--                </div>-->
              </div>
              <el-dropdown-menu
                v-if="stu_torgname.toString().length>0"
                slot="dropdown"
                class="user-dropdown"
                style="text-align: center"
              >
                <el-dropdown-item
                  v-for="(item,index) in $stu_torg"
                  :key="item.torg_code"
                  :divided="index!==0"
                  @click.native="changeTrog(item)"
                >
                  <span style="display:block;">{{ item.torg_name }}</span>
                </el-dropdown-item>
            <!--              </div>-->
            <!--              <el-dropdown-menu-->
            <!--                v-if="stu_torgname.toString().length>0"-->
            <!--                slot="dropdown"-->
            <!--                class="user-dropdown"-->
            <!--                style="text-align: center"-->
            <!--              >-->
            <!--                <el-dropdown-item-->
            <!--                  v-for="(item,index) in $stu_torg"-->
            <!--                  :key="item.torg_code"-->
            <!--                  :divided="index!==0"-->
            <!--                >-->
            <!--                  &lt;!&ndash;                  @click.native="changeTrog(item)"&ndash;&gt;-->
            <!--                  <span style="display:block;">{{ item.torg_name }}</span>-->
            <!--                </el-dropdown-item>-->
              </el-dropdown-menu>
            </el-dropdown>
            <!--              </el-dropdown-menu>-->
            <!--            </el-dropdown>-->
          </div>
          <!--        <el-tooltip content="Global Size" effect="dark" placement="bottom">-->
@@ -202,6 +202,7 @@
import * as signalR from '@aspnet/signalr'
import { ButtonData } from '@/api/basicSettings'
import Vue from 'vue'
import store from '@/store'
export default {
  components: {
@@ -239,8 +240,8 @@
      }
    }
    return {
      usercode: '',
      username: '',
      usercode: localStorage.getItem('usercode'),
      username: localStorage.getItem('username'),
      form: {
        password: '',
        newpassword: ''
@@ -254,7 +255,7 @@
          { required: true, validator: validatePassword2, trigger: ['blur', 'change'] }
        ]
      },
      stu_torgname: '',
      stu_torgname: localStorage.getItem('torg_name'),
      show: false,
      signalr: null
    }
@@ -264,20 +265,11 @@
  ],
  created() {
    // this.$signalr.start()
    this.usercode = localStorage.getItem('usercode')
    this.username = localStorage.getItem('username')
    Vue.prototype.$stu_torg = JSON.parse(localStorage.getItem('torg'))
    if (Vue.prototype.$stu_torg.length > 0) {
      this.stu_torgname = Vue.prototype.$stu_torg[0].torg_name
      setCookie('torg_code', Vue.prototype.$stu_torg.find(i => i.torg_name === this.stu_torgname).torg_code)
    }
    // Vue.prototype.$ButtonData = JSON.parse(localStorage.getItem('ButtonData'))
  },
  mounted() {
    // this.getHubConnectionBuilder()
    Vue.prototype.$ButtonData = JSON.parse(localStorage.getItem('ButtonData'))
  },
  computed: {
    ...mapGetters([
@@ -309,12 +301,16 @@
    }
  },
  methods: {
    changeTrog(val) {
      if (val.torg_name !== this.stu_torgname) {
        this.stu_torgname = val.torg_name
        setCookie('torg_code', val.torg_code)
      }
    },
    // changeTrog(val) {
    //   if (val.torg_name !== this.stu_torgname) {
    //     this.stu_torgname = val.torg_name
    //     localStorage.setItem('torg_code', val.torg_code)
    //     localStorage.setItem('torg_name', val.torg_name)
    //
    //     store.dispatch('user/getMenu')
    //     // this.$store.state.tagsView.visitedViews = this.$store.state.tagsView.visitedViews.filter(i => i.title === '系统首页')
    //   }
    // },
    // 建立hub连接
    async getHubConnectionBuilder() {
      const url = 'http://121.196.36.24:8019/chatHub'
@@ -393,14 +389,12 @@
      this.$refs.dialogForm.validate(valid => {
        if (valid) {
          const data = {
            usercode: this.usercode,
            username: this.username,
            password: this.form.password,
            newpassword: this.form.newpassword
          }
          UpdateUserPassword(data).then(res => {
            if (res.code === '200') {
              this.$message.success('修改成功!')
              this.$notify.success('修改成功!')
              this.dialogVisible = false
            }
          })