6
jinlin
2023-12-04 35d048aa5c0eecd6a737c04278779b0720b0e3db
6
6个文件已修改
169 ■■■■■ 已修改文件
web/src/components/config-uploader/src/config-uploader.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/sys/user-add-or-update.vue 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/common/src/main/java/com/zt/core/sys/model/SysUser.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/java/com/zt/modules/oss/controller/SysOssController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/components/config-uploader/src/config-uploader.vue
@@ -69,6 +69,10 @@
    name: 'ConfigUploader',
    components: {},
    props: {
      busiTypeVarName: {
        type : String,
        default:'files'
      },
      lineHeight:{
        type:Boolean,
        default:false
@@ -86,9 +90,9 @@
    computed: {
      fields() {
        let arr = []
        if (this.dataForm.files && this.dataForm.files.groups) {
        if (this.value && this.value.groups) {
          console.log(this.dataForm,"fields this.dataForm")
          this.dataForm.files.groups.forEach(group => {
          this.value.groups.forEach(group => {
            group.fields.forEach(field => {
              let arrType = []
              if (field.fileTypes) {
@@ -109,9 +113,8 @@
            ...this.getOss(),
            ...(val || {})
          }
          // this.dataForm.files = this.oss
          this.$set(this.dataForm, 'files', this.oss)
          this.$set(this.dataForm, this.busiTypeVarName, this.oss)
          console.log(this.fields, 'watch this.fields')
          // 分解到每个字段给dataForm赋值
          this.fields.forEach(field => {
            // this.dataForm[field.busiField] = field.files
@@ -126,8 +129,7 @@
        this.oss.groups.forEach(group => {
          this.activeNames.push(group.busiFieldGroup)
        })
        // this.dataForm.files = this.oss
        this.$set(this.dataForm, 'files', this.oss)
        this.$set(this.dataForm, this.busiTypeVarName, this.oss)
      }
    },
    methods: {
@@ -157,6 +159,7 @@
      },
      change(busiField) {
        console.log(busiField, 'config_uploader change(busiField) busiField')
        console.log(this.fields, 'change this.fields')
        this.fields.forEach(field => {
          if (field.busiField === busiField) {
            field.files.length = 0
web/src/views/modules/sys/user-add-or-update.vue
@@ -6,12 +6,22 @@
          <template slot="title">
            <el-tag>{{ $t('user.title') }}</el-tag>
          </template>
            <config-uploader busi-type="users" model-name="dataForm" :dataForm="dataForm"
          <zt-form-item prop="username" label="用户头像">
            <config-uploader busi-type="users_avatar" model-name="dataForm" :dataForm="dataForm"
                             @getImageUrl="getImageUrl"
                             v-model="dataForm.files"/>
            <div v-if="dataForm.url">
              <el-image v-for="(url, index) in dataForm.url" :key="index" :src="url"></el-image>
              <el-image :src="dataForm.url"></el-image>
            </div>
          </zt-form-item>
          <zt-form-item prop="realName" label="用户签名">
            <config-uploader :busiTypeVarName="busiTypeVarName" busi-type="users_sign" model-name="dataForm" :dataForm="dataForm"
                             @getImageUrl="getImageUrl"
                             v-model="dataForm.files2"/>
            <div v-if="dataForm.url2">
              <el-image :src="dataForm.url2"></el-image>
            </div>
          </zt-form-item>
          <zt-form-item prop="username" :label="$t('user.username')" rules="required">
            <el-input v-model="dataForm.username" :placeholder="$t('user.username')"></el-input>
          </zt-form-item>
@@ -58,13 +68,14 @@
            <zt-combo-tree v-model="dataForm.jobIdList" :datas="jobList" multiple :check-strictly="true"/>
          </zt-form-item>
          <zt-form-item prop="postIdList" :label="$t('user.postIdList')" class="role-list">
            <zt-select v-model="dataForm.postIdList" :datas="postList" multiple :placeholder="$t('user.setPost')"></zt-select>
            <zt-select v-model="dataForm.postIdList" :datas="postList" multiple
                       :placeholder="$t('user.setPost')"></zt-select>
          </zt-form-item>
          <zt-form-item prop="teamgroupIds" label="所属专业" class="role-list">
            <team-group-selector v-model="dataForm.teamgroupIds" multiple="multiple" leafOnly placeholder="所属专业"/>
          </zt-form-item>
          <zt-form-item prop="shipIds" v-if="false" label="负责舰" class="role-list">
            <local-ship-selector v-model="dataForm.shipIds"  multiple="multiple" placeholder="负责舰"/>
            <local-ship-selector v-model="dataForm.shipIds" multiple="multiple" placeholder="负责舰"/>
          </zt-form-item>
          <el-form-item prop="sort" v-if="false" :label="$t('dept.sort')">
            <el-input-number v-model="dataForm.sort" controls-position="right" :min="0"
@@ -81,6 +92,7 @@
  export default {
    data() {
      return {
        busiTypeVarName: 'files2',
        activeNames: ['1', '2'],
        postList: [],
        jobList: [],
@@ -102,15 +114,17 @@
          wechat: '',
          sort: 1,
          status: 1,
          register:0,
          teamgroupIds:'',
          register: 0,
          teamgroupIds: '',
          shipIds: '',
          url: []
          url: '',
          url2: '',
          files: [],
          files2: []
        }
      }
    },
    computed: {
    },
    computed: {},
    methods: {
      init() {
        this.getDeptList()
@@ -145,7 +159,7 @@
            ...res.data
          }
          this.getImageUrl()
          console.log(this.dataForm,"getInfo this.dataForm ")
          console.log(this.dataForm, "getInfo this.dataForm ")
        }
      },
      onDeptSelect(data, isChange) {
@@ -162,32 +176,25 @@
        }
      },
      getImageUrl() {
        let pictureId=[]
        pictureId = this.getFirstImageId(this.dataForm.files)
        console.log(pictureId,'getImageUrl() pictureId')
        if(pictureId.length>0){
          for (let i=0;i<=pictureId.length;i++){
            pictureId=pictureId[i]
            this.dataForm.url[i] = `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${pictureId}`
            console.log(this.dataForm.url[i], ' this.dataForm.url')
          }
        }
        console.log(this.dataForm, 'this.dataForm')
        let pictureId = this.getFirstImageId(this.dataForm.files)
        console.log(pictureId, 'getImageUrl() pictureId')
        this.dataForm.url = `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${pictureId}`
        let pictureId2 = this.getFirstImageId(this.dataForm.files2)
        console.log(pictureId2, 'getImageUrl() pictureId')
        this.dataForm.url2 = `${window.SITE_CONFIG['apiURL']}/sys/oss/content2?fileId=${pictureId2}`
      },
      getFirstImageId(oss) {
        console.log(oss, ' getFirstImageId(oss)')
        let fileId = []
        let fileId = 0
        if (oss != null) {
          if (oss.groups.length > 0) {
            let group1 = oss.groups[0]
            let group2 = oss.groups[0]
            if (group1.fields.length > 0 ||group2.fields.length > 0 ) {
              let field1 = group1.fields[0]
              let field2 = group2.fields[0]
              if (field1.files.length > 0 || field2.files.length > 0) {
                let file1 = field1.files[0]
                let file2 = field2.files[0]
                fileId[0]=file1.id
                fileId[1]=file2.id
            let group = oss.groups[0]
            if (group.fields.length > 0) {
              let field = group.fields[0]
              if (field.files.length > 0) {
                let file = field.files[0]
                fileId = file.id
              }
            }
          }
@@ -197,7 +204,7 @@
      // 表单提交
      async formSubmit() {
        this.dataForm.companyId = this.companyId
        console.log(this.dataForm,'this.dataForm')
        console.log(this.dataForm, 'this.dataForm')
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/sys/userEx', this.dataForm)
        if (res.success) {
          await this.$tip.success()
@@ -209,39 +216,40 @@
  }
</script>
// <style lang="scss">
//   .mod-sys__user {
//     .role-list {
//       .el-select {
//         width: 100%;
//       }
//     }
//   }
//
<style lang="scss">
  //   .mod-sys__user {
  //     .role-list {
  //       .el-select {
  //         width: 100%;
  //       }
  //     }
  //   }
//   .avatar-uploader .el-upload {
//     border: 1px dashed #d9d9d9;
//     border-radius: 6px;
//     cursor: pointer;
//     position: relative;
//     overflow: hidden;
//   }
  //   .avatar-uploader .el-upload {
  //     border: 1px dashed #d9d9d9;
  //     border-radius: 6px;
  //     cursor: pointer;
  //     position: relative;
  //     overflow: hidden;
  //   }
//   .avatar-uploader .el-upload:hover {
//     border-color: #409EFF;
//   }
  //   .avatar-uploader .el-upload:hover {
  //     border-color: #409EFF;
  //   }
//   .avatar-uploader-icon {
//     font-size: 2.8px;
//     color: #8c939d;
//     width: 27.8px;
//     height: 27.8px;
//     line-height: 27.8px;
//     text-align: center;
//   }
  //   .avatar-uploader-icon {
  //     font-size: 2.8px;
  //     color: #8c939d;
  //     width: 27.8px;
  //     height: 27.8px;
  //     line-height: 27.8px;
  //     text-align: center;
  //   }
//   .avatar {
//     width: 27.8px;
//     height: 27.8px;
//     display: block;
//   }
// </style>
  //   .avatar {
  //     width: 27.8px;
  //     height: 27.8px;
  //     display: block;
  //   }
  // </style>
zt/common/src/main/java/com/zt/core/sys/model/SysUser.java
@@ -151,6 +151,11 @@
    @TableField(exist = false)
    private OssDto files;
    @OssField("用户头像")
    @ApiModelProperty(value = "用户头像")
    @TableField(exist = false)
    private OssDto files2;
    @ApiModelProperty(value = "岗位ID列表")
    @TableField(exist = false)
    private List<Long> postIdList = new ArrayList<>();
zt/core/src/main/java/com/zt/modules/oss/controller/SysOssController.java
@@ -8,6 +8,7 @@
package com.zt.modules.oss.controller;
import cn.hutool.core.convert.Convert;
import com.zt.common.annotation.LogOperation;
import com.zt.common.annotation.QueryParam;
import com.zt.common.constant.Constant;
@@ -127,7 +128,7 @@
        //String id = fileId;
        String id = request.getParameter("fileId");
        if (StringUtils.isNotEmpty(id)) {
            SysOss oss = sysOssService.getById(Long.parseLong(id));
            SysOss oss = sysOssService.getById(Convert.toLong(id));
            if (CloudChannel.LOCAL.getValue().equals(oss.getChannel())) { // 本地
                System.out.println(CloudChannel.LOCAL.getValue());
                System.out.println(oss.getChannel());
zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java
@@ -105,10 +105,14 @@
    public Result<SysUser> get(@PathVariable("id") Long id) {
        SysUser data = sysUserService.get(id);
        if (data != null) {
            OssDto ossDto= sysOssConfigService.getOssByBusiType(data.getId() , "users");
            OssDto ossDto= sysOssConfigService.getOssByBusiType(data.getId() , "users_avatar");
            if (ossDto != null) {
                data.setFiles(ossDto);
            }
            OssDto ossDto2= sysOssConfigService.getOssByBusiType(data.getId() , "users_sign");
            if (ossDto2 != null) {
                data.setFiles2(ossDto2);
            }
        }
        // 用户岗位列表
        data.setPostIdList(sysPostUserService.getUserPosts(id).stream().map(post -> post.getId())
zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java
@@ -167,6 +167,7 @@
        entity.setCompanyId(sysDeptService.getCompanyIdByDeptId(entity.getDeptId()));
        // 保存用户
        sysOssConfigService.updateOss(entity.getId(), entity.getFiles());
        sysOssConfigService.updateOss(entity.getId(), entity.getFiles2());
        super.insert(entity);
        sysPostUserService.saveOrUpdate(entity.getId(), entity.getPostIdList());
@@ -180,6 +181,7 @@
        // 更新用户
        entity.setCompanyId(sysDeptService.getCompanyIdByDeptId(entity.getDeptId()));
        sysOssConfigService.updateOss(entity.getId(), entity.getFiles());
        sysOssConfigService.updateOss(entity.getId(), entity.getFiles2());
        super.update(entity);
        // 保存岗位用户关系