Commit bb685066 authored by Administrator's avatar Administrator

Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司

parents 0f049a7e cfb75ac7
......@@ -7,19 +7,21 @@ import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectDetailBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.*;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
import com.dsk.cscec.service.AdvisoryBodyProjectService;
import com.dsk.cscec.service.AdvisoryBodyService;
import com.dsk.cscec.service.IDProjectService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
/**
* 咨询机构管理控制层
......@@ -65,17 +67,8 @@ public class AdvisoryBodyManageController extends BaseController {
/**
* 根据项目主键查询项目详情
*/
@GetMapping("/getProjectDetail/{projectKey}")
public R<ProjectDetailVo> getProjectDetail(@NotNull(message = "项目主键不能为空") @PathVariable Long projectKey) {
return R.ok(baseService.queryProjectDetail(projectKey));
@GetMapping("/getProjectDetail")
public R<ProjectDetailVo> getProjectDetail(ProjectDetailBo projectDetailBo) {
return R.ok(baseService.queryProjectDetail(projectDetailBo));
}
/**
* 根据咨询机构ID查询咨询机构详情
*/
@GetMapping("/getAdvisoryBodyDetail/{advisoryBodyId}")
public R<AdvisoryBodyDetailVo> getAdvisoryBodyDetail(@NotNull(message = "咨询机构ID不能为空") @PathVariable Long advisoryBodyId) {
return R.ok(advisoryBodyService.queryAdvisoryBodyDetail(advisoryBodyId));
}
}
}
\ No newline at end of file
package com.dsk.cscec.domain.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author sxk
* @date 2023.12.18
* @time 17:43
*/
@Data
public class ProjectDetailBo {
/**
* 项目主键
*/
@NotNull(message = "项目主键不能为空")
private Long projectKey;
/**
* 咨询机构Cid
*/
@NotNull(message = "咨询机构Cid不能为空")
private Long advisoryBodyCid;
}
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import lombok.Data;
/**
* @author sxk
* @date 2023.12.18
* @time 14:30
*/
@Data
public class AdvisoryBodyDetailVo extends AdvisoryBody {
/**
* 经营状态
*/
private String businessStatus;
/**
* 法定代表人
*/
private String corporatePerson;
/**
* 法定代表人联系电话
*/
private String corporatePersonPhone;
/**
* 注册地址
*/
private String regAddress;
}
......@@ -21,4 +21,12 @@ public class ProjectDetailVo extends DProject {
* 咨询机构
*/
private AdvisoryBody advisoryBody;
/**
* 法定代表人
*/
private String corporatePerson;
/**
* 注册地址
*/
private String regAddress;
}
......@@ -5,7 +5,6 @@ import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyDetailVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
/**
......@@ -23,13 +22,5 @@ public interface AdvisoryBodyService extends IService<AdvisoryBody> {
* @return 所有数据
*/
TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery);
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
AdvisoryBodyDetailVo queryAdvisoryBodyDetail(Long advisoryBodyId);
}
......@@ -5,6 +5,7 @@ import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectDetailBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
......@@ -38,9 +39,9 @@ public interface IDProjectService extends IService<DProject> {
/**
* 根据项目主键查询项目详情
*
* @param projectKey 项目主键
* @param projectDetailBo 查询实体
* @return 项目详情
*/
ProjectDetailVo queryProjectDetail(Long projectKey);
ProjectDetailVo queryProjectDetail(ProjectDetailBo projectDetailBo);
}
......@@ -13,7 +13,6 @@ import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyDetailVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
......@@ -101,27 +100,5 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
}
return TableDataInfo.build(page);
}
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
@Override
public AdvisoryBodyDetailVo queryAdvisoryBodyDetail(Long advisoryBodyId) {
AdvisoryBodyDetailVo advisoryBodyDetailVo = BeanUtil.toBean(baseMapper.selectById(advisoryBodyId), AdvisoryBodyDetailVo.class);
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBodyDetailVo.getAdvisoryBodyCid()));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人
advisoryBodyDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//TODO:法人电话
//advisoryBodyDetailVo.setCorporatePersonPhone(MapUtils.getString(companyData, "corporatePersonPhone", ""));
//注册地址
advisoryBodyDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
return advisoryBodyDetailVo;
}
}
......@@ -18,6 +18,7 @@ import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectDetailBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
......@@ -26,13 +27,16 @@ import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
import com.dsk.cscec.mapper.DProjectMapper;
import com.dsk.cscec.service.IDProjectService;
import com.dsk.jsk.domain.EnterpriseInfoHeaderBody;
import com.dsk.system.utils.DskOpenApiUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* 咨询机构管理
......@@ -170,17 +174,26 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
/**
* 根据项目主键查询项目详情
*
* @param projectKey 项目主键
* @param projectDetailBo 查询实体
* @return 项目详情
*/
@Override
public ProjectDetailVo queryProjectDetail(Long projectKey) {
public ProjectDetailVo queryProjectDetail(ProjectDetailBo projectDetailBo) {
//查询项目明细
DProject dProject = baseMapper.selectOne(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectKey, projectKey));
.eq(DProject::getProjectKey, projectDetailBo.getProjectKey()));
ProjectDetailVo projectDetailVo = BeanUtil.toBean(dProject, ProjectDetailVo.class);
//查询咨询机构信息并填充
projectDetailVo.setAdvisoryBody(advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectKey));
projectDetailVo.setAdvisoryBody(advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectDetailBo.getProjectKey()));
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(projectDetailBo.getAdvisoryBodyCid()));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人
projectDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//注册地址
projectDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
return projectDetailVo;
}
}
......
import request from '@/utils/request'
import request from '@/utils/request';
// 行政处罚列表
export function penalizePage(data) {
return request({
url: '/enterpriseCredit/penalizePage',
method: 'post',
data:data
})
data: data
});
}
// 行政处罚类型
export function penalizeReasonType(data) {
return request({
url: '/enterpriseCredit/penalizeReasonType',
method: 'post',
data:data
})
data: data
});
}
// 经营异常列表
......@@ -22,16 +22,16 @@ export function abnormalPage(data) {
return request({
url: '/enterpriseCredit/abnormalPage',
method: 'post',
data:data
})
data: data
});
}
// 经营异常年份
export function abnormalYears(data) {
return request({
url: '/enterpriseCredit/abnormalYears',
method: 'post',
data:data
})
data: data
});
}
// 被执行人列表
......@@ -39,8 +39,8 @@ export function executedPersonsPage(data) {
return request({
url: '/enterpriseCredit/executedPersonsPage',
method: 'post',
data:data
})
data: data
});
}
// 失信被执行人列表
......@@ -48,8 +48,8 @@ export function executedPage(data) {
return request({
url: '/enterpriseCredit/executedPage',
method: 'post',
data:data
})
data: data
});
}
// 裁判文书列表
......@@ -57,24 +57,24 @@ export function lawsuitsPage(data) {
return request({
url: '/enterpriseCredit/lawsuitsPage',
method: 'post',
data:data
})
data: data
});
}
// 裁判文书案由
export function lawsuitsCauseAction(data) {
return request({
url: '/enterpriseCredit/lawsuitsCauseAction',
method: 'post',
data:data
})
data: data
});
}
// 裁判文书身份
export function lawsuitsRole(data) {
return request({
url: '/enterpriseCredit/lawsuitsRole',
method: 'post',
data:data
})
data: data
});
}
// 法院公告列表
......@@ -82,32 +82,32 @@ export function noticesPage(data) {
return request({
url: '/enterpriseCredit/noticesPage',
method: 'post',
data:data
})
data: data
});
}
// 法院公告类型
export function noticesType(data) {
return request({
url: '/enterpriseCredit/noticesType',
method: 'post',
data:data
})
data: data
});
}
// 法院公告身份
export function noticesRole(data) {
return request({
url: '/enterpriseCredit/noticesRole',
method: 'post',
data:data
})
data: data
});
}
// 法院公告案由
export function noticesCaseReason(data) {
return request({
url: '/enterpriseCredit/noticesCaseReason',
method: 'post',
data:data
})
data: data
});
}
// 开庭公告列表
......@@ -115,23 +115,37 @@ export function kaitingPage(data) {
return request({
url: '/enterpriseCredit/kaitingPage',
method: 'post',
data:data
})
data: data
});
}
// 开庭公告案由
export function kaitingCauseAction(data) {
return request({
url: '/enterpriseCredit/kaitingCauseAction',
method: 'post',
data:data
})
data: data
});
}
// 开庭公告当事人身份
export function kaitingPureRole(data) {
return request({
url: '/enterpriseCredit/kaitingPureRole',
method: 'post',
data:data
})
data: data
});
}
// 风险信息 限制高消费
export const getLimitHighConsumptionApi = (data) => request({
url: "/enterpriseCredit/restrictedConsumerPage",
method: "post",
data
});
// 风险信息 股权冻结
export const getEquityFreezingApi = (data) => request({
url: "/enterpriseCredit/judicialFreezesPage",
method: "post",
data
})
......@@ -42,6 +42,14 @@ export function companyAdd(data) {
data: data
})
}
// 获取监控推荐企业
export function queryMonitorCompany(data) {
return request({
url: '/monitor/system/queryMonitorCompany',
method: 'post',
data: data
})
}
// 取消监控企业
export function companyCancel(data) {
return request({
......
......@@ -311,7 +311,6 @@ li {
.table-item {
width: 100%;
height: 100%;
.el-table {
width: 100%;
height: 100%;
......
......@@ -836,15 +836,55 @@ export function generateDirectSubtreeAndRemove(targetIds, tree, idKey = "id") {
return result ? JSON.parse(JSON.stringify({ ...result, children: result.children[0]?.children || [] })) : null;
}
// 甲方详情左侧菜单映射
// 甲方详情左侧菜单映射 key 服务器返回字段 value 菜单 pathName
export const detailSideBar = new Map([
// 企业速览
["holderinfo", "ownershipStructure"],
// 高管信息
["execuinfo", "leadingMember"],
// 对外投资
["overseas", "outboundInvestment"],
// 分支机构
// 企业概要 股东信息
["ownershipStructure", "holderinfo"],
// 企业概要 高管信息
["leadingMember", "execuinfo"],
// 企业概要 对外投资
["outboundInvestment", "overseas"],
// 企业概要 分支机构
["branch", "branch"],
// 项目商机 重点项目
["importantBusiness", "majorProject"],
// 项目商机 土地交易 城投分析 城投拿地
["landInfo", ["landtransaction", "landAcquisition"]],
// 拟建项目
["busProposedProjectV1", "proposed"],
// 专项债项目
["specialDebt", "bond"],
// 招标计划
["bidPlan", "biddingplan"],
// 招标公告
["biddingAnnouncement", "announcement"],
// 标讯Pro
["proBiddingAnnouncement", "tencent"],
// 行政许可
["adminLicensing", "administrative"],
// 业务往来 客户
["customerV1", "custom"],
// 业务往来 供应商
["supplierV1", "supplier"],
// 业务往来 招标代理
["coopBiddingAgency", "bidagency"],
// 业务往来 历史发包
["historySend", "hiscontract"],
// 开标记录
["tenderRecordV1", "bidrecords"],
// 风险信息 行政处罚
["adminSanction", "punish"],
// 风险信息 经营异常
["abnormalOperation", "businessAnomaly"],
// 风险信息 被执行人
["dishonestExecutee", "ifThePerson"],
// 风险信息 失信被执行人
["dishonestExecutor", "dishonesty"],
// 风险信息 裁判文书
["adjudicativeDoc", "judgment"],
// 风险信息 法院公告
["courtAnnouncement", "courtNotice"],
// 风险信息 开庭公告
["openAnnouncement", "openacourtsessionNotice"]
])
......@@ -96,21 +96,21 @@ export default {
// 列表表头
formColum: [
{ label: '序号', prop: "staticSerialNumber", type: "index", lock: true, fixed: false, uid: v4() },
{ label: '咨询机构名称', prop: 'advisoryBodyName', width: "198px", lock: true, fixed: false, slot: true, uid: v4(), showOverflowTooltip: true },
{ label: '最近一次合作时间', prop: 'lastCooperateTime', width: "201px", uid: v4() },
{ label: '经营状态', prop: 'businessStatus', width: "74px", uid: v4() },
{ label: '法定代表人', prop: 'corporatePerson', width: "86px", uid: v4() },
{ label: '注册资本', prop: 'regCapital', width: "107px", uid: v4() },
{ label: '注册地区', prop: 'regArea', width: "149px", uid: v4() },
{ label: '成立日期', prop: 'registeredDate', width: "97px", uid: v4() },
{ label: '经营范围', prop: 'businessScope', width: "417px", uid: v4() },
{ label: '合作项目数量', prop: 'cooperateProjectCount', width: "98px", uid: v4(), slot: true },
{ label: '项目列表', prop: 'projectName', width: "222px", lock: true, fixed: false, slot: true, uid: v4(), showOverflowTooltip: true },
{ label: '合同编码', prop: 'projectCode', width: "123px", uid: v4() },
{ label: '省市', prop: 'provinceName', width: "102px", uid: v4() },
{ label: '项目承接类型', prop: 'isinvestproject', width: "102px", uid: v4() },
{ label: '工程基础大类', prop: 'projectType1', width: "98px", uid: v4() },
{ label: '工程类别明细', prop: 'projectType', width: "98px", uid: v4() },
{ label: '项目负责人姓名', prop: 'projectLeader', width: "110px", uid: v4() },
{ label: '项目负责人专业', prop: 'projectLeaderMajor', width: "110px", uid: v4() },
{ label: '项目负责人联系电话', prop: 'projectLeaderPhone', width: "134px", uid: v4() },
],
queryParams: {
pageSize: 20,
pageNum: 1,
// 咨询机构ID
advisoryBodyId: "",
advisoryBodyCid: "",
},
tableDataList: [],
total: 0,
......@@ -164,8 +164,8 @@ export default {
methods: {
async init() {
try {
// if (!this.$routes?.params?.advisoryBodyId) return this.$message.error("缺少咨询机构Id");
// this.queryParams.advisoryBodyId = !this.$routes?.params?.advisoryBodyId;
if (!this.$routes?.params?.advisoryBodyCid) return this.$message.error("缺少咨询机构Id");
this.queryParams.advisoryBodyCid = !this.$routes?.params?.advisoryBodyCid;
await this.getList(this.queryParams);
} catch (error) {
......
......@@ -44,7 +44,8 @@
</template>
<!-- 合作项目数量 -->
<template slot="cooperateProjectCount" slot-scope="{data,row}">
<div v-if="row.cooperateProjectCount" class="no-line-feed ">{{row.cooperateProjectCount}}</div>
<div v-if="row.cooperateProjectCount" class="no-line-feed" @click="toCooperateDetail(row)">{{row.cooperateProjectCount}}
</div>
<span v-else>-</span>
</template>
</table-list-com>
......@@ -125,6 +126,10 @@ export default {
}
},
toCooperateDetail(row) {
if (!row.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(`${row.advisoryBodyName}合作明细`, `/consultingOrgManagement/detailsOfCooperation/${row.advisoryBodyCid}`);
},
// 创建最终查询条件
mergeCondition() {
const _queryParams = JSON.parse(JSON.stringify(this.queryParams));
......
......@@ -27,8 +27,8 @@
<transition name="fade-position" appear mode="out-in">
<span v-if="!form.hover && !form.value">搜索</span>
<el-input v-model="form.value" :placeholder="form.placeholder ? form.placeholder : '输入关键词查询'"
:style="form.width?'width:'+form.width+'px':'width:238px'" @focus.stop="searchFocus($event,form)" @blur.stop="searchBlur($event,form)"
@input="value => searchInput(value,form)" v-else @keydown.native.enter="changeSelect">
:style="form.width?'width:'+form.width+'px':'width:238px'" @focus.stop="searchFocus($event,form)"
@blur.stop="searchBlur($event,form)" @input="value => searchInput(value,form)" v-else @keydown.native.enter="changeSelect">
<template slot="suffix">
<transition mode="out-in" appear name="fade">
<img src="@/assets/images/enterprise/search-input-clear-icon.svg" @click.stop="form.value = '';changeSelect()"
......@@ -78,8 +78,8 @@
</template>
<div v-else class="flex-box">
<span class="flex-box ability-total" v-if="isTotal">共有{{ total }}条</span>
<span class="flex-box ability-excel" v-hasPermi="['combine:info:export:win:bid','combine:info:export:bid']" v-if="isExcel && title ==='集团业绩'|| title ==='集团招标' "
@click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<span class="flex-box ability-excel" v-hasPermi="['combine:info:export:win:bid','combine:info:export:bid']"
v-if="isExcel && title ==='集团业绩'|| title ==='集团招标' " @click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<span class="flex-box ability-excel" v-else @click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
</div>
......@@ -283,7 +283,8 @@ export default {
textContainer.style.setProperty("box-sizing", "border-box");
textContainer.textContent = iptChild.value ? iptChild.value : iptChild.getAttribute("placeholder");
document.body.append(textContainer);
let containerWidth = textContainer.offsetWidth + 12 + 8;
// 1px 误差
let containerWidth = textContainer.offsetWidth + 12 + 8 + 1;
textContainer.remove();
dom.style.setProperty("width", `${containerWidth}px`);
}
......
......@@ -47,7 +47,7 @@
<slot :name="cld.prop" :row="cldscope.row" :data="cld"></slot>
</template>
<template v-else>
<span>{{cldscope.row[cld.prop] || '--'}}</span>
<span>{{cldscope.row[cld.prop] || '-'}}</span>
</template>
</template>
</el-table-column>
......@@ -58,7 +58,7 @@
<template slot-scope="scope">
<slot v-if="item.slot" :name="item.prop" :row="scope.row" :index="scope.$index" :data="item"></slot>
<span v-else>
{{ scope.row[item.prop] || '--' }}
{{ scope.row[item.prop] || '-' }}
</span>
</template>
</el-table-column>
......
......@@ -41,9 +41,13 @@
<BusinessAnomaly v-if="currentPath.pathName=='businessAnomaly'" :company-id="companyId" />
<IfThePerson v-if="currentPath.pathName=='ifThePerson'" :company-id="companyId" />
<Dishonesty v-if="currentPath.pathName=='dishonesty'" :company-id="companyId" />
<Judgment v-if="currentPath.pathName=='judgment'" :company-id="companyId" />
<!-- 限制高消费 -->
<limit-high-consumption v-if="currentPath.pathName=='limitHighConsumption'" :company-id="companyId"></limit-high-consumption>
<!-- 股权冻结 -->
<equity-freezing v-if="currentPath.pathName=='equityFreezing'" :company-id="companyId"></equity-freezing>
<!-- <Judgment v-if="currentPath.pathName=='judgment'" :company-id="companyId" />
<CourtNotice v-if="currentPath.pathName=='courtNotice'" :company-id="companyId" />
<OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" :company-id="companyId" />
<OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" :company-id="companyId" /> -->
</template>
<template v-if="customerId && isCustomer">
<!-- 商务信息 -->
......@@ -101,6 +105,8 @@ import Punish from "./riskInformation/punish"; //风险信息-行政处罚
import BusinessAnomaly from "./riskInformation/businessAnomaly"; //风险信息-经营异常
import IfThePerson from "./riskInformation/ifThePerson"; //风险信息-被执行人
import Dishonesty from "./riskInformation/dishonesty"; //风险信息-失信被执行
import LimitHighConsumption from "./riskInformation/limitHighConsumption"; //风险信息-限制高消费
import EquityFreezing from "./riskInformation/equityFreezing"; //风险信息-股权冻结
import Judgment from "./riskInformation/judgment"; //风险信息-判决文书
import CourtNotice from "./riskInformation/courtNotice"; //风险信息-法院公告
import OpenacourtsessionNotice from "./riskInformation/openacourtsessionNotice"; //风险信息-开庭公告
......@@ -145,6 +151,8 @@ export default {
BusinessAnomaly,
IfThePerson,
Dishonesty,
LimitHighConsumption,
EquityFreezing,
Judgment,
CourtNotice,
OpenacourtsessionNotice,
......@@ -166,7 +174,18 @@ export default {
currentPath: {
pathName: 'overview' //默认展示页
},
statisticObj: {},
statisticObj: {
basic: {},
behavior: {},
business: {},
combineMember: {},
credit: {},
evaluation: {},
global: {},
performance: {},
personnel: {},
qualification: {}
},
partBoxHeight: null,
cooDetail: false
};
......@@ -218,28 +237,25 @@ export default {
}
}
},
beforeRouteLeave(to, from, next) {
next(vm => {
});
},
beforeRouteEnter(to, from, next) {
next(vm => {
});
},
created() {
if (this.$route.params.id) { // 获取companyId
let companyId = this.$route.params.id;
this.getCompanyId(companyId);
}
if (this.$route.query.path) { // 获取跳转对应板块
this.currentPath.pathName = this.$route.query.path;
}
this.init();
},
mounted() {
},
methods: {
async init() {
try {
if (this.$route.params.id) { // 获取companyId
let companyId = this.$route.params.id;
await this.getCompanyId(companyId);
}
if (this.$route.query.path) { // 获取跳转对应板块
this.currentPath.pathName = this.$route.query.path;
}
} catch (error) {
console.log(error);
}
},
showPartPage(e) {
this.currentPath = e;
},
......@@ -248,19 +264,18 @@ export default {
let { data } = await idRemark({ mark: companyId });
if (data) {
this.companyId = data;
this.$nextTick(() => {
this.listenSider();
});
this.getStatistic();
this.handleQuery();
this.association(this.$route.query.customerId);
await this.$nextTick();
this.listenSider();
await this.getStatistic();
await this.handleQuery();
await this.association(this.$route.query.customerId);
this.$refs.sidebar.financial(data);
}
},
async getStatistic() {
let res = await statistic({ companyId: this.companyId });
if (res.code == 200) {
this.statisticObj = res.data;
this.statisticObj = { ...this.statisticObj, ...res.data };
}
},
async handleQuery() {
......@@ -275,27 +290,21 @@ export default {
provinceIds: [this.companyInfo.provinceId],
cityIds: [this.companyInfo.cityId],
};
urbanInvestmentPage(data).then(res => {
if (res.code == 200) {
if (res.data.totalCount < 1) {
let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute));
arr[4].children[2].disabled = true;
this.$refs.sidebar.sideRoute = arr;
}
const result = await urbanInvestmentPage(data);
if (result.code == 200) {
if (result.data.totalCount < 1) {
let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute));
arr[4].children[2].disabled = true;
this.$refs.sidebar.sideRoute = arr;
}
});
}
if (this.companyInfo && this.companyInfo.companyName) {
this.$nextTick(() => {
document.getElementById('tagTitle').innerText = this.companyInfo.companyName;
// let lists = this.$store.state.tagsView.visitedViews
// lists.forEach(item=>{
// if(item.fullPath == this.$route.fullPath){
let titlename = document.getElementById('tagTitles');
if (titlename) {
titlename.innerText = this.companyInfo.companyName;
}
// }
// })
});
}
}
......@@ -313,60 +322,49 @@ export default {
this.cooDetail = false;
},
// 判断客户是否关联显示修改
association(id) {
async association(id) {
if (id) {
customerInfo(id).then(res => {
try {
const res = await customerInfo(id);
if (res.code == 200) {
if (res.data.userId == this.$store.state.user.userId) {
this.$nextTick(() => {
this.customerInfo = res.data;
this.customerId = res.data.customerId;
});
await this.$nextTick();
this.customerInfo = res.data;
this.customerId = res.data.customerId;
if (res.data.companyId == this.companyId) {
this.$nextTick(() => {
this.isCustomer = true;
this.isCompany = true;
});
await this.$nextTick();
this.isCustomer = true;
this.isCompany = true;
} else {
this.$nextTick(() => {
this.isCustomer = true;
this.isCompany = false;
this.currentPath.pathName = this.$route.query.path || 'business';
this.companyInfo = {
companyName: this.customerInfo.companyName
};
document.getElementById('tagTitle').innerText = this.customerInfo.companyName;
// let lists = this.$store.state.tagsView.visitedViews
// lists.forEach(item=>{
// if(item.fullPath == this.$route.fullPath){
let titlename = document.getElementById('tagTitles');
if (titlename) {
titlename.innerText = this.customerInfo.companyName;
}
// }
// })
});
await this.$nextTick();
this.isCustomer = true;
this.isCompany = false;
this.currentPath.pathName = this.$route.query.path || 'business';
this.companyInfo = {
companyName: this.customerInfo.companyName
};
document.getElementById('tagTitle').innerText = this.customerInfo.companyName;
let titlename = document.getElementById('tagTitles');
if (titlename) {
titlename.innerText = this.customerInfo.companyName;
}
}
} else {
this.$nextTick(() => {
this.isCustomer = true;
this.isCompany = true;
this.currentPath.pathName = 'overview';
});
await this.$nextTick();
this.isCustomer = true;
this.isCompany = true;
this.currentPath.pathName = 'overview';
}
}
}).catch(err => {
this.$nextTick(() => {
this.currentPath.pathName = 'overview';
this.isCompany = true;
});
});
} else {
this.$nextTick(() => {
} catch (err) {
await this.$nextTick();
this.currentPath.pathName = 'overview';
this.isCompany = true;
// this.currentPath.pathName = 'overview';
this.currentPath.pathName = this.$routes.query.path;
});
}
} else {
await this.$nextTick();
this.isCompany = true;
this.currentPath.pathName = 'overview';
}
},
......
......@@ -95,7 +95,8 @@ export default {
this.handleQuery1();
},
methods: {
handleClick() {
handleClick(v) {
if (v.name == this.activeName) return;
if (this.activeName == 'first') {
this.handleQuery();
} else {
......
......@@ -72,7 +72,7 @@ export default {
let res = await projectTenderDataGroup({ cid: this.companyId, type: this.activeIndex });
if (res.code == 200 && res.data) {
this.isSkeleton = false;
let data = res.data, totalVal = data.map(item => item.value).reduce((prev, cur) => prev + cur);
let data = res.data, totalVal = data.map(item => item.value).reduce((prev, cur) => {prev + cur},0);
this.viewData = data.map(item => {
let it = { name: item.name, value: item.value, percent: parseFloat(Number(Number(item.value) / Number(totalVal) * 100).toFixed(2)) };
return it;
......
<template>
<div class="equity-freezing-container">
<el-tabs v-model="queryParams.type" @tab-click="handleClick" class="detail-tab">
<el-tab-pane label="股权冻结" name="0"></el-tab-pane>
<el-tab-pane label="历史股权冻结" :disabled="tableDataTotal==0" name="1"></el-tab-pane>
</el-tabs>
<head-form-new ref="headFormNew" title="" :form-data="formData" :query-params="queryParams" :total="tableDataTotal" :isExcel="true"
@handle-search="handleSearch" />
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<tables v-if="!isSkeleton" :indexFixed="true" :tableData="tableData" :forData="forData" :tableDataTotal="tableDataTotal"
:queryParams="queryParams" @handle-current-change="handleCurrentChange">
<template slot="operation-table" slot-scope="scope">
<span style="color: #0081FF;cursor: pointer;" @click="viewDetail(scope.row)">操作</span>
</template>
</tables>
</div>
</template>
<script>
import skeleton from '../component/skeleton';
import mixin from '@/views/detail/party-a/mixins/mixin';
import { getEquityFreezingApi } from "@/api/detail/party-a/riskInformation";
export default {
name: "equityFreezingContainer",
mixins: [mixin],
components: {
skeleton
},
props: ['companyId'],
data() {
return {
queryParams: {
cid: this.companyId,
pageNum: 1,
pageSize: 10,
type: "0"
},
forData: [
{ label: '执行通知书文号', prop: 'name', width: '164' },
{ label: '被执行人', prop: 'companyName', minWidth: '146' },
{ label: '股权数额', prop: 'executionApplicant', width: '113' },
{ label: '执行法院', prop: 'court', minWidth: '146' },
{ label: '状态', prop: 'releaseDate', width: '50' },
{ label: '冻结起止日期', prop: 'source', width: '171' },
{ label: '公式时间', prop: 'source', width: '93' },
{ label: '操作', prop: 'operation-table', width: '50', slot: true },
],
formData: [
{ type: 5, fieldName: 'time', value: '', placeholder: '选择日期', startTime: 'dateFrom', endTime: 'dateTo', uid: this.getUid() },
],
//列表
tableLoading: false,
tableData: [],
tableDataTotal: 0,
showList: [],
isSkeleton: true,
resetStatus: false
};
},
//可访问data属性
created() {
this.initDetail();
},
//计算集
computed: {
},
//方法集
methods: {
async initDetail() {
try {
await this.handleQuery();
} catch (error) {
}
},
resetQueryParams() {
const data = this.$options.data.call(this);
this.queryParams = { ...data.queryParams, type: this.queryParams.type };
this.formData[0].value = "";
},
async handleQuery(params) {
try {
let data = params ? params : this.queryParams;
this.isSkeleton = true;
const res = await getEquityFreezingApi(data);
this.tableData = res.rows ? res.rows : [];
this.tableDataTotal = res.total ? res.total : 0;
} catch (error) {
console.log(error);
} finally {
this.isSkeleton = false;
}
},
handleClick(v) {
if (v.name == this.queryParams.type) return;
this.resetQueryParams();
this.handleQuery();
},
// 查看详情
viewDetail(row) {
}
},
}
</script>
<style lang="scss" scoped>
.equity-freezing-container {
padding: 16px;
background: #ffffff;
border-radius: 4px;
input {
border: 1px solid #efefef;
}
::v-deep .el-form-item {
margin-right: 8px !important;
}
.query-box {
margin: 10px 0 20px;
}
.cell-span {
display: inline-block;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
cursor: pointer;
> span {
display: inline-block;
width: 37px;
position: absolute;
right: 0;
bottom: 0;
background-color: #fff;
z-index: 1;
}
}
.detail-tab {
margin: 0 0 0 -16px;
::v-deep .el-tabs__nav-wrap::after {
display: none;
}
::v-deep .el-tabs__item {
font-size: 16px;
height: 30px;
line-height: 30px;
padding: 0 16px;
&.is-active {
font-weight: bold;
}
}
}
@import "@/assets/styles/search-common.scss";
}
</style>
<template>
<div class="limit-high-consumption-container">
<head-form-new title="限制高消费" :form-data="formData" :query-params="queryParams" :total="tableDataTotal" :isExcel="true"
@handle-search="handleSearch" />
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<tables v-if="!isSkeleton" :indexFixed="true" :tableData="tableData" :forData="forData" :tableDataTotal="tableDataTotal"
:queryParams="queryParams" @handle-current-change="handleCurrentChange">
<template slot="source" slot-scope="scope">
<span v-if="scope.row.source" style="color: #0081FF;cursor: pointer;" @click="viewOriginalArticle(scope.row)">查看原文</span>
<span v-else>-</span>
</template>
</tables>
</div>
</template>
<script>
import skeleton from '../component/skeleton';
import mixin from '@/views/detail/party-a/mixins/mixin';
import { getLimitHighConsumptionApi } from "@/api/detail/party-a/riskInformation";
export default {
name: "limitHighConsumptionContainer",
mixins: [mixin],
components: {
skeleton
},
props: ['companyId'],
data() {
return {
queryParams: {
cid: this.companyId,
pageNum: 1,
pageSize: 10
},
forData: [
{ label: '限消令对象', prop: 'name', width: '215' },
{ label: '关联对象', prop: 'companyName', minWidth: '136' },
{ label: '申请执行人', prop: 'executionApplicant', width: '136' },
{ label: '执行法院', prop: 'court', minWidth: '171' },
{ label: '发布日期', prop: 'releaseDate', width: '136' },
{ label: '原文', prop: 'source', width: '136', slot: true },
],
formData: [
{ type: 5, fieldName: 'time', value: '', placeholder: '发布日期', startTime: 'dateFrom', endTime: 'dateTo', uid: this.getUid() },
],
//列表
tableLoading: false,
tableData: [],
tableDataTotal: 0,
showList: [],
isSkeleton: true
};
},
//可访问data属性
created() {
this.initDetail();
},
//计算集
computed: {
},
//方法集
methods: {
async initDetail() {
try {
await this.handleQuery();
} catch (error) {
}
},
async handleQuery(params) {
try {
let data = params ? params : this.queryParams;
this.isSkeleton = true;
const res = await getLimitHighConsumptionApi(data);
this.tableData = res.rows ? res.rows : [];
this.tableDataTotal = res.total ? res.total : 0;
} catch (error) {
console.log(error);
} finally {
this.isSkeleton = false;
}
},
// 查看原文
viewOriginalArticle(row) {
}
},
}
</script>
<style lang="scss" scoped>
.limit-high-consumption-container {
background: #ffffff;
border-radius: 4px;
padding: 16px;
input {
border: 1px solid #efefef;
}
::v-deep .el-form-item {
margin-right: 8px !important;
}
.query-box {
margin: 10px 0 20px;
}
.cell-span {
display: inline-block;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
cursor: pointer;
> span {
display: inline-block;
width: 37px;
position: absolute;
right: 0;
bottom: 0;
background-color: #fff;
z-index: 1;
}
}
@import "@/assets/styles/search-common.scss";
}
</style>
......@@ -75,7 +75,7 @@
<el-button type="primary" @click="handleConfirm">确定取消</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="qyVisible" custom-class='dialog-claim' title="添加监控企业" width="480px" >
<el-dialog :visible.sync="qyVisible" custom-class='dialog-claim dialogAdd' title="添加监控企业" width="480px" >
<div class="add-content">
<div class="enterprise">
<div class="label">企业名称</div>
......@@ -83,31 +83,24 @@
<el-button slot="append" @click="handleKeyword()">搜索</el-button>
</el-input>
</div>
<div class="companyList" v-if="dataList.length > 0">
<div class="companyList">
<div class="list">
<div class="item" v-for="item in dataList">
<div class="item-left">
<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />
<img v-else src="@/assets/images/enterprise.png" :alt="item.name.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />
<img v-if="item.logoUrl" :src="item.logoUrl" :alt="item.companyName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />
<img v-else src="@/assets/images/enterprise.png" :alt="item.companyName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" />
</div>
<div class="item-right">
<p class="right-title" v-html="item.name"></p>
<p class="right-title" v-html="item.companyName"></p>
<p class="right-tips">推荐监控</p>
</div>
<el-checkbox @change="changeCheckbox(item)"></el-checkbox>
</div>
</div>
<p class="tips">前往企业查询寻找企业线索<i class="el-icon-arrow-right"></i></p>
<div class="btn">
<div>
<el-button @click="qyVisible===false">取消</el-button>
<el-button type="primary" @click="handleAdd">确定</el-button>
</div>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button>取消</el-button>
<el-button @click="qyVisible=false">取消</el-button>
<el-button type="primary" @click="handleAdd">确定</el-button>
</div>
</el-dialog>
......@@ -141,7 +134,7 @@
</template>
<script>
import { companyPage,companyList,companyAdd,companyCancel } from '@/api/monitoring/monitoring'
import { companyPage,companyList,companyAdd,companyCancel,queryMonitorCompany } from '@/api/monitoring/monitoring'
import { getToken } from '@/utils/auth'
export default {
name: 'EnterpriseMonitoring',
......@@ -150,6 +143,10 @@
radio:null,
date:[],
radioList:[
{
type:null,
label:'全部'
},
{
type:1,
label:'今天'
......@@ -210,17 +207,7 @@
})
},
handleKeyword(){
let data={
keyword:this.companyName,
page:{
"page": 1,
"limit": 50,
}
}
companyList(data).then(res => {
console.log(res.data.list)
this.dataList=res.data.list
})
this.addEnterprise()
},
changeCheckbox(item){
console.log(item)
......@@ -239,6 +226,7 @@
this.$modal.success("新增成功");
this.querySubmit()
})
},
radioBtn(val){
let endTime = new Date()
......@@ -272,6 +260,9 @@
this.date=[]
break;
default:
this.queryParams.condition.beginTime =''
this.queryParams.condition.endTime =''
this.querySubmit()
break;
}
},
......@@ -304,6 +295,16 @@
},
addEnterprise(){
this.qyVisible=true;
let data={
pageNum:1,
pageSize:10
}
if (this.companyName){
data.companyName=this.companyName;
}
queryMonitorCompany(data).then(res => {
this.dataList=res.rows;
})
},
handleBatch(){
this.pldrVisible=true;
......@@ -430,6 +431,68 @@
}
}
}
::v-deep .dialogAdd{
.el-dialog__body{
padding: 24px 0 !important;
.companyList{
width: 100%;
margin-top: 5px;
background: #FFFFFF;
.list{
max-height:280px;
overflow: auto;
border-top: 1px solid #EEEEEE;
}
.item{
display: flex;
padding: 10px 16px 6px 16px;
position: relative;
border-bottom: 1px solid #EEEEEE;
.item-left{
margin-right: 12px;
img{
width: 40px;
height: 40px;
}
}
.item-right{
width: 360px;
margin-right: 10px;
p{
margin: 0;
padding: 0;
}
.right-title{
font-size: 14px;
color: #232323;
}
.right-tips{
color: rgba(35,35,35,0.4);
font-size: 12px;
}
}
}
.item:last-child{
border-bottom:0;
}
.tips{
border-top: 1px solid #EEEEEE;
border-bottom: 1px solid #EEEEEE;
height: 40px;
line-height: 40px;
color: #0081FF;
font-size: 12px;
padding: 0 0 0 12px;
margin: 0;
}
}
}
.el-dialog__footer{
border-top: 1px solid #EEEEEE;
}
}
::v-deep .dialog-claim{
margin:0 !important;
position:absolute;
......@@ -472,8 +535,9 @@
}
}
.add-content{
height: 200px;
height: 300px;
.enterprise{
margin: 0 20px 10px;
display: -webkit-box;
align-items: flex-start;
line-height: 32px;
......@@ -495,58 +559,6 @@
color: #0081FF;
}
}
.companyList{
width: 372px;
margin-left: 68px;
margin-top: 5px;
background: #FFFFFF;
box-shadow: 0px 4px 8px 2px rgba(0,0,0,0.04), 0px 2px 6px 0px rgba(0,0,0,0.06), 0px 0px 4px 0px rgba(0,0,0,0.08);
border-radius: 4px;
position: absolute;
.list{
max-height:372px;
overflow: auto;
}
.item{
display: flex;
margin: 0 16px;
padding: 14px 0 10px 0;
position: relative;
border-bottom: 1px solid #EEEEEE;
.item-left{
margin-right: 12px;
img{
width: 40px;
height: 40px;
}
}
.item-right{
width: 250px;
p{
margin: 0;
padding: 0;
}
}
}
.item:last-child{
border-bottom: 0;
}
.tips{
border-top: 1px solid #EEEEEE;
border-bottom: 1px solid #EEEEEE;
height: 40px;
line-height: 40px;
color: #0081FF;
font-size: 12px;
padding: 0 0 0 12px;
margin: 0;
}
.btn{
padding: 16px 20px 24px 0;
display: block;
text-align: right;
}
}
}
}
.dialog-footer{
......
......@@ -9,18 +9,22 @@
<div class="main-right">
<div class="select-popper">
<span :class="{ color_text: sffx.length }">司法风险{{sffx.length > 0 ? sffx.length:''}}<i class="el-icon-caret-bottom"></i></span>
<el-select ref="tenderTypeSelect" v-model="sffx" class="select-multiple" collapse-tags @change="handleSelect" multiple placeholder="请选择">
<el-option v-for="(i,index) in selectList" :key="index" :label="i.dimensionName" :value="i.dimensionName">
<el-checkbox style="width: 100%;" :label="i.dimensionName" @change="changeSffx(i)">{{i.dimensionName}}</el-checkbox>
</el-option>
<el-select ref="tenderTypeSelect" v-model="sffx" class="select-multiple" collapse-tags multiple @change="handleSelect" placeholder="请选择">
<el-checkbox-group v-model="sffx">
<el-option v-for="(i,index) in selectList" :key="index" :label="i.dimensionName" :value="i.dimensionName">
<el-checkbox style="width: 100%;" :label="i.dimensionName" @change="changeSffx(i)">{{i.dimensionName}}</el-checkbox>
</el-option>
</el-checkbox-group>
</el-select>
</div>
<div class="select-popper">
<span :class="{ color_text: gsfx.length }">工商风险{{gsfx.length > 0 ? gsfx.length:''}}<i class="el-icon-caret-bottom"></i></span>
<el-select ref="tenderTypeSelect" v-model="gsfx" class="select-multiple" collapse-tags @change="handleSelect" multiple placeholder="请选择">
<el-option v-for="(i,index) in selectList1" :key="index" :label="i.dimensionName" :value="i.dimensionName">
<el-checkbox style="width: 100%;" :label="i.dimensionName" @change="changeGsfx(i)">{{i.dimensionName}}</el-checkbox>
</el-option>
<el-select ref="tenderTypeSelect" v-model="gsfx" class="select-multiple" collapse-tags multiple placeholder="请选择">
<el-checkbox-group v-model="gsfx">
<el-option v-for="(i,index) in selectList1" :key="index" :label="i.dimensionName" @change="handleSelect1" :value="i.dimensionName">
<el-checkbox style="width: 100%;" :label="i.dimensionName" @change="changeGsfx(i)">{{i.dimensionName}}</el-checkbox>
</el-option>
</el-checkbox-group>
</el-select>
</div>
</div>
......@@ -36,17 +40,29 @@
</div>
<div class="main-item" style="line-height: 32px;">
<div class="label">推送时段</div>
<el-time-picker
is-range
class="timePicker"
v-model="time"
:picker-options="{ step: '01:00' }"
@change="changeTime"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
placeholder="选择时间范围">
</el-time-picker>
<el-time-select
placeholder="起始时间"
v-model="startTime"
@change="startChangeTime"
:clearable="false"
:picker-options="{
start: '00:00',
step: '01:00',
end: '22:00'
}">
</el-time-select>
<span style="margin:0 8px;"></span>
<el-time-select
placeholder="结束时间"
v-model="endTime"
:clearable="false"
:picker-options="{
start: '00:00',
step: '01:00',
end: '23:00',
minTime: startTime
}">
</el-time-select>
</div>
</div>
<div class="m-title">监控接收方式</div>
......@@ -79,18 +95,19 @@
return {
selectList:[],
selectList1:[],
arr:[],
sffx:[],
gsfx:[],
checkFx: true,
checkJkwd: true,
queryParams:{
fxType:[],
jkwdType:[],
pushFrequency:'0',
receiveMode:'0',
phones:''
},
time:''
startTime: '',
endTime: '',
detail:{}
}
},
created() {
......@@ -98,16 +115,35 @@
this.selectList=res.data;
for(let i in res.data){
if(res.data[i].dimensionName === '司法风险'){
this.selectList=res.data[i].children
this.selectList=res.data[i].children;
for(let i=0; i<this.selectList.length; i++){
this.arr.push(this.selectList[i].dimensionName)
}
}
if(res.data[i].dimensionName === '工商风险'){
this.selectList1=res.data[i].children
}
}
rulesDetail({}).then(res => {
console.log(res)
let dimension=res.data.dimension.split(',');
this.queryParams={
pushFrequency:res.data.pushFrequency.toString(),
receiveMode:res.data.receiveMode.toString(),
phones:res.data.phones
}
this.startTime =res.data.timePeriodStart
this.endTime = res.data.timePeriodEnd
for(let item in dimension){
if (this.arr.indexOf(dimension[item]) == -1) {
this.gsfx.push(dimension[item])
} else {
this.sffx.push(dimension[item])
}
}
})
})
rulesDetail({}).then(res => {
console.log(res)
})
},
methods: {
changeSffx(val) {
......@@ -125,7 +161,14 @@
}
},
handleSelect(val) {
// console.log(val)
},
handleSelect1(val) {
},
// 开始时间改变
startChangeTime(value){
this.endTime = ""
},
handleAdd(){
let params={
......@@ -147,38 +190,20 @@
params.riskType='工商风险'
params.dimension=this.gsfx.join()
}
if(this.time.length > 0){
params.timePeriodStart=this.time[0]
params.timePeriodEnd=this.time[1]
if(this.startTime){
params.timePeriodStart=this.startTime
}
if(this.endTime){
params.timePeriodEnd=this.endTime
}
console.log(params)
insertOrUpdate(params).then(res => {
console.log(res)
this.$modal.success(res.msg);
})
},
changeTime(val){
console.log(val)
},
checkFx1Btn(val){
console.log(val)
if (val.length > 0) {
this.checkFx = false;
} else if (val.length == 0) {
this.checkFx = true;
}
},
checkJkwdBtn(val) {
this.queryParams.jkwdType = [];
this.checkJkwd = true;
},
checkJkwd1Btn(val){
console.log(val)
if (val.length > 0) {
this.checkJkwd = false;
} else if (val.length == 0) {
this.checkJkwd = true;
}
},
}
}
</script>
......@@ -265,9 +290,12 @@
}
}
}
::v-deep .timePicker{
width: 228px;
::v-deep .el-date-editor.el-input{
width: 160px;
height: 32px;
.el-input__inner{
height: 32px;
}
.el-range__icon{
line-height: 27px;
}
......
......@@ -157,9 +157,13 @@
data() {
return {
changeTime,
radio:1,
radio:null,
date:'',
radioList:[
{
type:null,
label:'全部'
},
{
type:1,
label:'今天'
......@@ -423,6 +427,9 @@
this.date=[]
break;
default:
this.queryParams.condition.beginTime=''
this.queryParams.condition.endTime=''
this.querySubmit()
break;
}
},
......
......@@ -33,13 +33,13 @@
<span class="right-label">提示:</span>
<span class="right-color color1">{{i.promptCount}}</span>
<span class="right-label">正向:</span>
<span class="right-color color1">{{i.positiveCount}}</span>
<span class="right-color color2">{{i.positiveCount}}</span>
<span class="right-label">低风险:</span>
<span class="right-color color1">{{i.lowRiskCount}}</span>
<span class="right-color color3">{{i.lowRiskCount}}</span>
<span class="right-label">中风险:</span>
<span class="right-color color1">{{i.middleRiskCount}}</span>
<span class="right-color color4">{{i.middleRiskCount}}</span>
<span class="right-label">高风险:</span>
<span class="right-color color1">{{i.highRiskCount}}</span>
<span class="right-color color5">{{i.highRiskCount}}</span>
</p>
<div class="tips">新增<span style="color:#0081FF;padding: 0 4px;">{{i.dynamicTotal}}</span>条动态信息</div>
</div>
......
......@@ -53,18 +53,31 @@
</div>
<div class="main-item" style="line-height: 32px;">
<div class="label">推送时段</div>
<el-time-picker
is-range
class="timePicker"
v-model="time"
value-format="HH:mm:ss"
@change="changeTime"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
placeholder="选择时间范围">
</el-time-picker>
<el-time-select
placeholder="起始时间"
v-model="startTime"
@change="startChangeTime"
:clearable="false"
:picker-options="{
start: '00:00',
step: '01:00',
end: '22:00'
}">
</el-time-select>
<span style="margin:0 8px;"></span>
<el-time-select
placeholder="结束时间"
v-model="endTime"
:clearable="false"
:picker-options="{
start: '00:00',
step: '01:00',
end: '23:00',
minTime: startTime
}">
</el-time-select>
</div>
<el-button type="primary" @click="handleSave">保存</el-button>
</div>
</div>
<el-dialog :visible.sync="visible" custom-class='dialog-claim' title="新增推送人信息" width="480px" >
......@@ -127,7 +140,8 @@
tableData:[],
visible:false,
radioTime:'0',
time:[],
startTime: '',
endTime: '',
tableDataTotal:0,
pageSize:10,
pageNum:1,
......@@ -145,7 +159,9 @@
this.radioTime=response.data.configValue
});
configKey("customer-badness-time-frame").then(response => {
this.time=[this.converTime(response.data.configValue.split('-')[0]),this.converTime(response.data.configValue.split('-')[1])]
let times = response.data.configValue.split("-");
this.startTime = times[0].length<2 ?'0'+times[0]+':00':times[0]
this.endTime = times[1].length<2 ?'0'+times[1]+':00':times[1]
});
this.getList()
},
......@@ -178,6 +194,10 @@
}
this.id=item.id
},
// 开始时间改变
startChangeTime(value){
this.endTime = ""
},
handleAdd(){
let params={
pushTypeCode:'custoemr-badness',
......@@ -214,9 +234,8 @@
this.getList()
})
},
changeTime(val){
console.log(val)
let time=val[0]+'-'+val[1]
handleSave(){
let time=this.startTime.substring(0,2)+'-'+this.endTime.substring(0,2)
configUpdate({configKey:'customer-badness-time-frame',configValue:time}).then(res => {
this.$modal.success(res.msg);
});
......
......@@ -38,7 +38,7 @@ module.exports = {
// target: `http://47.104.91.229:9099/prod-api`,//测试-旧
target: `http://111.204.34.146:9099/prod-api`,//测试
// target: `http://192.168.60.5:9098`,//陈跃方
// target: `http://192.168.60.27:9098`,//邓
// target: `http://122.9.160.122:9011`, //线上
// target: `http://192.168.0.165:9098`,//施-无线
// target: `http://192.168.60.46:9098`,//施-有线
......
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