Commit 0c650190 authored by yht15023815643's avatar yht15023815643

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents decdd9f6 1a6cd11e
...@@ -62,7 +62,7 @@ public class AdvisoryBodyVo { ...@@ -62,7 +62,7 @@ public class AdvisoryBodyVo {
* 工程类别明细 * 工程类别明细
*/ */
@ExcelProperty(value = "工程类别明细", index = 6) @ExcelProperty(value = "工程类别明细", index = 6)
private String projectType; private String projectType2;
/** /**
* 咨询机构ID * 咨询机构ID
...@@ -97,7 +97,7 @@ public class AdvisoryBodyVo { ...@@ -97,7 +97,7 @@ public class AdvisoryBodyVo {
* 合同金额 * 合同金额
*/ */
@ExcelProperty(value = "合同金额", index = 10) @ExcelProperty(value = "合同金额", index = 10)
private BigDecimal contractOrigValue; private BigDecimal contractValue;
/** /**
* 业主单位 * 业主单位
......
...@@ -21,43 +21,15 @@ public class PushMonitorInfo implements Serializable { ...@@ -21,43 +21,15 @@ public class PushMonitorInfo implements Serializable {
/** /**
* 对外开放的id * 对外开放的id
*/ */
private String id; private Integer id;
/** /**
* 源表id * 用户id
*/ */
private String sourceId; private Long userId;
/** /**
* 源表名 * 动态次数
*/ */
private String sourceTable; private Integer count;
/**
* 公司Id
*/
private Integer companyId;
/**
* 企业名称
*/
private String companyName;
/**
* 风险等级:正向,负向,中立,警示
*/
private String riskLevel;
/**
* 监控维度父级
*/
private String parentDimension;
/**
* 监控维度
*/
private String dimension;
/**
* 动态内容
*/
private String details;
/**
* 发布时间
*/
private Date publishTime;
/** /**
* 创建时间 * 创建时间
*/ */
...@@ -66,27 +38,5 @@ public class PushMonitorInfo implements Serializable { ...@@ -66,27 +38,5 @@ public class PushMonitorInfo implements Serializable {
* 更新时间 * 更新时间
*/ */
private Date updateTime; private Date updateTime;
/**
* 变更时间-暂时用于法人变更
*/
private Date changeDate;
/**
* 更新次数
*/
private Integer versionNum;
/**
* 是否发送 0否 1是
*/
private Integer isSend;
/**
* 数据来源(jsk,fy)
*/
private String source;
/**
* 系统类型 JSK/BRIS
*/
private String sysType;
} }
package com.dsk.monitor.domain.vo;
import lombok.Data;
/**
* @ClassName PushMonitorRulesVo
* @Description 是否工作日
* @Author Dgm
* @Date 2023/12/9 11:05
* @Version
*/
@Data
public class PushSettingHolidayVo {
/**
* 时间戳
*/
private Long timestamp;
}
...@@ -4,13 +4,16 @@ import cn.hutool.core.date.DateUtil; ...@@ -4,13 +4,16 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsk.common.tenant.helper.TenantHelper; import com.dsk.common.tenant.helper.TenantHelper;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.monitor.domain.dto.PushMonitorInfo;
import com.dsk.monitor.domain.dto.PushMonitorRules; import com.dsk.monitor.domain.dto.PushMonitorRules;
import com.dsk.monitor.domain.vo.ConditionVo; import com.dsk.monitor.domain.vo.ConditionVo;
import com.dsk.monitor.domain.vo.PushMonitorDynamicPageVo; import com.dsk.monitor.domain.vo.PushMonitorDynamicPageVo;
import com.dsk.monitor.domain.vo.PushSettingHolidayVo;
import com.dsk.monitor.mapper.PushMonitorInfoMapper; import com.dsk.monitor.mapper.PushMonitorInfoMapper;
import com.dsk.monitor.mapper.PushMonitorRulesMapper; import com.dsk.monitor.mapper.PushMonitorRulesMapper;
import com.dsk.monitor.service.MonitorService; import com.dsk.monitor.service.MonitorService;
import com.dsk.monitor.util.SendMessageUtil; import com.dsk.monitor.util.SendMessageUtil;
import org.apache.commons.collections4.MapUtils;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -18,6 +21,7 @@ import javax.annotation.Resource; ...@@ -18,6 +21,7 @@ import javax.annotation.Resource;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @ClassName PushScheduling * @ClassName PushScheduling
...@@ -43,10 +47,14 @@ public class PushScheduling { ...@@ -43,10 +47,14 @@ public class PushScheduling {
public void receiveModePhone() throws Exception { public void receiveModePhone() throws Exception {
// 是否是周末 // 是否是周末
boolean isWeekend = DateUtil.isWeekend(new Date()); boolean isWeekend = DateUtil.isWeekend(new Date());
PushSettingHolidayVo holidayVo = new PushSettingHolidayVo();
String aa = DateUtil.now(); holidayVo.setTimestamp(System.currentTimeMillis());
Map<String, Object> settingHolidayMap = monitorService.settingHoliday(holidayVo);
Integer settingHolidayCode = MapUtils.getInteger(settingHolidayMap, "code", 300);
Boolean settingHolidayData = MapUtils.getBoolean(settingHolidayMap, "data", null);
if (200 == settingHolidayCode) {
isWeekend = !settingHolidayData;
}
TenantHelper.setTenantId("1"); TenantHelper.setTenantId("1");
// 获取当前整点时间 // 获取当前整点时间
Integer concurrentHour = DateUtils.getHour(); Integer concurrentHour = DateUtils.getHour();
...@@ -74,9 +82,6 @@ public class PushScheduling { ...@@ -74,9 +82,6 @@ public class PushScheduling {
Integer timeStart = Integer.valueOf(timePeriodStart); Integer timeStart = Integer.valueOf(timePeriodStart);
Integer timeEnd = Integer.valueOf(timePeriodEnd); Integer timeEnd = Integer.valueOf(timePeriodEnd);
if (concurrentHour >= timeStart && concurrentHour <= timeEnd) { if (concurrentHour >= timeStart && concurrentHour <= timeEnd) {
QueryWrapper monitorInfoWrapper = new QueryWrapper();
// 风险类型
// monitorInfoWrapper.in("risk_type", detail.getRiskType());
PushMonitorDynamicPageVo pageVo = new PushMonitorDynamicPageVo(); PushMonitorDynamicPageVo pageVo = new PushMonitorDynamicPageVo();
pageVo.setUserId(detail.getUserId()); pageVo.setUserId(detail.getUserId());
ConditionVo vo = new ConditionVo(); ConditionVo vo = new ConditionVo();
...@@ -84,21 +89,32 @@ public class PushScheduling { ...@@ -84,21 +89,32 @@ public class PushScheduling {
vo.setEndTime(DateUtils.getDate()); vo.setEndTime(DateUtils.getDate());
vo.setBeginTime(DateUtils.format(DateUtils.addDays(new Date(),-1))); vo.setBeginTime(DateUtils.format(DateUtils.addDays(new Date(),-1)));
// 监控维度 // 监控维度
vo.setDimension(getDimension(detail.getDimension())); vo.setDimension(getParamList(detail.getDimension()));
vo.setUserId(detail.getUserId()); vo.setUserId(detail.getUserId());
pageVo.setCondition(vo);; pageVo.setCondition(vo);;
Integer count = monitorService.companyDynamicPage2(pageVo); Map<String, Object> resMap = monitorService.companyDynamicPageScheduled(pageVo);
Integer code = MapUtils.getInteger(resMap, "code", 300);
Map data = MapUtils.getMap(resMap, "data", null);
if (200 != code) {
continue;
}
Integer count = MapUtils.getInteger(data, "totalCount", 0);
if (count > 0 ) { if (count > 0 ) {
SendMessageUtil.sendMessage(detail.getPhones(), count.toString()); SendMessageUtil.sendMessage(detail.getPhones(), count.toString());
} }
if (count > 0) {
PushMonitorInfo pushMonitorInfo = new PushMonitorInfo();
pushMonitorInfo.setUserId(detail.getUserId());
pushMonitorInfo.setCount(count);
monitorInfoMapper.insert(pushMonitorInfo);
}
} }
} }
} }
public List<String> getParamList(String dimension) {
public List<String> getDimension(String dimension) { List<String> getParamList = Arrays.asList(dimension.split(","));
List<String> dimensionList = Arrays.asList(dimension.split(",")); return getParamList;
return dimensionList;
} }
} }
...@@ -5,6 +5,8 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -5,6 +5,8 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.monitor.domain.vo.*; import com.dsk.monitor.domain.vo.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
/** /**
* @ClassName MonitorService * @ClassName MonitorService
* @Description 监控service * @Description 监控service
...@@ -67,7 +69,7 @@ public interface MonitorService { ...@@ -67,7 +69,7 @@ public interface MonitorService {
*@Author: Dgm *@Author: Dgm
*@date: 2023/12/9 10:03 *@date: 2023/12/9 10:03
*/ */
Integer companyDynamicPage2(PushMonitorDynamicPageVo pageVo) throws Exception; Map<String, Object> companyDynamicPageScheduled(PushMonitorDynamicPageVo pageVo) throws Exception;
/*** /***
*@Description: 监控报告 *@Description: 监控报告
...@@ -134,4 +136,13 @@ public interface MonitorService { ...@@ -134,4 +136,13 @@ public interface MonitorService {
*@date: 2023/12/9 10:03 *@date: 2023/12/9 10:03
*/ */
R systemDetail(PushMonitorSystemDetailVo importAddVo); R systemDetail(PushMonitorSystemDetailVo importAddVo);
/***
*@Description: 是否工作日
*@Param: holidayVo 信息
*@return: R
*@Author: Dgm
*@date: 2023/12/9 10:03
*/
Map<String, Object> settingHoliday(PushSettingHolidayVo holidayVo) throws Exception;
} }
...@@ -104,16 +104,10 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -104,16 +104,10 @@ public class MonitorServiceImpl implements MonitorService {
} }
@Override @Override
public Integer companyDynamicPage2(PushMonitorDynamicPageVo pageVo) throws Exception { public Map<String, Object> companyDynamicPageScheduled(PushMonitorDynamicPageVo pageVo) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/info/companyDynamicList", BeanUtil.beanToMap(pageVo, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/info/companyDynamicList", BeanUtil.beanToMap(pageVo, false, false));
log.info("companyDynamicPage=============================>"+map); log.info("companyDynamicPage=============================>"+map);
Integer code = MapUtils.getInteger(map, "code", 300); return map;
Map data = MapUtils.getMap(map, "data", null);
Integer count = 0;
if (code.equals(200)) {
count = MapUtils.getInteger(data, "totalCount", 0);
}
return count;
} }
@Override @Override
...@@ -320,4 +314,11 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -320,4 +314,11 @@ public class MonitorServiceImpl implements MonitorService {
} }
return detailVo; return detailVo;
} }
@Override
public Map<String, Object> settingHoliday(PushSettingHolidayVo holidayVo) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/push/settingHoliday", BeanUtil.beanToMap(holidayVo, false, false));
log.info("companyDynamicPage=============================>"+map);
return map;
}
} }
package com.dsk.search.controller; package com.dsk.search.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.utils.poi.ExcelUtil; import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.jsk.domain.JskCombineSearchDto;
import com.dsk.jsk.domain.bo.ComposeQueryDto; import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.search.service.BusinessOpportunityRadarService; import com.dsk.search.service.BusinessOpportunityRadarService;
import com.dsk.search.service.ExportService; import com.dsk.search.service.ExportService;
...@@ -62,4 +64,26 @@ public class ExportController { ...@@ -62,4 +64,26 @@ public class ExportController {
return exportService.aptitudeFile(file); return exportService.aptitudeFile(file);
} }
/**
* 集团成员列表导出
*/
@PostMapping("/combine/memberList")
public AjaxResult memberListExportPre(@RequestBody JskCombineSearchDto dto) throws Exception {
return exportService.memberListExport(dto);
}
//集团中标业绩导出
@PostMapping("/combine/win/bid")
@SaCheckPermission("combine:info:export:win:bid")
public AjaxResult exportWinBid(@RequestBody JskCombineSearchDto dto) {
return exportService.exportWinBid(dto);
}
//集团招标业绩导出
@PostMapping("/combine/bid")
@SaCheckPermission("combine:info:export:win:bid")
public AjaxResult exportBid(@RequestBody JskCombineSearchDto dto) {
return exportService.exportBid(dto);
}
} }
package com.dsk.search.service; package com.dsk.search.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.dsk.common.constant.Constants; import com.dsk.common.constant.Constants;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.excel.ExcelUtils; import com.dsk.common.excel.ExcelUtils;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.jsk.domain.JskCombineSearchDto;
import com.dsk.jsk.domain.bo.ComposeQueryDto; import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.jsk.service.EnterpriseService; import com.dsk.jsk.service.EnterpriseService;
import com.dsk.system.domain.SysUserFileRecord; import com.dsk.system.domain.SysUserFileRecord;
...@@ -63,6 +65,7 @@ public class ExportService { ...@@ -63,6 +65,7 @@ public class ExportService {
//生成中 //生成中
fileRecord.setStatus(2); fileRecord.setStatus(2);
fileRecord.setRemark("资质批量导出"); fileRecord.setRemark("资质批量导出");
fileRecord.setCreateTime(new DateTime());
Long fileId = sysUserFileRecordService.exportAdd(fileRecord); Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
composeQueryDto.setExportUniqueCode(fileId.toString()); composeQueryDto.setExportUniqueCode(fileId.toString());
//回调函数 //回调函数
...@@ -72,4 +75,52 @@ public class ExportService { ...@@ -72,4 +75,52 @@ public class ExportService {
return AjaxResult.success(); return AjaxResult.success();
} }
//集团成员导出
public AjaxResult memberListExport(JskCombineSearchDto dto) {
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName(dto.getExportExeclName().concat(Constants.SUFFIX_XLSX));
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("集团成员列表导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
dto.setExportUniqueCode(fileId.toString());
//回调函数
dto.setExportBackUrl(EXPORT_BACK_URL);
dskOpenApiUtil.requestBody("/operate/export/member", BeanUtil.beanToMap(dto, false, false));
return AjaxResult.success();
}
//集团中标业绩导出
public AjaxResult exportWinBid(JskCombineSearchDto dto) {
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName(dto.getExportExeclName().concat(Constants.SUFFIX_XLSX));
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("集团中标业绩导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
dto.setExportUniqueCode(fileId.toString());
//回调函数
dto.setExportBackUrl(EXPORT_BACK_URL);
dskOpenApiUtil.requestBody("/operate/export/combineBid", BeanUtil.beanToMap(dto, false, false));
return AjaxResult.success();
}
//集团招标业绩
public AjaxResult exportBid(JskCombineSearchDto dto) {
SysUserFileRecord fileRecord = new SysUserFileRecord();
fileRecord.setFileName(dto.getExportExeclName().concat(Constants.SUFFIX_XLSX));
fileRecord.setType(1);
//生成中
fileRecord.setStatus(2);
fileRecord.setRemark("集团招标业绩导出");
Long fileId = sysUserFileRecordService.exportAdd(fileRecord);
dto.setExportUniqueCode(fileId.toString());
//回调函数
dto.setExportBackUrl(EXPORT_BACK_URL);
dskOpenApiUtil.requestBody("/operate/export/combine/tender", BeanUtil.beanToMap(dto, false, false));
return AjaxResult.success();
}
} }
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
abp.project_leader_phone, abp.project_leader_phone,
ab.advisory_body_name, ab.advisory_body_name,
dp.project_name,dp.project_code,dp.province_name,dp.city_name,dp.isinvestproject,dp.project_type1, dp.project_name,dp.project_code,dp.province_name,dp.city_name,dp.isinvestproject,dp.project_type1,
dp.project_type,dp.contract_orig_value,dp.owner_name,dp.contract_org_name,dp.contract_sign_date dp.project_type2,dp.contract_value,dp.owner_name,dp.contract_org_name,dp.contract_sign_date
from advisory_body_project abp from advisory_body_project abp
left join advisory_body ab on ab.advisory_body_id = abp.advisory_body_id left join advisory_body ab on ab.advisory_body_id = abp.advisory_body_id
left join d_project dp on dp.project_key = abp.project_key left join d_project dp on dp.project_key = abp.project_key
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
}, },
"dependencies": { "dependencies": {
"@cell-x/el-table-sticky": "^1.0.2", "@cell-x/el-table-sticky": "^1.0.2",
"@form-create/element-ui": "^2.5.33",
"@riophae/vue-treeselect": "0.4.0", "@riophae/vue-treeselect": "0.4.0",
"@vue/composition-api": "^1.7.2", "@vue/composition-api": "^1.7.2",
"axios": "0.24.0", "axios": "0.24.0",
......
...@@ -97,29 +97,29 @@ div:focus { ...@@ -97,29 +97,29 @@ div:focus {
} }
} }
aside { // aside {
background: #eef1f6; // background: #eef1f6;
padding: 8px 24px; // padding: 8px 24px;
margin-bottom: 20px; // margin-bottom: 20px;
border-radius: 2px; // border-radius: 2px;
display: block; // display: block;
line-height: 32px; // line-height: 32px;
font-size: 16px; // font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, // font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; // Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50; // color: #2c3e50;
-webkit-font-smoothing: antialiased; // -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; // -moz-osx-font-smoothing: grayscale;
a { // a {
color: #337ab7; // color: #337ab7;
cursor: pointer; // cursor: pointer;
&:hover { // &:hover {
color: rgb(32, 160, 255); // color: rgb(32, 160, 255);
} // }
} // }
} // }
.components-container { .components-container {
margin: 30px 50px; margin: 30px 50px;
......
import Vue from 'vue'; import Vue from 'vue';
import VCA from '@vue/composition-api' //composition APi import VCA from '@vue/composition-api'; //composition APi
import Cookies from 'js-cookie'; import Cookies from 'js-cookie';
import Element from 'element-ui'; import Element from 'element-ui';
import formCreate from '@form-create/element-ui';
import './assets/styles/element-variables.scss'; import './assets/styles/element-variables.scss';
import "@/assets/styles/common.css"; import "@/assets/styles/common.css";
...@@ -25,6 +26,11 @@ import { getDicts } from "@/api/system/dict/data"; ...@@ -25,6 +26,11 @@ import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config"; import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"; import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
// 分栏组件
import SubfieldModule from "@/views/consultingOrgManagement/components/CustomForm/components/SubfieldModule";
// 分栏子组件
import SubfieldItem from "@/views/consultingOrgManagement/components/CustomForm/components/SubfieldItem";
// 分页组件 // 分页组件
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
// 自定义表格工具组件 // 自定义表格工具组件
...@@ -63,6 +69,8 @@ Vue.component('Editor', Editor); ...@@ -63,6 +69,8 @@ Vue.component('Editor', Editor);
Vue.component('FileUpload', FileUpload); Vue.component('FileUpload', FileUpload);
Vue.component('ImageUpload', ImageUpload); Vue.component('ImageUpload', ImageUpload);
Vue.component('ImagePreview', ImagePreview); Vue.component('ImagePreview', ImagePreview);
Vue.component("subfield-module", SubfieldModule);
Vue.component("subfield-item", SubfieldItem);
Vue.use(VCA); Vue.use(VCA);
Vue.use(horizontalScroll); Vue.use(horizontalScroll);
...@@ -84,6 +92,7 @@ DictData.install(); ...@@ -84,6 +92,7 @@ DictData.install();
Vue.use(Element, { Vue.use(Element, {
size: Cookies.get('size') || 'medium' // set element-ui default size size: Cookies.get('size') || 'medium' // set element-ui default size
}); });
Vue.use(formCreate);
Vue.config.productionTip = false; Vue.config.productionTip = false;
......
// 默认自定义表单组件
/**
* 模块模板
*/
export const subfieldModuleTemplate = {
defaultSubfieldModuleName: "分栏名称",
subfieldModuleName: "",
subfieldModuleNameRules: {
message: "请输入分栏名称",
trigger: ["blur", "change"]
},
subfieldModulePlaceholder: "请输入分栏标题",
edit: false,
children: []
};
export const defaultComOptions = [
{
comLabel: "单行文本",
// 组件类型
comType: "el-input",
// 组件展示图标
comShowIcon: require("@/assets/images/consultingAgencyManagement/customForm/icon_single_line_text@2x.png"),
}
];
\ No newline at end of file
<template>
<div class="subfield-item-container">
</div>
</template>
<script>
export default {
name: "subfieldItem",
data() {
return {
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
},
}
</script>
<style lang="scss" scoped>
.subfield-item-container {
}
</style>
<template>
<div class="subfield-module-item-container">
<div class="subfield-module-header">
<div class="subfield-module-title">
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_drag@2x.png" alt="" class="subfield-module-dragg-target-icon">
<el-form-item v-if="comModuleInfo.edit" class="subfield-module-form-item" :rules="comModuleInfo.subfieldModuleNameRules">
<el-input v-model="comModuleInfo.subfieldModuleName" :placeholder="comModuleInfo.subfieldModulePlaceholder" clearable></el-input>
</el-form-item>
<span v-else>{{comModuleInfo.defaultSubfieldModuleName}}</span>
</div>
<div class="subfield-module-title-tool" v-if="comModuleInfo.edit">
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_verify@2x.png" alt="" class="title-tool-edit-ok" @click="editOK">
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_cancle@2x.png" alt="" class="title-tool-edit-cancel"
@click.stop="editCancel">
</div>
<div class="subfield-module-title-tool" v-else>
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_edit@2x.png" alt="" class="title-tool-edit" @click="editModule">
<img src="@/assets/images/consultingAgencyManagement/customForm/icon_delete@2x.png" alt="" class="title-tool-delete" @click="removeModule">
</div>
</div>
<div class="subfield-module-item-list">
<slot></slot>
</div>
</div>
</template>
<script>
export default {
name: "subfieldModule",
props: {
moduleInfo: Object
},
watch: {
moduleInfo: {
handler(newValue, oldValue) {
this.comModuleInfo = newValue;
},
deep: true
},
},
data() {
return {
oldComModuleName: this.moduleInfo.subfieldModuleName,
comModuleInfo: this.moduleInfo
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
removeModule() {
this.$emit("removeModule", this.comModuleInfo);
},
editModule() {
this.comModuleInfo.edit = true;
},
editCancel() {
this.comModuleInfo.edit = false;
this.comModuleInfo.subfieldModuleName = this.oldComModuleName;
},
editOK() {
this.comModuleInfo.edit = false;
this.comModuleInfo.defaultSubfieldModuleName = this.comModuleInfo.subfieldModuleName;
this.oldComModuleName = this.comModuleInfo.subfieldModuleName;
this.$emit("editOk", this.comModuleInfo);
}
},
}
</script>
<style lang="scss" scoped>
.subfield-module-item-container {
margin-bottom: 12px;
width: 100%;
border: 1px solid #dcdfe6;
box-sizing: border-box;
border-radius: 4px;
.subfield-module-header {
display: flex;
align-items: center;
justify-content: space-between;
height: 56px;
background: #f0f3fa;
padding: 0px 16px;
box-sizing: border-box;
.subfield-module-title {
display: flex;
align-items: center;
flex: 1;
& > img {
width: 14px;
height: 14px;
cursor: pointer;
}
& > span {
font-size: 14px;
font-weight: 400;
margin-left: 12px;
color: rgba(35, 35, 35, 0.8);
}
}
.subfield-module-title-tool {
display: flex;
align-items: center;
justify-content: center;
margin-left: 12px;
& > img {
width: 16px;
height: 16px;
cursor: pointer;
}
.title-tool-delete,
.title-tool-edit-cancel {
margin-left: 16px;
}
}
}
::v-deep .subfield-module-form-item {
margin-bottom: 0px;
margin-left: 12px;
flex: 1;
.el-form-item__content {
line-height: 32px;
}
.el-input {
width: 100%;
.el-input__inner {
width: 100%;
height: 32px;
line-height: 32px;
padding-left: 12px;
&::placeholder {
color: #c0c4cc !important;
font-size: 14px !important;
}
}
.el-input__suffix {
.el-input__icon {
line-height: 32px;
}
}
}
}
}
</style>
<template>
<div class="custom-form-container">
<div class="custom-form-inner">
<div class="custom-form-header">
<div class="custom-form-title">咨询机构结算信息表单配置</div>
<!-- 提示 -->
<div class="custom-form-tip">
<img src="@/assets/images/consultingAgencyManagement/custom-form-tip-icon.png" alt="">
<span>自定义表格模板保存方案后将同步更新至项目详情 “咨询机构结算信息” 表格。</span>
</div>
</div>
<!-- 表单设计组件部分 -->
<div class="custom-form-design-container">
<div class="custom-form-design-outer">
<custom-form-design></custom-form-design>
</div>
</div>
</div>
</div>
</template>
<script>
import CustomFormDesign from "@/views/consultingOrgManagement/components/CustomForm/components/CustomFormDesign";
export default {
name: "customForm",
components: {
CustomFormDesign
},
data() {
return {
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
},
}
</script>
<style lang="scss" scoped>
.custom-form-container {
width: 100%;
height: 100%;
padding: 16px 24px 24px 24px;
overflow: hidden;
.custom-form-inner {
width: 100%;
height: 100%;
background: #fff;
border-radius: 4px;
.custom-form-header {
width: 100%;
height: 108px;
padding: 16px;
box-sizing: border-box;
border-bottom: 1px solid #eeeeee;
display: flex;
flex-direction: column;
.custom-form-title {
color: #232323;
font-size: 20px;
font-weight: bold;
line-height: 24px;
}
.custom-form-tip {
background: #ffedc7;
display: flex;
align-items: center;
height: 40px;
padding: 0px 16px;
border-radius: 2px;
margin-top: 12px;
border: 1px solid #ffedc7;
box-sizing: border-box;
& > img {
width: 16px;
height: 16px;
}
& > span {
color: rgba(35, 35, 35, 0.8);
font-size: 14px;
font-weight: 400;
line-height: 22px;
margin-left: 8px;
}
}
}
.custom-form-design-container {
height: calc(100% - 108px);
width: 100%;
box-sizing: border-box;
.custom-form-design-outer {
width: 100%;
height: calc(100% - 32px);
padding: 16px;
box-sizing: border-box;
}
}
}
}
</style>
...@@ -143,6 +143,7 @@ export default { ...@@ -143,6 +143,7 @@ export default {
}, },
// 跳转到企业详情 // 跳转到企业详情
viewEnterprise(row) { viewEnterprise(row) {
if (!row.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(row.advisoryBodyName ? row.advisoryBodyName : "咨询机构详情", `/enterprise/${encodeStr(row.advisoryBodyCid)}`); this.$tab.openPage(row.advisoryBodyName ? row.advisoryBodyName : "咨询机构详情", `/enterprise/${encodeStr(row.advisoryBodyCid)}`);
}, },
// 创建最终查询条件 // 创建最终查询条件
......
...@@ -271,7 +271,6 @@ export default { ...@@ -271,7 +271,6 @@ export default {
} else { } else {
this.$message.error(result.msg); this.$message.error(result.msg);
} }
console.log(result);
} catch (error) { } catch (error) {
} finally { } finally {
...@@ -320,10 +319,12 @@ export default { ...@@ -320,10 +319,12 @@ export default {
}, },
// 查看项目详情 // 查看项目详情
viewProjectDetail(row) { viewProjectDetail(row) {
if (!row?.advisoryBody?.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail/${row.advisoryBody?.advisoryBodyCid}?projectKey=${row.projectKey}`); this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail/${row.advisoryBody?.advisoryBodyCid}?projectKey=${row.projectKey}`);
}, },
// 跳转到企业详情 // 跳转到企业详情
viewEnterprise(row) { viewEnterprise(row) {
if (!row?.advisoryBody?.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(row.advisoryBody.advisoryBodyName ? row.advisoryBody.advisoryBodyName : "咨询机构详情", `/enterprise/${encodeStr(row.advisoryBody.advisoryBodyCid)}`); this.$tab.openPage(row.advisoryBody.advisoryBodyName ? row.advisoryBody.advisoryBodyName : "咨询机构详情", `/enterprise/${encodeStr(row.advisoryBody.advisoryBodyCid)}`);
} }
}, },
......
...@@ -196,6 +196,8 @@ export default { ...@@ -196,6 +196,8 @@ export default {
isSkeleton: true, isSkeleton: true,
companyInfo: {}, companyInfo: {},
customerInfo: {}, customerInfo: {},
// 企业名称
companyName: "",
companyId: '', //企业Id(测试默认3068) companyId: '', //企业Id(测试默认3068)
customerId: '', //企业Id(测试默认'a00d582a6041f32c16aac804e4924736') customerId: '', //企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
isCompany: false, //判断是否有建设库数据 isCompany: false, //判断是否有建设库数据
...@@ -274,7 +276,9 @@ export default { ...@@ -274,7 +276,9 @@ export default {
try { try {
if (this.$route.params.id) { // 获取companyId if (this.$route.params.id) { // 获取companyId
let companyId = this.$route.params.id; let companyId = this.$route.params.id;
await this.getCompanyId(companyId); // 有企业名的情况下带上企业名称
let companyName = this.$route.query.companyName;
await this.getCompanyId(companyId, companyName);
} }
} catch (error) { } catch (error) {
console.log(error); console.log(error);
...@@ -284,20 +288,25 @@ export default { ...@@ -284,20 +288,25 @@ export default {
this.currentPath = e; this.currentPath = e;
}, },
// 解密 // 解密
async getCompanyId(companyId) { async getCompanyId(companyId, companyName = "") {
if (companyName) this.companyName = companyName;
let { data } = await idRemark({ mark: companyId }); let { data } = await idRemark({ mark: companyId });
if (data) { if (data) {
this.companyId = data; this.companyId = data;
await this.$nextTick(); await this.$nextTick();
this.listenSider(); this.listenSider();
await this.getStatistic(); await this.getStatistic(this.companyName);
await this.handleQuery(); await this.handleQuery();
await this.association(this.$route.query.customerId); await this.association(this.$route.query.customerId);
this.$refs.sidebar.getFinancial(data); this.$refs.sidebar.getFinancial(data);
} }
}, },
async getStatistic() { async getStatistic(companyName) {
let res = await statistic({ companyId: this.companyId }); let params = {
companyId: this.companyId
};
companyName ? params["companyName"] = companyName : null;
let res = await statistic(params);
if (res.code == 200) { if (res.code == 200) {
this.statisticObj = { ...this.statisticObj, ...res.data }; this.statisticObj = { ...this.statisticObj, ...res.data };
} }
......
...@@ -61,10 +61,10 @@ ...@@ -61,10 +61,10 @@
</div> </div>
</div> </div>
<div class="company-menu"> <div class="company-menu">
<el-button v-if="companyInfo.claimStatus==0" @click="cancelClaimClick()" class="hasClaim"><i class="el-ico-claim" alt="已认领" title="已认领"></i> <!-- <el-button v-if="companyInfo.claimStatus==0" @click="cancelClaimClick()" class="hasClaim"><i class="el-ico-claim" alt="已认领" title="已认领"></i>
已认领</el-button> 已认领</el-button>
<el-button @click="handleClaim" v-else class="claim" v-loading="claimLoading"><i class="el-ico-claim" alt="认领客户" title="认领客户"></i> <el-button @click="handleClaim" v-else class="claim" v-loading="claimLoading"><i class="el-ico-claim" alt="认领客户" title="认领客户"></i>
认领客户</el-button> 认领客户</el-button> -->
</div> </div>
<div class="company-info"> <div class="company-info">
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
</el-table-column> </el-table-column>
<el-table-column label="监控对象" prop="companyName" align="left" width="250"></el-table-column> <el-table-column label="监控对象" prop="companyName" align="left" width="250"></el-table-column>
<el-table-column label="风险级别" prop="riskLevel" align="left" width="120"></el-table-column> <el-table-column label="风险级别" prop="riskLevel" align="left" width="120"></el-table-column>
<el-table-column label="监控类型" prop="parentName" align="left" width="150"></el-table-column> <el-table-column label="监控类型" prop="dimensionName" align="left" width="150"></el-table-column>
<el-table-column label="动态内容" prop="details" align="left"> <el-table-column label="动态内容" prop="details" align="left">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-for="(item,index) in scope.row.Array" :key="index"> <div v-for="(item,index) in scope.row.Array" :key="index">
......
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
</el-table-column> </el-table-column>
<el-table-column label="监控对象" prop="companyName" align="left" width="250"></el-table-column> <el-table-column label="监控对象" prop="companyName" align="left" width="250"></el-table-column>
<el-table-column label="风险级别" prop="riskLevel" align="left" width="120"></el-table-column> <el-table-column label="风险级别" prop="riskLevel" align="left" width="120"></el-table-column>
<el-table-column label="监控类型" prop="parentName" align="left" width="150"></el-table-column> <el-table-column label="监控类型" prop="dimensionName" align="left" width="150"></el-table-column>
<el-table-column label="动态内容" prop="details" align="left"> <el-table-column label="动态内容" prop="details" align="left">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-for="(item,index) in scope.row.Array" :key="index"> <div v-for="(item,index) in scope.row.Array" :key="index">
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.status===0" style="cursor: pointer;margin-right: 16px;color: #0081FF;" @click="handleClick(scope.row,1)">停用</span> <span v-if="scope.row.status===0" style="cursor: pointer;margin-right: 16px;color: #0081FF;" @click="handleClick(scope.row,1)">停用</span>
<span v-if="scope.row.status===1" style="cursor: pointer;margin-right: 16px;color: #0081FF;" @click="handleClick(scope.row,1)">启用</span> <span v-if="scope.row.status===1" style="cursor: pointer;margin-right: 16px;color: #0081FF;" @click="handleClick(scope.row,0)">启用</span>
<span style="cursor: pointer;color: #FF3C3C;" @click="handleClick(scope.row,2)">删除</span> <span style="cursor: pointer;color: #FF3C3C;" @click="handleClick(scope.row,2)">删除</span>
</template> </template>
</el-table-column> </el-table-column>
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
methods: { methods: {
radioBtn(val){ radioBtn(val){
configUpdate({configKey:'customer-badness-date-type',configValue:val}).then(res => { configUpdate({configKey:'customer-badness-date-type',configValue:val}).then(res => {
this.$modal.success(res.msg); this.$message.success(res.msg);
}); });
}, },
getList(){ getList(){
...@@ -181,7 +181,8 @@ ...@@ -181,7 +181,8 @@
console.log(res) console.log(res)
this.isSkeleton = false; this.isSkeleton = false;
this.tableData=res.rows; this.tableData=res.rows;
this.tableDataTotal=res.total this.tableDataTotal=res.total;
}) })
}, },
handleClick(item,key){ handleClick(item,key){
...@@ -209,7 +210,7 @@ ...@@ -209,7 +210,7 @@
console.log(res) console.log(res)
if(res.code === 200){ if(res.code === 200){
this.visible=false; this.visible=false;
this.$modal.success("新增成功"); this.$message.success("新增成功");
this.getList() this.getList()
}else { }else {
this.$message.error(res.msg); this.$message.error(res.msg);
...@@ -237,7 +238,7 @@ ...@@ -237,7 +238,7 @@
handleSave(){ handleSave(){
let time=this.startTime.substring(0,2)+'-'+this.endTime.substring(0,2) let time=this.startTime.substring(0,2)+'-'+this.endTime.substring(0,2)
configUpdate({configKey:'customer-badness-time-frame',configValue:time}).then(res => { configUpdate({configKey:'customer-badness-time-frame',configValue:time}).then(res => {
this.$modal.success(res.msg); this.$message.success(res.msg);
}); });
}, },
converTime(time) { converTime(time) {
......
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