Merge branch 'master' of http://114.55.243.137:6688/dianliang/dl_site_system
# Conflicts: # dl_admin/ruoyi-admin/src/main/java/com/ruoyi/busi/service/impl/BusiCategoryServiceImpl.java
This commit is contained in:
commit
3ee97a885a
@ -115,6 +115,9 @@ public class BaseSiteController extends BaseController {
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable String[] ids) {
|
||||
List<String> list = new ArrayList<>(Arrays.asList(ids));
|
||||
if (list.contains("main")){
|
||||
return error("请勿删除主站点");
|
||||
}
|
||||
return toAjax(baseSiteService.removeByIds(list));
|
||||
}
|
||||
}
|
||||
|
@ -64,6 +64,8 @@ public class WebController extends BaseController {
|
||||
@Autowired
|
||||
private IBusiChatMainService busiChatMainService;
|
||||
@Autowired
|
||||
private IBusiThirdItemService busiThirdItemService;
|
||||
@Autowired
|
||||
private IBusiPageService pageService;
|
||||
@Autowired
|
||||
private CommonUtils commonUtils;
|
||||
@ -373,7 +375,6 @@ public class WebController extends BaseController {
|
||||
@ApiImplicitParam(name = "tenantId", value = "站点唯一码", required = true, dataType = "string", paramType = "query", dataTypeClass = String.class)
|
||||
@GetMapping("/inquirySet")
|
||||
public R<BaseInquiry> inquirySet(@RequestParam(required = true) String tenantId, HttpServletRequest request) {
|
||||
String ip = CommonUtils.getIpAddr(request);
|
||||
return R.ok(baseInquiryService.getInquiry(tenantId));
|
||||
}
|
||||
|
||||
@ -526,4 +527,27 @@ public class WebController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 三方询盘点击记录次数
|
||||
*
|
||||
* @return com.ruoyi.common.core.domain.AjaxResult
|
||||
* @author vinjor-M
|
||||
* @date 10:04 2025/7/8
|
||||
**/
|
||||
@ApiOperation("三方询盘点击记录次数")
|
||||
@ApiImplicitParams(value = {
|
||||
@ApiImplicitParam(name = "thirdSoft", value = "三方程序类型(Email|WhatsApp|Tel)", required = true, paramType = "body"),
|
||||
@ApiImplicitParam(name = "tenantId", value = "站点编码", required = true, paramType = "body"),
|
||||
@ApiImplicitParam(name = "equipment", value = "设备类型(移动端|电脑端)", required = true, paramType = "body")
|
||||
})
|
||||
@PostMapping("/thirdItemSave")
|
||||
public R<String> thirdItemSave(@ApiIgnore @RequestBody BusiThirdItem thirdItem, HttpServletRequest request) {
|
||||
thirdItem.setViewType("漂浮询盘");
|
||||
Map<String, String> ipMap = commonUtils.getIPAndCountry(request);
|
||||
thirdItem.setIp(ipMap.get("ip"));
|
||||
thirdItem.setNational(ipMap.get("national"));
|
||||
thirdItem.setOceania(ipMap.get("oceania"));
|
||||
busiThirdItemService.save(thirdItem);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.ruoyi.busi.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@ -70,9 +71,15 @@ public class BusiProdNew extends DlBaseEntity
|
||||
@ApiModelProperty("文章来源")
|
||||
private String newsFrom;
|
||||
|
||||
/** 展示平台(PC、APP) */
|
||||
@Excel(name = "展示平台(PC、APP)")
|
||||
@ApiModelProperty("展示平台(PC、APP)")
|
||||
private String showPlat;
|
||||
|
||||
/** 文章发布日期 */
|
||||
@Excel(name = "文章发布日期")
|
||||
@ApiModelProperty("文章发布日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date publicDate;
|
||||
|
||||
/** 产品主图或文章图片 */
|
||||
|
@ -39,6 +39,9 @@ public class BusiThirdItem extends DlBaseEntity
|
||||
/** 来源国家 */
|
||||
@Excel(name = "来源国家")
|
||||
private String national;
|
||||
/** 来源洲 */
|
||||
@Excel(name = "来源洲")
|
||||
private String oceania;
|
||||
|
||||
/** 所属email/电话/teams账户 */
|
||||
@Excel(name = "所属email/电话/teams账户")
|
||||
|
@ -40,20 +40,18 @@ public class BusiCategoryServiceImpl extends ServiceImpl<BusiCategoryMapper, Bus
|
||||
public List<BusiCategoryVO> treeCategory(BusiCategory category) {
|
||||
//查询全部栏目
|
||||
LambdaQueryWrapper<BusiCategory> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag,0)
|
||||
.eq(BusiCategory::getTenantId,category.getTenantId());
|
||||
if(StringUtils.isNotEmpty(category.getCatgType())){
|
||||
lambdaQueryWrapper.eq(BusiCategory::getCatgType,category.getCatgType());
|
||||
lambdaQueryWrapper.eq(DlBaseEntity::getDelFlag, 0)
|
||||
.eq(BusiCategory::getTenantId, category.getTenantId());
|
||||
if (StringUtils.isNotEmpty(category.getCatgType())) {
|
||||
lambdaQueryWrapper.eq(BusiCategory::getCatgType, category.getCatgType());
|
||||
}
|
||||
if (!StringUtils.isEmpty(category.getCatgName())) {
|
||||
lambdaQueryWrapper.like(BusiCategory::getCatgName, category.getCatgName());
|
||||
}
|
||||
lambdaQueryWrapper.orderByAsc(BusiCategory::getSort);
|
||||
lambdaQueryWrapper.orderByDesc(BusiCategory::getSort);
|
||||
List<BusiCategory> list = list(lambdaQueryWrapper);
|
||||
List<BusiCategoryVO> rtnList = buildCategoryTree(list);
|
||||
return rtnList.stream().sorted(Comparator.comparing(BusiCategoryVO::getSort,
|
||||
Comparator.nullsLast(Comparator.reverseOrder())))
|
||||
.collect(Collectors.toList());
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -152,12 +150,10 @@ public class BusiCategoryServiceImpl extends ServiceImpl<BusiCategoryMapper, Bus
|
||||
|
||||
|
||||
/**
|
||||
* 生成树结构
|
||||
* 生成树结构(修改版)
|
||||
*
|
||||
* @param list 网站栏目列表
|
||||
* @return java.util.List<com.ruoyi.busi.vo.BusiCategoryVO>
|
||||
* @author PQZ
|
||||
* @date 14:11 2025/6/23
|
||||
**/
|
||||
private List<BusiCategoryVO> buildCategoryTree(List<BusiCategory> list) {
|
||||
// Map存放id到VO的映射
|
||||
@ -165,7 +161,7 @@ public class BusiCategoryServiceImpl extends ServiceImpl<BusiCategoryMapper, Bus
|
||||
// 先将所有节点转换为VO,并放入Map
|
||||
for (BusiCategory category : list) {
|
||||
BusiCategoryVO vo = new BusiCategoryVO();
|
||||
BeanUtils.copyProperties(category,vo);
|
||||
BeanUtils.copyProperties(category, vo);
|
||||
vo.setId(category.getId());
|
||||
vo.setLabel(category.getCatgName());
|
||||
idToNodeMap.put(vo.getId(), vo);
|
||||
@ -183,9 +179,36 @@ public class BusiCategoryServiceImpl extends ServiceImpl<BusiCategoryMapper, Bus
|
||||
parent.getChildren().add(node);
|
||||
}
|
||||
}
|
||||
|
||||
// 对所有层级节点进行排序
|
||||
sortTreeNodes(roots);
|
||||
|
||||
return roots;
|
||||
}
|
||||
|
||||
/**
|
||||
* 递归对树节点进行排序
|
||||
*
|
||||
* @param nodes 节点列表
|
||||
*/
|
||||
private void sortTreeNodes(List<BusiCategoryVO> nodes) {
|
||||
if (nodes == null || nodes.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 对当前层级节点排序
|
||||
nodes.sort(Comparator.comparing(BusiCategoryVO::getSort,
|
||||
Comparator.nullsLast(Comparator.reverseOrder())));
|
||||
|
||||
// 递归对子节点排序
|
||||
for (BusiCategoryVO node : nodes) {
|
||||
if (node.getChildren() != null && !node.getChildren().isEmpty()) {
|
||||
sortTreeNodes(node.getChildren());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param id 查询的栏目ID
|
||||
* @return java.util.List<java.lang.String>
|
||||
@ -207,54 +230,55 @@ public class BusiCategoryServiceImpl extends ServiceImpl<BusiCategoryMapper, Bus
|
||||
**/
|
||||
@Override
|
||||
public List<BusiCategoryVO> dealFirstId(List<BusiCategoryVO> busiCategoryVOList) {
|
||||
busiCategoryVOList.forEach(item->{
|
||||
busiCategoryVOList.forEach(item -> {
|
||||
String thisMaxParentId = item.getId();
|
||||
item.setMaxParentId(thisMaxParentId);
|
||||
if(null!=item.getChildren() && !item.getChildren().isEmpty()){
|
||||
if (null != item.getChildren() && !item.getChildren().isEmpty()) {
|
||||
//有子级
|
||||
this.setChildMaxParentId(item.getChildren(),thisMaxParentId);
|
||||
this.setChildMaxParentId(item.getChildren(), thisMaxParentId);
|
||||
}
|
||||
});
|
||||
return busiCategoryVOList;
|
||||
}
|
||||
|
||||
private void setChildMaxParentId(List<BusiCategoryVO> childList,String maxParentId){
|
||||
childList.forEach(item->{
|
||||
private void setChildMaxParentId(List<BusiCategoryVO> childList, String maxParentId) {
|
||||
childList.forEach(item -> {
|
||||
item.setMaxParentId(maxParentId);
|
||||
if(null!=item.getChildren()&& !item.getChildren().isEmpty()){
|
||||
this.setChildMaxParentId(item.getChildren(),maxParentId);
|
||||
if (null != item.getChildren() && !item.getChildren().isEmpty()) {
|
||||
this.setChildMaxParentId(item.getChildren(), maxParentId);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 给所有子级设置最父级ID并且反回map格式
|
||||
* @author vinjor-M
|
||||
* @date 11:23 2025/7/19
|
||||
*
|
||||
* @param busiCategoryVOList 栏目树
|
||||
* @return java.util.List<com.ruoyi.busi.vo.BusiCategoryVO>
|
||||
* @author vinjor-M
|
||||
* @date 11:23 2025/7/19
|
||||
**/
|
||||
@Override
|
||||
public Map<String,String> dealFirstIdRtnMap(List<BusiCategoryVO> busiCategoryVOList){
|
||||
Map<String,String> rtnMap = new HashMap<>();
|
||||
busiCategoryVOList.forEach(item->{
|
||||
public Map<String, String> dealFirstIdRtnMap(List<BusiCategoryVO> busiCategoryVOList) {
|
||||
Map<String, String> rtnMap = new HashMap<>();
|
||||
busiCategoryVOList.forEach(item -> {
|
||||
String thisMaxParentId = item.getId();
|
||||
item.setMaxParentId(thisMaxParentId);
|
||||
rtnMap.put(item.getId(),thisMaxParentId);
|
||||
if(null!=item.getChildren() && !item.getChildren().isEmpty()){
|
||||
rtnMap.put(item.getId(), thisMaxParentId);
|
||||
if (null != item.getChildren() && !item.getChildren().isEmpty()) {
|
||||
//有子级
|
||||
this.setChildMaxParentIdMap(item.getChildren(),thisMaxParentId,rtnMap);
|
||||
this.setChildMaxParentIdMap(item.getChildren(), thisMaxParentId, rtnMap);
|
||||
}
|
||||
});
|
||||
return rtnMap;
|
||||
}
|
||||
|
||||
private void setChildMaxParentIdMap(List<BusiCategoryVO> childList,String maxParentId,Map<String,String> rtnMap){
|
||||
childList.forEach(item->{
|
||||
private void setChildMaxParentIdMap(List<BusiCategoryVO> childList, String maxParentId, Map<String, String> rtnMap) {
|
||||
childList.forEach(item -> {
|
||||
item.setMaxParentId(maxParentId);
|
||||
rtnMap.put(item.getId(),maxParentId);
|
||||
if(null!=item.getChildren()&& !item.getChildren().isEmpty()){
|
||||
this.setChildMaxParentIdMap(item.getChildren(),maxParentId,rtnMap);
|
||||
rtnMap.put(item.getId(), maxParentId);
|
||||
if (null != item.getChildren() && !item.getChildren().isEmpty()) {
|
||||
this.setChildMaxParentIdMap(item.getChildren(), maxParentId, rtnMap);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -5,15 +5,15 @@ spring:
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
druid:
|
||||
# # 主库数据源-点亮开发库
|
||||
# master:
|
||||
# url: jdbc:mysql://82.156.161.160:3306/dl_site_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
# username: site
|
||||
# password: 123456
|
||||
# 主库数据源-客户测试服务器
|
||||
master:
|
||||
url: jdbc:mysql://1.92.99.15:3306/dl_site_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
url: jdbc:mysql://82.156.161.160:3306/dl_site_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: site
|
||||
password: 123456
|
||||
# 主库数据源-客户生产服务器
|
||||
# master:
|
||||
# url: jdbc:mysql://8.220.74.244:3306/dl_site_system?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
# username: site
|
||||
# password: Chengda@2025~
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
|
@ -7,7 +7,7 @@ ruoyi:
|
||||
# 版权年份
|
||||
copyrightYear: 2025
|
||||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
||||
profile: D:/ruoyi/uploadPath
|
||||
profile: /uploadPath
|
||||
# 获取ip地址开关
|
||||
addressEnabled: false
|
||||
# 验证码类型 math 数字计算 char 字符验证
|
||||
@ -146,10 +146,10 @@ xss:
|
||||
# 阿里云OSS配置
|
||||
aliyun:
|
||||
oss:
|
||||
end-point: oss-cn-qingdao.aliyuncs.com
|
||||
access-key-id: LTAI5tLThQFWgMLRTf3siNjb
|
||||
access-key-secret: M5HjOyB8ir5tYEPFOQwImfJNgsumaG
|
||||
bucket-name: dianliang123
|
||||
end-point: oss-eu-central-1.aliyuncs.com
|
||||
access-key-id: LTAI5tB7zL8KuHDnMsdUhXRy
|
||||
access-key-secret: bZ28G69DLR6Q3WhvvrWyxWw3lEbfzk
|
||||
bucket-name: sd-chengda
|
||||
#google ads配置
|
||||
google:
|
||||
ads:
|
||||
|
@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
select id, tenant_id from dl_busi_keyword
|
||||
</sql>
|
||||
<delete id="deleteByIdAndTenantId">
|
||||
DELETE dl_busi_keyword WHERE id =#{id} AND tenant_id=#{tenantId}
|
||||
DELETE FROM dl_busi_keyword WHERE id =#{id} AND tenant_id=#{tenantId}
|
||||
</delete>
|
||||
|
||||
<select id="queryListPage" parameterType="BusiKeyword" resultMap="BusiKeywordResult">
|
||||
|
@ -11,6 +11,7 @@
|
||||
<result property="prodTitle" column="prod_title"/>
|
||||
<result property="prodKeyword" column="prod_keyword"/>
|
||||
<result property="prodDescription" column="prod_description"/>
|
||||
<result property="showPlat" column="show_plat"/>
|
||||
<result property="newsFrom" column="news_from"/>
|
||||
<result property="publicDate" column="public_date"/>
|
||||
<result property="mainPic" column="main_pic"/>
|
||||
@ -42,6 +43,7 @@
|
||||
prod_title,
|
||||
prod_keyword,
|
||||
prod_description,
|
||||
show_plat,
|
||||
news_from,
|
||||
public_date,
|
||||
main_pic,
|
||||
@ -106,6 +108,10 @@
|
||||
AND product.news_from like concat('%',
|
||||
#{entity.newsFrom}, '%')
|
||||
</if>
|
||||
<if test="entity.showPlat != null and entity.showPlat != ''">
|
||||
AND product.show_plat like concat('%',
|
||||
#{entity.showPlat}, '%')
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY
|
||||
product.id
|
||||
|
@ -9,6 +9,7 @@
|
||||
<result property="prodId" column="prod_id"/>
|
||||
<result property="thirdSoft" column="third_soft"/>
|
||||
<result property="national" column="national"/>
|
||||
<result property="oceania" column="oceania"/>
|
||||
<result property="thirdAccount" column="third_account"/>
|
||||
<result property="viewType" column="view_type"/>
|
||||
<result property="pageUrl" column="page_url"/>
|
||||
@ -27,7 +28,7 @@
|
||||
<sql id="selectBusiThirdItemVo">
|
||||
select id,
|
||||
prod_id,
|
||||
third_soft, national, third_account, view_type, page_url, equipment, ip, tenant_id, creator, create_time, updater, update_time, del_flag
|
||||
third_soft, national, oceania,third_account, view_type, page_url, equipment, ip, tenant_id, creator, create_time, updater, update_time, del_flag
|
||||
from dl_busi_third_item
|
||||
</sql>
|
||||
|
||||
@ -39,6 +40,7 @@
|
||||
<if test="entity.prodName != null and entity.prodName != ''">and dbpn.title LIKE CONCAT('%',#{entity.prodName},'%')</if>
|
||||
<if test="entity.thirdSoft != null and entity.thirdSoft != ''">and dbti.third_soft = #{entity.thirdSoft}</if>
|
||||
<if test="entity.national != null and entity.national != ''">and dbti.national LIKE CONCAT('%',#{entity.national},'%')</if>
|
||||
<if test="entity.oceania != null and entity.oceania != ''">and dbti.national LIKE CONCAT('%',#{entity.oceania},'%')</if>
|
||||
<if test="entity.thirdAccount != null and entity.thirdAccount != ''">and dbti.third_account LIKE CONCAT('%',#{entity.thirdAccount},'%')</if>
|
||||
<if test="entity.viewType != null and entity.viewType != ''">and dbti.view_type = #{entity.viewType}</if>
|
||||
<if test="entity.pageUrl != null and entity.pageUrl != ''">and dbti.page_url LIKE CONCAT('%',#{entity.pageUrl},'%')</if>
|
||||
|
@ -4,14 +4,14 @@ VUE_APP_TITLE = 成事达管理平台
|
||||
# 开发环境配置
|
||||
ENV = 'development'
|
||||
|
||||
# 成事达管理平台/开发环境
|
||||
VUE_APP_BASE_API = 'http://192.168.1.13:8099'
|
||||
# 成事达管理平台/生产环境
|
||||
VUE_APP_BASE_API = 'http://127.0.0.1:8099'
|
||||
|
||||
# 路由懒加载
|
||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||
|
||||
# websocket
|
||||
VUE_APP_WEBSOCKET = 'ws://localhost:8099/ws/asset/'
|
||||
VUE_APP_WEBSOCKET = 'ws://127.0.0.1:8099/ws/asset/'
|
||||
|
||||
# 产品、文章预览
|
||||
VUE_APP_PREVIEW = 'http://192.168.1.13:3001/admin-preview/'
|
||||
VUE_APP_PREVIEW = 'https://www.cdtrucktralier.com/admin-preview/'
|
||||
|
@ -5,10 +5,13 @@ VUE_APP_TITLE = 成事达管理平台
|
||||
ENV = 'production'
|
||||
|
||||
# 成事达管理平台/生产环境
|
||||
VUE_APP_BASE_API = 'http://1.92.99.15:8099'
|
||||
VUE_APP_BASE_API = 'https://admin.cdtrucktralier.com'
|
||||
|
||||
# 路由懒加载
|
||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||
|
||||
# websocket
|
||||
VUE_APP_WEBSOCKET = 'ws://1.92.99.15:8099/ws/asset/'
|
||||
VUE_APP_WEBSOCKET = 'wss://admin.cdtrucktralier.com/ws/asset/'
|
||||
|
||||
# 产品、文章预览
|
||||
VUE_APP_PREVIEW = 'http://www.lighting-it.cn/admin-preview/'
|
||||
VUE_APP_PREVIEW = 'https://www.cdtrucktralier.com/admin-preview/'
|
||||
|
@ -205,31 +205,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<!-- 客服聊天窗口代码 -->
|
||||
<script>
|
||||
window.difyChatbotConfig = {
|
||||
token: 'BC985VI4DnedSaIQ',
|
||||
baseUrl: 'http://101.245.103.204',
|
||||
systemVariables: {
|
||||
// user_id: 'YOU CAN DEFINE USER ID HERE',
|
||||
// conversation_id: 'YOU CAN DEFINE CONVERSATION ID HERE, IT MUST BE A VALID UUID',
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<script
|
||||
src="http://101.245.103.204/embed.min.js"
|
||||
id="BC985VI4DnedSaIQ"
|
||||
defer>
|
||||
</script>
|
||||
<style>
|
||||
#dify-chatbot-bubble-button {
|
||||
background-color: #1C64F2 !important;
|
||||
z-index: 50 !important;
|
||||
}
|
||||
#dify-chatbot-bubble-window {
|
||||
width: 24rem !important;
|
||||
height: 40rem !important;
|
||||
z-index: 50 !important;
|
||||
}
|
||||
</style>
|
||||
</html>
|
||||
|
@ -4,31 +4,6 @@
|
||||
<theme-picker />
|
||||
</div>
|
||||
</template>
|
||||
<!-- 客服聊天窗口代码 -->
|
||||
<script>
|
||||
window.difyChatbotConfig = {
|
||||
token: 'BC985VI4DnedSaIQ',
|
||||
baseUrl: 'http://101.245.103.204',
|
||||
systemVariables: {
|
||||
// user_id: 'YOU CAN DEFINE USER ID HERE',
|
||||
// conversation_id: 'YOU CAN DEFINE CONVERSATION ID HERE, IT MUST BE A VALID UUID',
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<script
|
||||
src="http://101.245.103.204/embed.min.js"
|
||||
id="BC985VI4DnedSaIQ"
|
||||
defer>
|
||||
</script>
|
||||
<style>
|
||||
#dify-chatbot-bubble-button {
|
||||
background-color: #1C64F2 !important;
|
||||
}
|
||||
#dify-chatbot-bubble-window {
|
||||
width: 24rem !important;
|
||||
height: 40rem !important;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
import ThemePicker from "@/components/ThemePicker";
|
||||
import Cookies from "js-cookie";
|
||||
|
@ -23,14 +23,18 @@ const websocket = {
|
||||
console.log(e.data)
|
||||
}else {
|
||||
console.log(e.data,'消息内容')
|
||||
let messageData;
|
||||
//这里捕获消息
|
||||
const messageData = JSON.parse(e.data)
|
||||
// 触发事件通知
|
||||
EventBus.$emit('newMessage', messageData);
|
||||
//存储消息
|
||||
state.message.push(messageData);
|
||||
try {
|
||||
messageData = JSON.parse(e.data)
|
||||
// 触发事件通知
|
||||
EventBus.$emit('newMessage', messageData);
|
||||
//存储消息
|
||||
state.message.push(messageData);
|
||||
}catch (e) {
|
||||
console.log("无法识别的消息");
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
state.socket.onerror= function () {
|
||||
console.log("WebSocket连接发生错误");
|
||||
|
@ -24,62 +24,62 @@
|
||||
@click="handleAdd"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="shareToTwitter"
|
||||
>Twitter</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="shareToFacebook"
|
||||
>Facebook</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="shareToLinkedin"
|
||||
>Linkedin</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="shareToPinterest"
|
||||
>Pinterest</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="shareToWhatsapp"
|
||||
>Whatsapp</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="shareToWhatsapp2"
|
||||
>Whatsapp8618253112969</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="shareToEmail"
|
||||
>E-mail:alicesales@scdtrailer.com</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="shareToTwitter"-->
|
||||
<!-- >Twitter</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="shareToFacebook"-->
|
||||
<!-- >Facebook</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="shareToLinkedin"-->
|
||||
<!-- >Linkedin</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="shareToPinterest"-->
|
||||
<!-- >Pinterest</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="shareToWhatsapp"-->
|
||||
<!-- >Whatsapp</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="shareToWhatsapp2"-->
|
||||
<!-- >Whatsapp8618253112969</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="shareToEmail"-->
|
||||
<!-- >E-mail:alicesales@scdtrailer.com</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
<el-table
|
||||
|
@ -215,6 +215,7 @@ export default {
|
||||
|
||||
<style scoped>
|
||||
.session-list {
|
||||
z-index: 999;
|
||||
max-width: 350px;
|
||||
max-height: 400px;
|
||||
position: absolute;
|
||||
|
@ -6,6 +6,7 @@
|
||||
<el-button type="success" @click="saveTmp">暂 存</el-button>
|
||||
<el-button type="primary" @click="submitForm">发 布</el-button>
|
||||
<el-button type="warning" @click="checkContent">相似度检测</el-button>
|
||||
<el-button @click="preview">文章预览</el-button>
|
||||
<el-button @click="toggleSideBar">{{ showKeywords ? '关闭' : '打开' }}关键词推荐</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -215,6 +216,7 @@
|
||||
<el-button type="success" @click="saveTmp">暂 存</el-button>
|
||||
<el-button type="primary" @click="submitForm">发 布</el-button>
|
||||
<el-button type="warning" @click="checkContent">相似度检测</el-button>
|
||||
<el-button @click="preview">文章预览</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@ -393,6 +395,17 @@ export default {
|
||||
toggleSideBar() {
|
||||
this.showKeywords = !this.showKeywords
|
||||
},
|
||||
/**
|
||||
* 预览文章
|
||||
*/
|
||||
preview(){
|
||||
if(!this.form.id){
|
||||
this.$modal.msgWarning("请先保存或暂存新闻信息!")
|
||||
return
|
||||
}
|
||||
let url =this.previewPrex+this.form.id+"?private=1BC0FFEC2294283E9BDB89E188FCA574"
|
||||
window.open(url)
|
||||
},
|
||||
// 更多操作触发
|
||||
handleCommand(command, row) {
|
||||
switch (command) {
|
||||
|
@ -6,6 +6,7 @@
|
||||
<el-button type="success" @click="saveTmp">暂 存</el-button>
|
||||
<el-button type="primary" @click="submitForm">发 布</el-button>
|
||||
<el-button type="warning" @click="checkContent">相似度检测</el-button>
|
||||
<el-button @click="preview">产品预览</el-button>
|
||||
<el-button @click="toggleSideBar">{{ showKeywords ? '关闭' : '打开' }}关键词推荐</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -201,6 +202,7 @@
|
||||
<el-button type="success" @click="saveTmp">暂 存</el-button>
|
||||
<el-button type="primary" @click="submitForm">发 布</el-button>
|
||||
<el-button type="warning" @click="checkContent">相似度检测</el-button>
|
||||
<el-button @click="preview">产品预览</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@ -372,6 +374,17 @@ export default {
|
||||
toggleSideBar() {
|
||||
this.showKeywords = !this.showKeywords
|
||||
},
|
||||
/**
|
||||
* 预览产品
|
||||
*/
|
||||
preview(){
|
||||
if(!this.form.id){
|
||||
this.$modal.msgWarning("请先保存或暂存产品信息!")
|
||||
return
|
||||
}
|
||||
let url =this.previewPrex+this.form.id+"?private=CAC8F0807B8FB7EA72AF3596600F888A"
|
||||
window.open(url)
|
||||
},
|
||||
// 更多操作触发
|
||||
handleCommand(command, row) {
|
||||
switch (command) {
|
||||
|
@ -31,14 +31,14 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="请输入产品名称" prop="prodName">
|
||||
<el-input
|
||||
v-model="queryParams.prodName"
|
||||
placeholder="请输入产品名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="请输入产品名称" prop="prodName">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.prodName"-->
|
||||
<!-- placeholder="请输入产品名称"-->
|
||||
<!-- clearable-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item label="来源国家" prop="national">
|
||||
<el-input
|
||||
v-model="queryParams.national"
|
||||
@ -132,20 +132,20 @@
|
||||
<el-table v-loading="loading" :data="thirdItemList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="index" width="60" label="序号" align="center"/>
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<el-table-column label="产品名称" align="center" prop="prodName" :min-width="120">
|
||||
<template slot="header" slot-scope="scope">
|
||||
<span>产品名称</span>
|
||||
<el-tooltip class="item" effect="dark" content="鼠标单机数据可查看产品详情"
|
||||
placement="bottom"
|
||||
>
|
||||
<i class="el-icon-question"></i>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<span @click="goProdDetail(scope.row.prodId)" style="color: #1890ff;cursor: pointer"
|
||||
>{{ scope.row.prodName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="产品名称" align="center" prop="prodName" :min-width="120">-->
|
||||
<!-- <template slot="header" slot-scope="scope">-->
|
||||
<!-- <span>产品名称</span>-->
|
||||
<!-- <el-tooltip class="item" effect="dark" content="鼠标单机数据可查看产品详情"-->
|
||||
<!-- placement="bottom"-->
|
||||
<!-- >-->
|
||||
<!-- <i class="el-icon-question"></i>-->
|
||||
<!-- </el-tooltip>-->
|
||||
<!-- </template>-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <span @click="goProdDetail(scope.row.prodId)" style="color: #1890ff;cursor: pointer"-->
|
||||
<!-- >{{ scope.row.prodName }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="三方程序类型" align="center" prop="thirdSoft" width="100">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.third_soft" :value="scope.row.thirdSoft"/>
|
||||
|
Loading…
Reference in New Issue
Block a user