08335 / hivui-platform-template
hivui平台项目模板
Newer
Older
hivui-platform-template / project / hivuiMain / views / personalCenter / index.vue
<template>
  <div class="app-container">
    <div v-if="user">
      <el-row>
        <el-col :span="6" :xs="24">
          <user-card :user="userCardInfo" :avatar="avatar" ref="userCard" />
        </el-col>

        <el-col :span="18" :xs="24" style="padding-left: 20px;">
          <el-card>
            <el-tabs v-model="activeTab">
              <el-tab-pane :label="userLabel" :name="userLabel">
                <user-update ref="userUpdate" />
              </el-tab-pane>
              <el-tab-pane :label="bzLabel" :name="bzLabel">
                <bz-update ref="bzUpdate" />
              </el-tab-pane>
            </el-tabs>
          </el-card>
        </el-col>

      </el-row>
    </div>
  </div>
</template>

<script>
import UserCard from './components/UserCard'
import UserUpdate from './components/UserUpdate'
import BzUpdate from './components/BzUpdate'
import { getToken } from '@main/utils/auth'
import { query,getBzList } from '@main/api/user.js'

export default {
  name: 'Profile',
  components: { UserCard,UserUpdate, BzUpdate },
  data() {
    return {
      user: {},
      activeTab: this.$t("hivuiMain_app_user", { default: '用户' }),
      userInfo:{},
      bzList:[],
      userLabel: this.$t("hivuiMain_app_user", { default: '用户' }),
      bzLabel: this.$t("hivuiMain_app_orgbz", { default: '岗编' })
    }
  },
  computed: {
    avatar(){
      if(this.userInfo && this.userInfo.FUSERPHOTO){
        return this._getImageUrl(this.userInfo.FUSERPHOTO)
      }else{
        return false
      }
    },
    userCardInfo(){
      console.log('userInfo', this.userInfo)
      return Object.assign(this.user, this.userInfo || {})
    },
    reviewUrl(){
      return this.$HI.review.includes(window.HIVUI_SETTING.url) ? this.$HI.review : window.HIVUI_SETTING.url + this.$HI.review
    }
  },
  created() {
    this.getUser();
    this.getUserInfo();
    this.getBzList();
  },
  methods: {
    getBzList(){
      getBzList().then(res =>{
        this.bzList = res.dataPack;
        let curtBz = this.bzList.filter(res => res.fdefaultbz)[0]
        this.$refs.userCard.bzList = this.bzList
        this.$refs.bzUpdate.bzList = this.bzList
        if(curtBz && curtBz.fbzid){
          this.$refs.bzUpdate.curtBzId = curtBz.fbzid
        }
      })
    },
    getUser() {
      this.user = top.Scp.User
    },
    getUserInfo(){
      var param = {
        modelFilePath: "/platf/user-info/entity/SysUserInfoBizEntity.xml",
        pageSize: 10,
        pageNum: 1,
        __zcQuery: false,
        __returnCount: true,
        __bottomSummary: false,
      }
      let userId = top.Scp.User && top.Scp.User.fuserid
      if(userId){
        let queryCdions = {
          join: 'and',
          items:[
            {
              sign: 'eq',
              name: 'FUSERID',
              dataType: 'dbString',
              value: userId,
              enable: true
            }
          ]
        }
        let __body = JSON.stringify({queryCdions: queryCdions})
        param.__body = __body
        query(param).then((res)=>{
          let data = res.dataPack && res.dataPack.rows
          if(data && data.length){
            this.userInfo = data[0]
            let form = {
              FSEX: "",
              FBIRTHDAY: "",
              FMBPHONE: "",
              FEMAIL: "",
              FQQ: "",
              FWEIXIN: "",
              FUSERSFZ: "",
              FADDRESS: [],
              FUSERPHOTO: '',
              FUSERSFZPIC1: '',
              FUSERSFZPIC2: '',
            }
            form = Object.assign(form, data[0])
            this.$refs.userUpdate.form = form
          }
        })
      }
    },
    _getImageUrl(path) {
      let token = getToken();
      if (typeof path == "string") {
        path = path.replace(/\\/g, "/");
      }
      return `${this.reviewUrl}?relativePath=${path}&access_token=${token}`;
    },
  }
}
</script>