1
This commit is contained in:
parent
c6280780a2
commit
cf46f9b5c1
@ -62,7 +62,7 @@ public class BaseSiteController extends BaseController {
|
||||
**/
|
||||
@GetMapping("/listAll")
|
||||
public AjaxResult list() {
|
||||
return success(baseSiteService.list());
|
||||
return success(baseSiteService.getMySiteList());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -65,14 +65,10 @@ public class WebController extends BaseController {
|
||||
@Autowired
|
||||
private IBusiProdNewService prodNewService;
|
||||
@Autowired
|
||||
private IBaseNationalService nationalService;
|
||||
@Autowired
|
||||
private IBusiInquiryItemService inquiryItemService;
|
||||
@Autowired
|
||||
private IBusiChatMainService busiChatMainService;
|
||||
@Autowired
|
||||
private GoogleKeywordService googleKeywordService;
|
||||
@Autowired
|
||||
private IBusiPageService pageService;
|
||||
@Autowired
|
||||
private CommonUtils commonUtils;
|
||||
@ -157,9 +153,12 @@ public class WebController extends BaseController {
|
||||
@ApiOperation("公司介绍-富文本-首页展示区域")
|
||||
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
|
||||
@GetMapping("/indexCompanyInfo")
|
||||
public R<String> indexCompanyInfo(@RequestParam(required = true) String tenantId) {
|
||||
public R<Map<String,String>> indexCompanyInfo(@RequestParam(required = true) String tenantId) {
|
||||
BaseSiteInfo baseSiteInfo = siteInfoService.getSiteInfo(tenantId);
|
||||
return R.ok(baseSiteInfo.getCompanyInfo());
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("content",baseSiteInfo.getCompanyInfo());
|
||||
map.put("contentApp",baseSiteInfo.getCompanyInfoApp());
|
||||
return R.ok(map);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -97,6 +97,11 @@ public class BaseSiteInfo extends DlBaseEntity
|
||||
@ApiModelProperty("公司介绍")
|
||||
private String companyInfo;
|
||||
|
||||
/** 公司介绍-移动端 */
|
||||
@Excel(name = "公司介绍-移动端")
|
||||
@ApiModelProperty("公司介绍-移动端")
|
||||
private String companyInfoApp;
|
||||
|
||||
/** 站点唯一编码(租户id) */
|
||||
@Excel(name = "站点唯一编码", readConverterExp = "租=户id")
|
||||
@ApiModelProperty("站点唯一编码")
|
||||
|
@ -19,4 +19,6 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
public interface BaseSiteMapper extends BaseMapper<BaseSite>
|
||||
{
|
||||
IPage<SiteVO> queryListPage(@Param("entity") BaseSite entity, Page<BaseSite> page);
|
||||
|
||||
List<BaseSite> selectByUserId(@Param("userId")Long userId);
|
||||
}
|
||||
|
@ -14,8 +14,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
* @author vinjor-m
|
||||
* @date 2025-08-11
|
||||
*/
|
||||
public interface IBaseManagerService extends IService<BaseManager>
|
||||
{
|
||||
public interface IBaseManagerService extends IService<BaseManager> {
|
||||
IPage<ManagerVO> queryListPage(ManagerVO pageReqVO, Page<BaseManager> page);
|
||||
|
||||
/**
|
||||
@ -26,4 +25,6 @@ public interface IBaseManagerService extends IService<BaseManager>
|
||||
* @return java.util.List<com.ruoyi.common.core.domain.entity.SysUser>
|
||||
**/
|
||||
List<SysUser> getManagerUserByTenantId(String tenantId);
|
||||
|
||||
|
||||
}
|
||||
|
@ -16,4 +16,12 @@ import com.ruoyi.base.vo.SiteVO;
|
||||
public interface IBaseSiteService extends IService<BaseSite>
|
||||
{
|
||||
IPage<SiteVO> queryListPage(BaseSite pageReqVO, Page<BaseSite> page);
|
||||
|
||||
/**
|
||||
* 查询本人可以管理的站点
|
||||
* @author vinjor-M
|
||||
* @date 16:17 2025/8/11
|
||||
* @return java.util.List<com.ruoyi.base.domain.BaseSite>
|
||||
**/
|
||||
List<BaseSite> getMySiteList();
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import com.ruoyi.base.vo.SiteVO;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -29,4 +30,21 @@ public class BaseSiteServiceImpl extends ServiceImpl<BaseSiteMapper,BaseSite> i
|
||||
public IPage<SiteVO> queryListPage(BaseSite pageReqVO, Page<BaseSite> page) {
|
||||
return baseSiteMapper.queryListPage(pageReqVO, page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询本人可以管理的站点
|
||||
*
|
||||
* @return java.util.List<com.ruoyi.base.domain.BaseSite>
|
||||
* @author vinjor-M
|
||||
* @date 16:17 2025/8/11
|
||||
**/
|
||||
@Override
|
||||
public List<BaseSite> getMySiteList() {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
if(1==userId){
|
||||
//超级管理员,查所有站点
|
||||
return this.list();
|
||||
}
|
||||
return baseSiteMapper.selectByUserId(userId);
|
||||
}
|
||||
}
|
||||
|
@ -84,16 +84,28 @@ public class BusiCategory extends DlBaseEntity
|
||||
@Excel(name = "内容html", readConverterExp = "适=用于单页面+询盘")
|
||||
@ApiModelProperty("内容html")
|
||||
private String content;
|
||||
/** 内容html-移动端(适用于单页面+询盘) */
|
||||
@Excel(name = "内容html-移动端", readConverterExp = "适=用于单页面+询盘")
|
||||
@ApiModelProperty("内容html-移动端")
|
||||
private String contentApp;
|
||||
|
||||
/** 产品上方内容html(适用于产品) */
|
||||
@Excel(name = "产品上方内容html", readConverterExp = "适=用于产品")
|
||||
@ApiModelProperty("产品上方内容html")
|
||||
private String prodUp;
|
||||
/** 产品上方内容html-移动端(适用于产品) */
|
||||
@Excel(name = "产品上方内容html-移动端", readConverterExp = "适=用于产品")
|
||||
@ApiModelProperty("产品上方内容html-移动端")
|
||||
private String prodUpApp;
|
||||
|
||||
/** 产品下方内容html(适用于产品) */
|
||||
@Excel(name = "产品下方内容html", readConverterExp = "适=用于产品")
|
||||
@ApiModelProperty("产品下方内容html")
|
||||
private String prodDown;
|
||||
/** 产品下方内容html-移动端(适用于产品) */
|
||||
@Excel(name = "产品下方内容html-移动端", readConverterExp = "适=用于产品")
|
||||
@ApiModelProperty("产品下方内容html-移动端")
|
||||
private String prodDownApp;
|
||||
|
||||
/** 站点唯一编码(租户id) */
|
||||
@Excel(name = "站点唯一编码", readConverterExp = "租=户id")
|
||||
|
@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="qrCode" column="qr_code" />
|
||||
<result property="contactUs" column="contact_us" />
|
||||
<result property="companyInfo" column="company_info" />
|
||||
<result property="companyInfoApp" column="company_info_app" />
|
||||
<result property="tenantId" column="tenant_id" />
|
||||
<result property="creator" column="creator" />
|
||||
<result property="createTime" column="create_time" />
|
||||
@ -28,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectBaseSiteInfoVo">
|
||||
select id, company_name, fax_number, brand_name, tel, email, teams, copyright, address, icon, logo, qr_code, contact_us,company_info, tenant_id, creator, create_time, updater, update_time, del_flag from dl_base_site_info
|
||||
select id, company_name, fax_number, brand_name, tel, email, teams, copyright, address, icon, logo, qr_code, contact_us,company_info,company_info_app, tenant_id, creator, create_time, updater, update_time, del_flag from dl_base_site_info
|
||||
</sql>
|
||||
|
||||
<select id="queryListPage" parameterType="BaseSiteInfo" resultMap="BaseSiteInfoResult">
|
||||
|
@ -39,4 +39,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
dbs.id
|
||||
|
||||
</select>
|
||||
<select id="selectByUserId" resultType="com.ruoyi.base.domain.BaseSite">
|
||||
SELECT
|
||||
dbs.*
|
||||
FROM
|
||||
dl_base_site dbs
|
||||
LEFT JOIN dl_base_manager dbm ON dbs.id = dbm.tenant_id
|
||||
AND dbm.del_flag = '0'
|
||||
WHERE
|
||||
dbs.del_flag = '0'
|
||||
AND dbm.user_id = #{userId}
|
||||
</select>
|
||||
</mapper>
|
@ -17,8 +17,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="description" column="description" />
|
||||
<result property="sort" column="sort" />
|
||||
<result property="content" column="content" />
|
||||
<result property="contentApp" column="content_app" />
|
||||
<result property="prodUp" column="prod_up" />
|
||||
<result property="prodUpApp" column="prod_up_app" />
|
||||
<result property="prodDown" column="prod_down" />
|
||||
<result property="prodDownApp" column="prod_down_app" />
|
||||
<result property="tenantId" column="tenant_id" />
|
||||
<result property="creator" column="creator" />
|
||||
<result property="createTime" column="create_time" />
|
||||
@ -28,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectBusiCategoryVo">
|
||||
select id, catg_name, catg_level, catg_type, parent_id, prods_junior, prods_all, title, keyword, description, sort, content, prod_up, prod_down, tenant_id, creator, create_time, updater, update_time, del_flag from dl_busi_category
|
||||
select id, catg_name, catg_level, catg_type, parent_id, prods_junior, prods_all, title, keyword, description, sort, content,content_app, prod_up,prod_up_app, prod_down,prod_down_app, tenant_id, creator, create_time, updater, update_time, del_flag from dl_busi_category
|
||||
</sql>
|
||||
<select id="selectAllChildren" resultType="java.lang.String">
|
||||
SELECT
|
||||
|
@ -1,13 +1,15 @@
|
||||
<template>
|
||||
<div class="navbar">
|
||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
|
||||
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container"
|
||||
@toggleClick="toggleSideBar"
|
||||
/>
|
||||
|
||||
<breadcrumb v-if="!topNav" id="breadcrumb-container" class="breadcrumb-container"/>
|
||||
<top-nav v-if="topNav" id="topmenu-container" class="topmenu-container"/>
|
||||
|
||||
<div class="right-menu" style="display: flex">
|
||||
<template v-if="device!=='mobile'">
|
||||
<div>当前管理站点:{{tenantName}}</div>
|
||||
<div @click="changeSite">当前管理站点:{{ tenantName }}</div>
|
||||
<search id="header-search" class="right-menu-item"/>
|
||||
|
||||
<!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">-->
|
||||
@ -44,6 +46,7 @@
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -98,6 +101,8 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
toggleSideBar() {
|
||||
this.$store.dispatch('app/toggleSideBar')
|
||||
@ -111,7 +116,11 @@ export default {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.href = '/index'
|
||||
})
|
||||
}).catch(() => {})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
changeSite(){
|
||||
this.$emit("changeSite")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
<sidebar v-if="!sidebar.hide" class="sidebar-container"/>
|
||||
<div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
|
||||
<div :class="{'fixed-header':fixedHeader}">
|
||||
<navbar/>
|
||||
<navbar :key="chooseSiteCode" @changeSite="showChangeSite"/>
|
||||
<tags-view v-if="needTagsView"/>
|
||||
</div>
|
||||
<app-main/>
|
||||
@ -12,6 +12,26 @@
|
||||
<settings/>
|
||||
</right-panel>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="请选择管理的站点"
|
||||
:visible.sync="centerDialogVisible"
|
||||
width="30%"
|
||||
center
|
||||
>
|
||||
<el-select v-model="chooseSiteCode" placeholder="请选择" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="centerDialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="chooseSiteCodeFun">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -21,6 +41,8 @@ import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components'
|
||||
import ResizeMixin from './mixin/ResizeHandler'
|
||||
import { mapState } from 'vuex'
|
||||
import variables from '@/assets/styles/variables.scss'
|
||||
import { listAllSite } from '@/api/base/site'
|
||||
import { getToken,getTenantId,setTenantId, setTenantName } from '@/utils/auth'
|
||||
|
||||
export default {
|
||||
name: 'Layout',
|
||||
@ -32,6 +54,14 @@ export default {
|
||||
Sidebar,
|
||||
TagsView
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
centerDialogVisible: false,
|
||||
//默认主站点
|
||||
chooseSiteCode: 'main',
|
||||
options: [],
|
||||
}
|
||||
},
|
||||
mixins: [ResizeMixin],
|
||||
computed: {
|
||||
...mapState({
|
||||
@ -54,10 +84,40 @@ export default {
|
||||
return variables;
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.chooseSiteCode = getTenantId()
|
||||
this.getSiteList()
|
||||
},
|
||||
methods: {
|
||||
handleClickOutside() {
|
||||
this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })
|
||||
},
|
||||
showChangeSite(){
|
||||
this.centerDialogVisible = true
|
||||
},
|
||||
getSiteList(){
|
||||
listAllSite().then(response => {
|
||||
if (response.data && response.data.length > 0) {
|
||||
response.data.map((item) => {
|
||||
this.options.push({
|
||||
value: item.id,
|
||||
label: item.siteName
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
chooseSiteCodeFun() {
|
||||
if (this.chooseSiteCode) {
|
||||
this.centerDialogVisible = false
|
||||
let chooseSiteObj = this.options.filter(item => item.value == this.chooseSiteCode)[0]
|
||||
setTenantId(this.chooseSiteCode)
|
||||
setTenantName(chooseSiteObj.label)
|
||||
window.location.reload()
|
||||
} else {
|
||||
this.$modal.msgWarning('请选择管理的站点')
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -89,15 +89,20 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="站点联系方式" prop="contactUs">
|
||||
<editor v-model="form.contactUs" :min-height="200"/>
|
||||
<el-form-item label="公司介绍" prop="companyInfo">
|
||||
<editor v-model="form.companyInfo" :min-height="400"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="公司介绍" prop="companyInfo">
|
||||
<editor v-model="form.companyInfo" :min-height="400"/>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="公司介绍-移动端" prop="contactUs">
|
||||
<editor v-model="form.companyInfoApp" :min-height="200"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="站点联系方式" prop="contactUs">
|
||||
<editor v-model="form.contactUs" :min-height="200"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -130,6 +135,7 @@ export default {
|
||||
qrCode: null,
|
||||
contactUs: null,
|
||||
companyInfo: null,
|
||||
companyInfoApp: null,
|
||||
tenantId: null,
|
||||
creator: null,
|
||||
createTime: null,
|
||||
|
@ -61,19 +61,36 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品下方内容" prop="prodDown">
|
||||
<el-form-item label="产品上方内容-移动端" prop="prodDown">
|
||||
<editor v-model="form.prodUpApp" :min-height="160"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="form.catgType == 'cp'" :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品下方内容" prop="prodUp">
|
||||
<editor v-model="form.prodDown" :min-height="160"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品下方内容-移动端" prop="prodDown">
|
||||
<editor v-model="form.prodDownApp" :min-height="160"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-row v-if="form.catgType == 'dym' || form.catgType == 'xp'">
|
||||
<el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="内容" prop="content">
|
||||
<editor v-model="form.content" :min-height="192"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="内容-移动端" prop="content">
|
||||
<editor v-model="form.contentApp" :min-height="192"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
@ -107,8 +124,11 @@ export default {
|
||||
keyword:"",
|
||||
description:"",
|
||||
prodUp:"",
|
||||
prodUpApp:"",
|
||||
prodDown:"",
|
||||
content:""
|
||||
prodDownApp:"",
|
||||
content:"",
|
||||
contentApp:"",
|
||||
},
|
||||
id:null,
|
||||
//列表页入参
|
||||
@ -176,8 +196,11 @@ export default {
|
||||
keyword:"",
|
||||
description:"",
|
||||
prodUp:"",
|
||||
prodUpApp:"",
|
||||
prodDown:"",
|
||||
content:""
|
||||
prodDownApp:"",
|
||||
content:"",
|
||||
contentApp:"",
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user