Слияние кода завершено, страница обновится автоматически
Обнаружены две ошибки:
Модификация:
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);
}