Commit 7cf58b88 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents bfe31672 7aedd4f0
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<a-tab-pane key="/appmarket/terminalapp" tab="终端应用"> </a-tab-pane> <a-tab-pane key="/appmarket/terminalapp" tab="终端应用"> </a-tab-pane>
<a-tab-pane key="/appmarket/moveapp" tab="移动端应用"> </a-tab-pane> <a-tab-pane key="/appmarket/moveapp" tab="移动端应用"> </a-tab-pane>
<a-tab-pane key="/appmarket/blackapp" tab="应用黑名单"> </a-tab-pane> <a-tab-pane key="/appmarket/blackapp" tab="应用黑名单"> </a-tab-pane>
<a-tab-pane key="/appmarket/category" tab="应用分类"> </a-tab-pane> <a-tab-pane key="/appmarket/appTheme" tab="应用主题"> </a-tab-pane>
</a-tabs> </a-tabs>
<div class="app-out-box flex1"> <div class="app-out-box flex1">
<router-view></router-view> <router-view></router-view>
......
...@@ -2,11 +2,12 @@ ...@@ -2,11 +2,12 @@
<div class="app-category"> <div class="app-category">
<div class="header flex aic jcb mb20 pdr6"> <div class="header flex aic jcb mb20 pdr6">
<a-space> <a-space>
<a-button type="primary" @click="handleAdd"> 新增分类 </a-button> <a-button type="primary" @click="handleAdd"> 新增主题 </a-button>
<a-button type="danger" @click="handleDelAll"> 批量移除 </a-button>
</a-space> </a-space>
<a-input-search <a-input-search
style="width: 300px" style="width: 300px"
placeholder="请输入分类名称搜索" placeholder="请输入主题名称搜索"
enter-button="搜索" enter-button="搜索"
v-model="searchVal" v-model="searchVal"
allowClear allowClear
...@@ -43,6 +44,11 @@ ...@@ -43,6 +44,11 @@
(current - 1) * size + index + 1 (current - 1) * size + index + 1
}}</span> }}</span>
<!-- 创建时间 -->
<template slot="createTime" slot-scope="text">
{{ text.createTime | dateFormat }}
</template>
<!-- 操作 --> <!-- 操作 -->
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="text">
<a-space size="middle"> <a-space size="middle">
...@@ -53,18 +59,18 @@ ...@@ -53,18 +59,18 @@
</a-table> </a-table>
</div> </div>
<!-- 新增、编辑分类 --> <!-- 新增、编辑分类 -->
<AddCategory <AddTheme
ref="AddCategory" ref="AddTheme"
:title="title" :title="title"
:addVisile.sync="addVisile" :addVisile.sync="addVisile"
@addSuccess="getCategoryList" @addSuccess="getCategoryList"
></AddCategory> ></AddTheme>
</div> </div>
</template> </template>
<script> <script>
import { getCategoryList, deleteCategory } from "@/services/market"; import { getCategoryList, deleteCategory } from "@/services/market";
import AddCategory from "../modal/AddCategory"; import AddTheme from "../modal/AddTheme";
import local from "@/utils/local"; import local from "@/utils/local";
import { pageSizeOptions } from "@/config/pageConfig.js"; import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [ const columns = [
...@@ -81,16 +87,22 @@ const columns = [ ...@@ -81,16 +87,22 @@ const columns = [
dataIndex: "siteName", dataIndex: "siteName",
}, },
{ {
title: "分类名称", title: "主题名称",
dataIndex: "categoryName", dataIndex: "categoryName",
}, },
{
title: "主题编码",
dataIndex: "categoryCode",
},
{ {
title: "排序", title: "排序",
dataIndex: "sort", dataIndex: "sort",
}, },
{ {
title: "创建时间", title: "创建时间",
dataIndex: "createTime", scopedSlots: {
customRender: "createTime",
},
}, },
{ {
title: "操作", title: "操作",
...@@ -100,7 +112,7 @@ const columns = [ ...@@ -100,7 +112,7 @@ const columns = [
]; ];
export default { export default {
components: { components: {
AddCategory, AddTheme,
}, },
data() { data() {
return { return {
...@@ -117,7 +129,7 @@ export default { ...@@ -117,7 +129,7 @@ export default {
pageSizeOptions, pageSizeOptions,
selectedRowKeys: [], // 表格勾选数据 selectedRowKeys: [], // 表格勾选数据
AddVisible: false, AddVisible: false,
title: "新增分类", title: "新增主题",
addVisile: false, addVisile: false,
}; };
}, },
...@@ -149,13 +161,14 @@ export default { ...@@ -149,13 +161,14 @@ export default {
// 新增 // 新增
handleAdd() { handleAdd() {
this.title = "新增分类"; this.title = "新增主题";
this.$refs.AddCategory.onAdd(); this.$refs.AddTheme.onAdd();
this.addVisile = true; this.addVisile = true;
}, },
// 搜索 // 搜索
onSearch() { onSearch() {
this.current = 1; this.current = 1;
this.selectedRowKeys = [];
this.getCategoryList(); this.getCategoryList();
}, },
// 翻页 // 翻页
...@@ -175,10 +188,19 @@ export default { ...@@ -175,10 +188,19 @@ export default {
}, },
// 编辑 // 编辑
handleEdit(row) { handleEdit(row) {
this.title = "编辑分类"; this.title = "编辑主题";
this.$refs.AddCategory.onEdit(row); this.$refs.AddTheme.onEdit(row);
this.addVisile = true; this.addVisile = true;
}, },
// 批量移除
handleDelAll() {
if (!this.selectedRowKeys.length) {
this.$message.warning("请先勾选数据");
return;
}
let ids = this.selectedRowKeys.join(",");
this.handleDel(ids);
},
// 删除 // 删除
handleDel(id) { handleDel(id) {
let _this = this; let _this = this;
...@@ -196,6 +218,7 @@ export default { ...@@ -196,6 +218,7 @@ export default {
let { code, msg } = res.data; let { code, msg } = res.data;
if (code === 1) { if (code === 1) {
_this.$message.success(msg); _this.$message.success(msg);
this.selectedRowKeys = [];
_this.getCategoryList(); _this.getCategoryList();
} }
}, },
......
...@@ -19,11 +19,11 @@ ...@@ -19,11 +19,11 @@
:label-col="{ span: 4 }" :label-col="{ span: 4 }"
:wrapper-col="{ span: 20 }" :wrapper-col="{ span: 20 }"
> >
<a-form-model-item label="分类名称" prop="categoryName"> <a-form-model-item label="主题名称" prop="categoryName">
<a-input v-model="form.categoryName" placeholder="请输入分类名称" /> <a-input v-model="form.categoryName" placeholder="请输入主题名称" />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="分类编码" prop="categoryCode"> <a-form-model-item label="主题编码" prop="categoryCode">
<a-input v-model="form.categoryCode" placeholder="请输入分类编码" /> <a-input v-model="form.categoryCode" placeholder="请输入主题编码" />
</a-form-model-item> </a-form-model-item>
<a-form-model-item label="排序" prop="sort"> <a-form-model-item label="排序" prop="sort">
<a-input-number v-model="form.sort" :min="1" /> <a-input-number v-model="form.sort" :min="1" />
......
...@@ -11,14 +11,34 @@ ...@@ -11,14 +11,34 @@
<a-space> <a-space>
<a-select <a-select
style="width: 120px" style="width: 120px"
allowClear
v-model="leftSource" v-model="leftSource"
class="select-department" class="select-department"
placeholder="事项来源" placeholder="事项来源"
> >
<a-select-option value=""> 全部来源 </a-select-option>
<a-select-option :value="0"> 一体化添加 </a-select-option> <a-select-option :value="0"> 一体化添加 </a-select-option>
<a-select-option :value="1"> 手动添加 </a-select-option> <a-select-option :value="1"> 手动添加 </a-select-option>
</a-select> </a-select>
<a-select
showSearch
style="min-width: 120px"
v-model="leftDept"
class="select-department"
placeholder="部门搜索"
optionFilterProp="label"
>
<a-select-option value="" label="全部部门">
全部部门
</a-select-option>
<a-select-option
v-for="v in deptList"
:key="v.id"
:value="v.deptNumber"
:label="v.name"
>
{{ v.name }}
</a-select-option>
</a-select>
<a-input-search <a-input-search
v-model="searchLeftVal" v-model="searchLeftVal"
placeholder="请输入事项名称搜索" placeholder="请输入事项名称搜索"
...@@ -122,14 +142,34 @@ ...@@ -122,14 +142,34 @@
<a-space> <a-space>
<a-select <a-select
style="width: 120px" style="width: 120px"
allowClear
v-model="rightSource" v-model="rightSource"
class="select-department" class="select-department"
placeholder="事项来源" placeholder="事项来源"
> >
<a-select-option value=""> 全部来源 </a-select-option>
<a-select-option :value="0"> 一体化事项 </a-select-option> <a-select-option :value="0"> 一体化事项 </a-select-option>
<a-select-option :value="1"> 自建事项 </a-select-option> <a-select-option :value="1"> 自建事项 </a-select-option>
</a-select> </a-select>
<a-select
showSearch
style="min-width: 120px"
v-model="rightDept"
class="select-department"
placeholder="部门搜索"
optionFilterProp="label"
>
<a-select-option value="" label="全部部门">
全部部门
</a-select-option>
<a-select-option
v-for="v in deptList"
:key="v.id"
:value="v.deptNumber"
:label="v.name"
>
{{ v.name }}
</a-select-option>
</a-select>
<a-input-search <a-input-search
v-model="searchRightVal" v-model="searchRightVal"
placeholder="请输入事项名称搜索" placeholder="请输入事项名称搜索"
...@@ -229,9 +269,9 @@ import { ...@@ -229,9 +269,9 @@ import {
delMatter, delMatter,
} from "@/services/matter"; } from "@/services/matter";
import { getBusinessMatterList, delBusinessMatter } from "@/services/business"; import { getBusinessMatterList, delBusinessMatter } from "@/services/business";
import { getDeptList } from "@/services/dept";
import EditSiteMatter from "../group/EditSiteMatter.vue"; import EditSiteMatter from "../group/EditSiteMatter.vue";
import { pageSizeOptions } from "@/config/pageConfig.js"; import { pageSizeOptions } from "@/config/pageConfig.js";
// import { getDeptList } from "@/services/dept";
import local from "@/utils/local"; import local from "@/utils/local";
import { mapMutations } from "vuex"; import { mapMutations } from "vuex";
const leftColumns = [ const leftColumns = [
...@@ -310,8 +350,10 @@ export default { ...@@ -310,8 +350,10 @@ export default {
rightColumns, rightColumns,
leftLoading: false, leftLoading: false,
rightLoading: false, rightLoading: false,
leftSource: undefined, // 左边来源 leftSource: "", // 左边来源
rightSource: undefined, // 右边来源 leftDept: "", // 左边部门搜索
rightDept: "", // 右边部门搜索
rightSource: "", // 右边来源
selectedRowKeys: [], selectedRowKeys: [],
matterSiteData: [], // 站点事项 matterSiteData: [], // 站点事项
matterDataList: [], //事项列表数据 matterDataList: [], //事项列表数据
...@@ -336,12 +378,28 @@ export default { ...@@ -336,12 +378,28 @@ export default {
}; };
}, },
created() { created() {
this.getDeptListData();
this.getMatterSiteData(); this.getMatterSiteData();
this.getMatterListData(); this.getMatterListData();
}, },
methods: { methods: {
...mapMutations("site", ["SET_matterDict"]), ...mapMutations("site", ["SET_matterDict"]),
// 获取部门列表
async getDeptListData(obj = {}) {
this.deptLoading = true;
let res = await getDeptList({
siteId: this.siteId,
page: 1,
size: -1,
...obj,
});
this.deptLoading = false;
let { code, data } = res.data;
if (code === 1) {
this.deptList = data.data;
}
},
// 获取站点事项 // 获取站点事项
async getMatterSiteData(search = {}) { async getMatterSiteData(search = {}) {
this.leftLoading = true; this.leftLoading = true;
...@@ -351,6 +409,7 @@ export default { ...@@ -351,6 +409,7 @@ export default {
siteId: this.siteId, siteId: this.siteId,
source: this.leftSource, source: this.leftSource,
matterName: `%${this.searchLeftVal}%`, matterName: `%${this.searchLeftVal}%`,
deptCode: this.leftDept,
...search, ...search,
}); });
let { pageInfo, data } = res.data.data; let { pageInfo, data } = res.data.data;
...@@ -371,6 +430,7 @@ export default { ...@@ -371,6 +430,7 @@ export default {
size: this.rightSize, size: this.rightSize,
matterName: this.searchRightVal, matterName: this.searchRightVal,
source: this.rightSource, source: this.rightSource,
deptCode: this.rightDept,
...search, ...search,
}); });
if (res.data.code === 1) { if (res.data.code === 1) {
......
...@@ -49,11 +49,11 @@ ...@@ -49,11 +49,11 @@
<template slot="action" slot-scope="text"> <template slot="action" slot-scope="text">
<a-tooltip> <a-tooltip>
<template slot="title"> 解除查看 </template> <template slot="title"> 解除查看 </template>
<soan <span
href="javascript:;" href="javascript:;"
class="delete pointer" class="delete pointer"
@click="handleisUnbound(text)" @click="handleisUnbound(text)"
>解除</soan >解除</span
> >
</a-tooltip> </a-tooltip>
</template> </template>
...@@ -69,13 +69,35 @@ ...@@ -69,13 +69,35 @@
<a-button type="primary" @click="handleAddAll"> 批量关联 </a-button> <a-button type="primary" @click="handleAddAll"> 批量关联 </a-button>
</div> </div>
<div> <div>
<a-input-search <a-space>
v-model="rightSearchVal" <a-select
placeholder="请输入事项名称搜索" showSearch
enter-button="搜索" style="min-width: 120px"
@search="onSearchRight" v-model="deptSearch"
allowClear class="select-department"
/> placeholder="部门搜索"
optionFilterProp="label"
>
<a-select-option value="" label="全部部门">
全部部门
</a-select-option>
<a-select-option
v-for="v in deptList"
:key="v.id"
:value="v.deptNumber"
:label="v.name"
>
{{ v.name }}
</a-select-option>
</a-select>
<a-input-search
v-model="rightSearchVal"
placeholder="请输入事项名称搜索"
enter-button="搜索"
@search="onSearchRight"
allowClear
/>
</a-space>
</div> </div>
</div> </div>
</div> </div>
...@@ -159,7 +181,7 @@ ...@@ -159,7 +181,7 @@
<a-select <a-select
style="width: 85%" style="width: 85%"
show-search show-search
:filter-option="filterOption" optionFilterProp="label"
allowClear allowClear
placeholder="请选择业务" placeholder="请选择业务"
:showArrow="false" :showArrow="false"
...@@ -170,6 +192,7 @@ ...@@ -170,6 +192,7 @@
v-for="v in SiteBusinessData" v-for="v in SiteBusinessData"
:key="v.id" :key="v.id"
:value="v.businessId" :value="v.businessId"
:label="v.businessName"
> >
{{ v.businessName }} {{ v.businessName }}
</a-select-option> </a-select-option>
...@@ -257,6 +280,7 @@ ...@@ -257,6 +280,7 @@
<script> <script>
import { getSiteMatterList } from "@/services/matter"; import { getSiteMatterList } from "@/services/matter";
import { pageSizeOptions } from "@/config/pageConfig.js"; import { pageSizeOptions } from "@/config/pageConfig.js";
import { getDeptList } from "@/services/dept";
import { import {
getSiteBusinessList, getSiteBusinessList,
// addBusinessMatter, // addBusinessMatter,
...@@ -266,7 +290,6 @@ import { ...@@ -266,7 +290,6 @@ import {
addBatchSave, addBatchSave,
// getMatterlistData, // getMatterlistData,
} from "@/services/business"; } from "@/services/business";
// import { getDeptList } from "@/services/dept";
import local from "@/utils/local"; import local from "@/utils/local";
const leftColumns = [ const leftColumns = [
{ {
...@@ -329,6 +352,7 @@ export default { ...@@ -329,6 +352,7 @@ export default {
Leftloading: false, Leftloading: false,
rightloading: false, rightloading: false,
leftSearchVal: "", // 左边搜索 leftSearchVal: "", // 左边搜索
deptSearch: "", // 右边
rightSearchVal: "", // 右边搜索 rightSearchVal: "", // 右边搜索
SiteBusinessData: [], // 站点业务 SiteBusinessData: [], // 站点业务
SiteMatterData: [], //站点事项 SiteMatterData: [], //站点事项
...@@ -347,7 +371,7 @@ export default { ...@@ -347,7 +371,7 @@ export default {
pageSizeOptions, pageSizeOptions,
siteId: local.getLocal("siteId"), // 站点id siteId: local.getLocal("siteId"), // 站点id
matterIds: "", // 业务id matterIds: "", // 业务id
// deptList: [], // 站点部门 deptList: [], // 站点部门
rightSearch: "", // 事项搜索 rightSearch: "", // 事项搜索
businessMatterData: [], // 业务关联事项列表数据 businessMatterData: [], // 业务关联事项列表数据
unboundBusinessData: {}, // 解除-业务数据 unboundBusinessData: {}, // 解除-业务数据
...@@ -369,6 +393,7 @@ export default { ...@@ -369,6 +393,7 @@ export default {
}; };
}, },
created() { created() {
this.getDeptListData();
this.getBusinessMatterData(); this.getBusinessMatterData();
this.getMatterlistData(); this.getMatterlistData();
this.getSiteBusinessData(); this.getSiteBusinessData();
...@@ -376,6 +401,21 @@ export default { ...@@ -376,6 +401,21 @@ export default {
}, },
methods: { methods: {
// 获取部门列表
async getDeptListData(obj = {}) {
this.deptLoading = true;
let res = await getDeptList({
siteId: this.siteId,
page: 1,
size: -1,
...obj,
});
this.deptLoading = false;
let { code, data } = res.data;
if (code === 1) {
this.deptList = data.data;
}
},
// 获取站点业务关联列表 // 获取站点业务关联列表
async getBusinessMatterData(search = {}) { async getBusinessMatterData(search = {}) {
this.Leftloading = true; this.Leftloading = true;
...@@ -438,6 +478,7 @@ export default { ...@@ -438,6 +478,7 @@ export default {
size: this.rightSize, size: this.rightSize,
matterName: `%${this.rightSearchVal}%`, matterName: `%${this.rightSearchVal}%`,
siteId: this.siteId, siteId: this.siteId,
deptCode: this.leftDept,
...search, ...search,
}); });
let { pageInfo, data } = res.data.data; let { pageInfo, data } = res.data.data;
...@@ -659,8 +700,8 @@ export default { ...@@ -659,8 +700,8 @@ export default {
}, },
// 关闭关联对话框 // 关闭关联对话框
handleclose() { handleclose() {
this.selectedRowKeys = []; // this.selectedRowKeys = [];
this.allCorrelationData = []; // this.allCorrelationData = [];
this.$refs.formData.resetFields(); this.$refs.formData.resetFields();
this.isCorrelation = false; this.isCorrelation = false;
}, },
......
<template> <template>
<exception-page home-route="/demo" :style="`min-height: ${minHeight}`" type="404" /> <exception-page
home-route="/website"
:style="`min-height: ${minHeight}`"
type="404"
/>
</template> </template>
<script> <script>
import ExceptionPage from '@/components/exception/ExceptionPage' import ExceptionPage from "@/components/exception/ExceptionPage";
import {mapState} from 'vuex' import { mapState } from "vuex";
export default { export default {
name: 'Exp404', name: "Exp404",
components: {ExceptionPage}, components: { ExceptionPage },
computed: { computed: {
...mapState('setting', ['pageMinHeight']), ...mapState("setting", ["pageMinHeight"]),
minHeight() { minHeight() {
return this.pageMinHeight ? this.pageMinHeight + 'px' : '100vh' return this.pageMinHeight ? this.pageMinHeight + "px" : "100vh";
} },
} },
} };
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
......
...@@ -265,9 +265,9 @@ const options = { ...@@ -265,9 +265,9 @@ const options = {
}, },
}, },
{ {
path: "category", path: "appTheme",
component: () => component: () =>
import("@/pages/basicset/appmarket/components/AppCategory"), import("@/pages/basicset/appmarket/components/AppTheme"),
meta: { meta: {
invisible: true, invisible: true,
}, },
......
...@@ -2,7 +2,8 @@ import { hasAuthority } from "@/utils/authority-utils"; ...@@ -2,7 +2,8 @@ import { hasAuthority } from "@/utils/authority-utils";
// import {loginIgnore} from '@/router/index' // import {loginIgnore} from '@/router/index'
// import {checkAuthorization} from '@/utils/request' // import {checkAuthorization} from '@/utils/request'
import NProgress from "nprogress"; import NProgress from "nprogress";
import local from "@/utils/local"; // import local from "@/utils/local";
import store from "@/store/index";
NProgress.configure({ showSpinner: false }); NProgress.configure({ showSpinner: false });
...@@ -28,7 +29,8 @@ const progressStart = (to, from, next) => { ...@@ -28,7 +29,8 @@ const progressStart = (to, from, next) => {
* @param options * @param options
*/ */
const loginGuard = (to, from, next) => { const loginGuard = (to, from, next) => {
let token = local.getLocal("token") ? true : false; // let token = local.getLocal("token") ? true : false;
let token = store.getters["site/token"];
if (token) { if (token) {
next(); next();
} else { } else {
......
...@@ -2,7 +2,6 @@ package com.mortals.xhx.module.app.web; ...@@ -2,7 +2,6 @@ package com.mortals.xhx.module.app.web;
import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -31,10 +30,7 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -31,10 +30,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mortals.xhx.common.key.Constant.CUSTAPP_ROOT_PATH; import static com.mortals.xhx.common.key.Constant.CUSTAPP_ROOT_PATH;
...@@ -66,7 +62,7 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService, ...@@ -66,7 +62,7 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", AppTypeEnum.getEnumMap()); this.addDict(model, "type", AppTypeEnum.getEnumMap());
this.addDict(model, "shelves", paramService.getParamBySecondOrganize("App", "shelves")); this.addDict(model, "shelves", paramService.getParamBySecondOrganize("App", "shelves"));
this.addDict(model, "appThemeName", paramService.getParamBySecondOrganize("App", "appThemeName")); //this.addDict(model, "appThemeName", paramService.getParamBySecondOrganize("App", "appThemeName"));
this.addDict(model, "distribute", YesNoEnum.getEnumMap()); this.addDict(model, "distribute", YesNoEnum.getEnumMap());
this.addDict(model, "dateUpdate", YesNoEnum.getEnumMap()); this.addDict(model, "dateUpdate", YesNoEnum.getEnumMap());
super.init(model, context); super.init(model, context);
...@@ -106,6 +102,11 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService, ...@@ -106,6 +102,11 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
List<AppCategoryEntity> appCategoryEntities = appCategoryService.find(appCategoryQuery); List<AppCategoryEntity> appCategoryEntities = appCategoryService.find(appCategoryQuery);
if (!ObjectUtils.isEmpty(appCategoryEntities)) { if (!ObjectUtils.isEmpty(appCategoryEntities)) {
model.put("appCategory", appCategoryEntities); model.put("appCategory", appCategoryEntities);
Map<String,Object> appThemeName = new HashMap<>();
for (AppCategoryEntity appCategory:appCategoryEntities){
appThemeName.put(appCategory.getId().toString(),appCategory.getCategoryName());
}
this.addDict(model, "appThemeName", appThemeName);
} }
} }
return super.doListAfter(query, model, context); return super.doListAfter(query, model, context);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment