Browse Source

update

main
wangshaoping 9 months ago
parent
commit
756ca307aa
  1. 5
      io.sc.platform.system.frontend/src/views/application/Application.vue
  2. 7
      io.sc.platform.system.frontend/src/views/shared/SelectMenuTreeGrid.vue
  3. 2
      io.sc.platform.system/src/main/java/io/sc/platform/system/application/jpa/repository/ApplicationRepository.java
  4. 10
      io.sc.platform.system/src/main/java/io/sc/platform/system/application/service/impl/ApplicationServiceImpl.java
  5. 30
      io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java

5
io.sc.platform.system.frontend/src/views/application/Application.vue

@ -65,14 +65,12 @@
(evt, row, index) => { (evt, row, index) => {
currentSelectedApplicationId = row.id; currentSelectedApplicationId = row.id;
menuTreeGridRef?.refresh(); menuTreeGridRef?.refresh();
userGridRef?.refresh();
} }
" "
@before-request-data=" @before-request-data="
() => { () => {
currentSelectedApplicationId = ''; currentSelectedApplicationId = '';
menuTreeGridRef?.refresh(); menuTreeGridRef?.refresh();
userGridRef?.refresh();
} }
" "
> >
@ -102,11 +100,10 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'; import { ref } from 'vue';
import { Environment, axios, EnumTools, Options, Formater } from 'platform-core'; import { Environment, axios, Options, Formater } from 'platform-core';
import SelectMenuTreeGrid from '../shared/SelectMenuTreeGrid.vue'; import SelectMenuTreeGrid from '../shared/SelectMenuTreeGrid.vue';
const applicationGridRef = ref(); const applicationGridRef = ref();
const userGridRef = ref();
const menuTreeGridRef = ref(); const menuTreeGridRef = ref();
const selectedTabRef = ref('menu'); const selectedTabRef = ref('menu');

7
io.sc.platform.system.frontend/src/views/shared/SelectMenuTreeGrid.vue

@ -20,6 +20,7 @@
} }
" "
:fetch-data-url="fetchDataUrl + '?' + foreignKey + '=' + foreignValue" :fetch-data-url="fetchDataUrl + '?' + foreignKey + '=' + foreignValue"
:auto-fetch-data="false"
:pageable="false" :pageable="false"
:toolbar-configure="{ noIcon: true }" :toolbar-configure="{ noIcon: true }"
:toolbar-actions="[ :toolbar-actions="[
@ -94,7 +95,7 @@
></w-grid> ></w-grid>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, onUpdated } from 'vue'; import { ref } from 'vue';
import { DialogManager, Formater, Tools } from 'platform-core'; import { DialogManager, Formater, Tools } from 'platform-core';
const props = defineProps({ const props = defineProps({
@ -113,10 +114,6 @@ const refresh = () => {
treeGridRef.value.refresh(); treeGridRef.value.refresh();
}; };
onUpdated(() => {
treeGridRef.value.refresh();
});
defineExpose({ defineExpose({
refresh, refresh,
}); });

2
io.sc.platform.system/src/main/java/io/sc/platform/system/application/jpa/repository/ApplicationRepository.java

@ -10,6 +10,8 @@ import java.util.List;
public interface ApplicationRepository extends DaoRepository<ApplicationEntity,String> { public interface ApplicationRepository extends DaoRepository<ApplicationEntity,String> {
@Query("select max(e.order)+1 from io.sc.platform.system.application.jpa.entity.ApplicationEntity e") @Query("select max(e.order)+1 from io.sc.platform.system.application.jpa.entity.ApplicationEntity e")
public Integer getNextOrder(); public Integer getNextOrder();
public ApplicationEntity findByCode(String code); public ApplicationEntity findByCode(String code);
public List<ApplicationEntity> findAllByOrderByName(); public List<ApplicationEntity> findAllByOrderByName();
} }

10
io.sc.platform.system/src/main/java/io/sc/platform/system/application/service/impl/ApplicationServiceImpl.java

@ -134,13 +134,17 @@ public class ApplicationServiceImpl extends DaoServiceImpl<ApplicationEntity, St
@Override @Override
@Transactional @Transactional
public void removeAllMenus(String applicationId) throws Exception { public void removeAllMenus(String applicationId) throws Exception {
jdbcTemplate.update("delete from SYS_APPLICATION_MENU where APPLICATION_ID_=?", applicationId); if(StringUtils.hasText(applicationId)) {
jdbcTemplate.update("delete from SYS_APPLICATION_MENU where APPLICATION_ID_=?", applicationId);
}
} }
@Override @Override
@Transactional @Transactional
public void updateMenus(String applicationId, Set<String> menuIds) throws Exception { public void updateMenus(String applicationId, Set<String> menuIds) throws Exception {
removeAllMenus(applicationId); if(StringUtils.hasText(applicationId)) {
addMenus(applicationId,menuIds); removeAllMenus(applicationId);
addMenus(applicationId, menuIds);
}
} }
} }

30
io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java

@ -195,27 +195,27 @@ public class MenuServiceImpl extends DaoServiceImpl<MenuEntity, String, MenuRepo
@Override @Override
public List<MenuVo> listAllMenusWithSelectedStatusByApplication(String applicationId, QueryParameter queryParameter) throws Exception { public List<MenuVo> listAllMenusWithSelectedStatusByApplication(String applicationId, QueryParameter queryParameter) throws Exception {
if(!StringUtils.hasText(applicationId)){
return Collections.emptyList();
}
Sort sort =queryParameter.getSort(); Sort sort =queryParameter.getSort();
if(sort==null){ if(sort==null){
queryParameter.addSortBy("order"); queryParameter.addSortBy("order");
} }
if(StringUtils.hasText(applicationId)) { List<MenuEntity> allMenuEntities = repository.findAll();
List<MenuEntity> allMenuEntities = repository.findAll(); List<MenuEntity> selectedMenuEntities = listMenusByApplication(applicationId, queryParameter);
List<MenuEntity> selectedMenuEntities = listMenusByApplication(applicationId, queryParameter); List<MenuVo> allMenus = EntityVoUtil.toVo(allMenuEntities);
List<MenuVo> allMenus = EntityVoUtil.toVo(allMenuEntities); List<MenuVo> selectedMenus = EntityVoUtil.toVo(selectedMenuEntities);
List<MenuVo> selectedMenus = EntityVoUtil.toVo(selectedMenuEntities); Set<String> selectedMenuIds = new HashSet<>();
Set<String> selectedMenuIds = new HashSet<>(); for (MenuVo selectedMenu : selectedMenus) {
for (MenuVo selectedMenu : selectedMenus) { selectedMenuIds.add(selectedMenu.getId());
selectedMenuIds.add(selectedMenu.getId()); }
for (MenuVo allMenu : allMenus) {
if (selectedMenuIds.contains(allMenu.getId())) {
allMenu.setTicked(true);
} }
for (MenuVo allMenu : allMenus) {
if (selectedMenuIds.contains(allMenu.getId())) {
allMenu.setTicked(true);
}
}
return allMenus;
} }
return Collections.emptyList(); return allMenus;
} }
@Override @Override

Loading…
Cancel
Save