1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/y_project-RuoYi-Vue

 / Детали:

Управление пользователями системы имеет проблемы с импортом файлов, вот моя схема изменений.

Предстоит сделать
Владелец
Создано  
19.06.2025

Введите описание изображения
Обнаружены две ошибки:

  1. Ошибка в адресе, адрес содержит "://" вместо ":".
  2. Отсутствие указания ID отдела при отправке данных, что приводит к отсутствию ID отдела у импортированных пользователей. Необходимо выбрать отдел перед импортом.

Модификация:
RuoYi-Vue\ruoyi-ui\src\views\system\user\index.vue

Добавьте параметр deptId в адрес загрузки компонента:

<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport + '&deptId=' + upload.deptId" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>

Добавьте параметр deptId в параметры загрузки и измените адрес загрузки:

upload: {
        // Отображение диалогового окна (импорт пользователей)
        open: false,
        // Заголовок диалогового окна (импорт пользователей)
        title: "",
        // Отключение загрузки
        isUploading: false,
        // Поддержка обновления существующих данных пользователей
        updateSupport: 0,
        deptId: undefined,
        // Установка заголовков запроса
        headers: { Authorization: "Bearer " + getToken() },
        // Адрес загрузки
        url: process.env.VUE_APP_BASE_API + "system/user/importData"
      }

При событии щелчка по узлу дерева отделов установите параметр deptId:

    handleNodeClick(data) {
      this.queryParams.deptId = data.id;
      // Установка ID отдела для импорта данных
      this.upload.deptId = data.id;
      this.handleQuery();
    }
@Log(title = "Управление пользователями", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:user:import')")
@PostMapping("/importData")
public AjaxResult importData(@RequestParam("file") MultipartFile file, Long deptId, boolean updateSupport) throws Exception {
    ExcelUtil<SysUser> util = new ExcelUtil<>(SysUser.class);
    List<SysUser> userList = util.importExcel(file.getInputStream());
    // Установка ID отдела
    userList.forEach(e -> {
        if (e.getDeptId() == null) {
            e.setDeptId(deptId);
        }
    });
    String operName = getUsername();
    String message = userService.importUser(userList, updateSupport, operName);
    return success(message);
}

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/y_project-RuoYi-Vue.git
git@api.gitlife.ru:oschina-mirror/y_project-RuoYi-Vue.git
oschina-mirror
y_project-RuoYi-Vue
y_project-RuoYi-Vue