Commit 8303eb06 authored by danfuman's avatar danfuman
parents d63c1bc8 0bbc06f3
......@@ -16,7 +16,6 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.service.ICustomerService;
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ObjectUtils;
......@@ -68,6 +67,23 @@ public class CustomerController extends BaseController {
@PostMapping()
@RepeatSubmit
public AjaxResult add(@RequestBody Customer customer) {
dealWithcustomerData(customer);
return AjaxResult.success(baseService.add(customer));
}
/**
* 认领客户
*/
// @PreAuthorize("@ss.hasPermi('customer:claim')")
@PostMapping("/claim")
@RepeatSubmit
public AjaxResult claim(@RequestBody Customer customer) {
if (ObjectUtils.isEmpty(customer.getUipId())) throw new BeanException("城投uipId不能为空");
dealWithcustomerData(customer);
return AjaxResult.success(baseService.add(customer));
}
private void dealWithcustomerData(Customer customer){
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
if (ObjectUtils.isEmpty(customer.getCompanyId())) {
try {
......@@ -79,7 +95,6 @@ public class CustomerController extends BaseController {
logger.debug("获取企业id错误!error:{}", e.getMessage());
}
}
return AjaxResult.success(baseService.add(customer));
}
/**
......
......@@ -105,4 +105,16 @@ public class EnterpriseController {
return enterpriseService.financial(vo);
}
@ApiOperation(value = "城投平台企业查询(openApi)")
@PostMapping(value = "uipSerach")
public TableDataInfo uipSerach(@RequestBody @Valid EnterpriseUipSearchBody vo) throws Exception {
return enterpriseService.uipSerach(vo);
}
@ApiOperation(value = "城投平台企业查询选项(openApi)")
@PostMapping(value = "uipGroupData")
public R financial() throws Exception {
return enterpriseService.uipGroupData();
}
}
package com.dsk.web.controller.search.macroMarket;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.OpRegionalEconomicDataV1Dto;
import com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto;
import com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto;
import com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto;
import com.dsk.system.service.EconomicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @ClassName RegionalEconomicDataController
......@@ -30,7 +33,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*/
@PostMapping("/national/nationalPage")
public AjaxResult nationalPage(@RequestBody OpRegionalEconomicDataV1PageDto dto) {
public AjaxResult nationalPage(@RequestBody @Valid OpRegionalEconomicDataV1PageDto dto) {
return economicService.nationalPage(dto);
}
......@@ -55,7 +58,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*/
@PostMapping("/statistics/regional")
public AjaxResult statisticsRegional(@RequestBody OpRegionalEconomicDataV1Dto dto) {
public AjaxResult statisticsRegional(@RequestBody OpRegionalEconomicDataStatisticsRegionalDto dto) {
return economicService.statisticsRegional(dto);
}
......@@ -67,7 +70,7 @@ public class RegionalEconomicDataController {
*@date: 2023/5/18 10:29
*/
@PostMapping("/regional/list")
public AjaxResult regionalList(@RequestBody OpRegionalEconomicDataV1Dto dto) {
public AjaxResult regionalList(@RequestBody OpRegionalEconomicDataRegionalListDto dto) {
return economicService.regionalList(dto);
}
......
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseUipSearchBody extends BasePage {
/**
* 查询关键字
*/
private String keys;
/*
* 1金额倒序,2金额正序,3时间倒序,4时间正序
*/
@NotNull(message = "排序条件不能为空")
private Integer sort;
/**
* 省份
*/
private List<Integer> provinceIds;
/**
* 市份
*/
private List<Integer> cityIds;
/**
* 县
*/
private List<Integer> areaIds;
/**
* 城投业务类型
*/
private List<String> uipBusinessType;
/**
* 主体信用等级
*/
private List<String> bratingSubjectLevel;
/**
* 股东背景
*/
private List<String> shareholderBg;
/**
* 股权关系
*/
private List<String> equityRelationship;
}
package com.dsk.common.dtos;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataRegionalListDto {
/**
* 省Id
*/
@NotNull(message = "provinceId 不能为空")
private Integer provinceId;
/**
* 市Id
*/
private Integer cityId;
/**
* 区Id
*/
private Integer areaId;
}
package com.dsk.common.dtos;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataStatisticsRegionalDto {
/**
* id
*/
@NotNull(message = "id 不能为空")
private Integer id;
/**
* 年份
*/
private Integer year;
/**
* 省Id
*/
private Integer provinceId;
/**
* 市Id
*/
private Integer cityId;
/**
* 区Id
*/
private Integer areaId;
}
......@@ -3,6 +3,7 @@ package com.dsk.common.dtos;
import com.dsk.common.core.domain.model.BasePage;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
......@@ -18,6 +19,7 @@ public class OpRegionalEconomicDataV1PageDto extends BasePage {
/**
* 年份
*/
@NotNull(message = "year 不能为空")
private Integer year;
/**
* 省
......
......@@ -3,6 +3,8 @@ package com.dsk.common.dtos;
import com.dsk.common.core.domain.model.BasePage;
import lombok.Data;
import java.util.List;
/**
* @ClassName UrbanInvestmentPlatformDto
......@@ -21,41 +23,41 @@ public class UrbanInvestmentPlatformDto extends BasePage {
/**
* 城投业务类型
*/
private String uipBusinessType;
private List<String> uipBusinessType;
/**
* 主体评级
*/
private String bratingSubjectLevel;
private List<String> bratingSubjectLevel;
/**
* 股东背景
*/
private String shareholderBg;
private List<String> shareholderBg;
/**
* 股权关系
*/
private String equityRelationship;
private List<String> equityRelationship;
/**
* 平台重要性
*/
private String platformImportance;
private List<String> platformImportance;
/**
* 所属开发区
*/
private String developmentZone;
private List<String> developmentZone;
/**
* 省
*/
private Integer provinceId;
private List<Integer> provinceIds;
/**
* 市
*/
private Integer cityId;
private List<Integer> cityIds;
/**
* 区
*/
private Integer areaId;
private List<Integer> areaIds;
/**
* 关键词
......
import request from "@/utils/request";
// 获取页面数据
export function getList(data) {
return request({
url: '/getInfo',
method: 'get'
})
}
import request from "@/utils/request";
// 获取查询下拉选项
export function getOption() {
return request({
url: '/getInfo',
method: 'get'
})
}
// 获取列表数据
export function getList(data) {
return request({
url: '/getInfo',
method: 'get'
})
}
......@@ -34,4 +34,104 @@ export function abnormalYears(data) {
})
}
// 被执行人列表
export function executedPersonsPage(data) {
return request({
url: '/enterpriseCredit/executedPersonsPage',
method: 'post',
data:data
})
}
// 失信被执行人列表
export function executedPage(data) {
return request({
url: '/enterpriseCredit/executedPage',
method: 'post',
data:data
})
}
// 裁判文书列表
export function lawsuitsPage(data) {
return request({
url: '/enterpriseCredit/lawsuitsPage',
method: 'post',
data:data
})
}
// 裁判文书案由
export function lawsuitsCauseAction(data) {
return request({
url: '/enterpriseCredit/lawsuitsCauseAction',
method: 'post',
data:data
})
}
// 裁判文书身份
export function lawsuitsRole(data) {
return request({
url: '/enterpriseCredit/lawsuitsRole',
method: 'post',
data:data
})
}
// 法院公告列表
export function noticesPage(data) {
return request({
url: '/enterpriseCredit/noticesPage',
method: 'post',
data:data
})
}
// 法院公告类型
export function noticesType(data) {
return request({
url: '/enterpriseCredit/noticesType',
method: 'post',
data:data
})
}
// 法院公告身份
export function noticesRole(data) {
return request({
url: '/enterpriseCredit/noticesRole',
method: 'post',
data:data
})
}
// 法院公告案由
export function noticesCaseReason(data) {
return request({
url: '/enterpriseCredit/noticesCaseReason',
method: 'post',
data:data
})
}
// 开庭公告列表
export function kaitingPage(data) {
return request({
url: '/enterpriseCredit/kaitingPage',
method: 'post',
data:data
})
}
// 开庭公告案由
export function kaitingCauseAction(data) {
return request({
url: '/enterpriseCredit/kaitingCauseAction',
method: 'post',
data:data
})
}
// 开庭公告当事人身份
export function kaitingPureRole(data) {
return request({
url: '/enterpriseCredit/kaitingPureRole',
method: 'post',
data:data
})
}
......@@ -15,4 +15,59 @@ export function getProjectlist(param) {
params: param
})
}
//删除项目
export function delProject(param) {
return request({
url: '/business/info/remove/'+param,
method: 'DELETE',
})
}
//建设内容
export function getJSNR(param) {
return request({
url: '/business/info/construction/'+param,
method: 'GET',
})
}
//项目速览
export function getXMSL(param) {
return request({
url: '/business/info/browse/'+param,
method: 'GET',
})
}
//项目速览修改
export function editXMSL(param) {
return request({
url: '/business/info/edit',
method: 'POST',
data:param
})
}
//查询项目联系人
export function getLXR(param) {
return request({
url: '/business/contacts/list',
method: 'GET',
params:param
})
}
//修改项目联系人
export function editLXR(param) {
return request({
url: '/business/contacts/edit',
method: 'POST',
data:param
})
}
//新增项目联系人
export function addLXR(param) {
return request({
url: '/business/contacts/add',
method: 'POST',
data:param
})
}
......@@ -124,6 +124,7 @@
border-radius: 2px;
line-height: 28px;
cursor: pointer;
position: relative;
>span{
padding-left: 8px;
}
......@@ -131,6 +132,15 @@
color: rgba(35,35,32,0.4);
margin-left: 4px;
}
.timeinput{
opacity: 0;
position: absolute;
.el-input__inner{
padding: 0;
margin: 0;
border: 0;
}
}
}
}
}
......@@ -570,7 +580,7 @@
.el-input__prefix{
left: 8px;
top: -2px;
top: 3px;
}
.el-input__suffix{
height: 32px;
......@@ -988,7 +998,7 @@
background: rgba(0, 129, 255, 0.16);
font-size: 12px;
line-height: 22px;
top: 149px;
top: 148px;
right: 61px;
cursor: pointer;
.img{
......@@ -1067,3 +1077,5 @@
white-space: nowrap;
padding-right: 10px;
}
.none{display: none}
......@@ -371,7 +371,7 @@ select {
width: 100%;
height: 0px;
opacity: 1;
border: 1px solid #EFEFEF;
border-bottom: 1px solid #EFEFEF;
margin: 16px 0px;
}
......
<template>
<div class="keyword_wrap">
<el-dialog
title="关键词推荐"
:visible.sync="dialogVisible"
width="800"
class="keyword_dialog"
append-to-body
:lock-scroll="false"
>
<div class="keyword_label">请搜索或采用关键词种类</div>
<div v-if="dialogVisible">
<el-select @change="changeKeyword" v-model="keyword" clearable class="keyword_select" popper-class="keyword_dropdown" filterable :filter-method="filterMethod" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.id"
:label="item.type"
:value="item.content">
<span v-html="item.newType||item.type"></span>
</el-option>
</el-select>
<div>
<div class="keyword_name" >
<el-scrollbar style="height:256px">
<ul>
<li v-for="(item,index) in keywordList" :class="activeIndex == index?'active_li':''" :key="index" @click="keywordClick(index)">{{item.type}}</li>
</ul>
</el-scrollbar>
</div>
<div class="keyword_con">
<el-input
type="textarea"
:autosize="{ minRows: 1, maxRows: 8}"
placeholder="请输入内容"
v-model="content">
</el-input>
<span class="keyword_con_label">
<!-- <img class="keyword_con_img" src="@/assets/img/performance/tip.png" alt=""> -->
关键词可编辑或删减</span>
<div class="keyword_btn" @click="handclick">应用关键词</div>
</div>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
var debounce=function(fn, delay = 300) {
var timer = null;
return function() {
var _this = this;
var args = arguments;
if (timer) clearTimeout(timer);
timer = setTimeout(function() {
fn.apply(_this, args);
}, delay);
};
}
export default {
data(){
return{
dialogVisible:false,
activeIndex:0,
keyword:"",
content:"",
options:[],
keywordList:[]
}
},
methods:{
changeKeyword(){
this.keywordList.map((item,index)=>{
if(item.content == this.keyword){
this.activeIndex = index
this.content = this.keywordList[this.activeIndex].content
this.$nextTick(()=>{
let el = document.getElementsByClassName("active_li")[0]
el.scrollIntoView()
})
}
})
},
// 筛选方法
filterMethod: debounce(function(filterVal) {
let newArr = JSON.parse(JSON.stringify(this.keywordList))
if (filterVal) {
let filterArr = newArr.filter((item) => {
if (item == null) {
return false
} else {
item.newType = item.type.replace(new RegExp(filterVal, 'g'), "<span style='color:#FF204E;'>" + filterVal +
"</span>")
return item.type.toLowerCase().includes(filterVal.toLowerCase())
}
})
this.options = filterArr;
} else {
this.options = newArr;
}
}, 500),
handclick(){
this.$emit('keywordClick',this.content)
Object.assign(this.$data, this.$options.data()) //重置data
},
keywordClick(index){
this.activeIndex = index
this.content = this.keywordList[this.activeIndex].content
},
show(){
// this.$axios.post("/nationzj/project/keywordList").then(res=>{
// if(res.data.code==200){
// this.keywordList = res.data.data
// this.options = res.data.data
// // localStorage.setItem("keyword",JSON.stringify(res.data.data))
// this.content = this.keywordList[this.activeIndex].content;
// this.dialogVisible = true;
// }
// })
this.dialogVisible = true;
/*if(localStorage.getItem("keyword")){
this.keywordList = JSON.parse(localStorage.getItem("keyword"));
this.options = this.keywordList;
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}else{
this.$axios.post("/nationzj/project/keywordList").then(res=>{
if(res.data.code==200){
this.keywordList = res.data.data
this.options = res.data.data
localStorage.setItem("keyword",JSON.stringify(res.data.data))
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}
})
}*/
},
},
}
</script>
<style lang="scss">
.keyword_dialog{
.el-dialog{
width: 800px;
height: 384px;
background: #FFFFFF;
border-radius: 4px 4px 4px 4px;
opacity: 1;
position: relative;
.keyword_label{
position: absolute;
top: 11px;
left: 115px;
}
.el-dialog__header{
padding-left: 24px;
padding-top: 9px;
color: #333333;
font-weight: bold;
border-bottom: 1px solid #EEEEEE;
.el-dialog__title{
font-size: 16px;
}
.el-dialog__headerbtn{
font-size: 20px;
top: 5px;
right: 16px;
}
}
.el-dialog__body{
padding-top: 16px;
.keyword_select{
margin-bottom: 8px;
width: 376px;
.el-input,.el-input__inner{
width: 376px;
}
}
.keyword_name{
display: inline-block;
text-align: center;
width: 180px;
position: relative;
background:#F8F8F8;
border:1px solid rgba(230,230,230,1);
border-radius:2px 2px 0px 0px;
.el-scrollbar__wrap{
overflow-x: hidden;
}
li{
height:40px;
line-height:40px;
box-sizing: border-box;
cursor: pointer;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
padding: 0 5px;
color: #999999;
&:hover{
color: #0081FF;
background: #E2EDFF;
font-weight:bold;
}
}
.active_li{
color: #0081FF;
background: #E2EDFF;
font-weight:bold;
}
.el-input .el-input__inner{
height: 40px;
border-radius: 4px 4px 0 0;
border: none;
border-bottom: 1px solid #E6E6E6;
}
}
.keyword_con{
float: right;
display: inline-block;
position: relative;
margin-right: 4px;
width: 576px;
height:258px;
background:rgba(255,255,255,1);
border:1px solid rgba(230,230,230,1);
border-radius:2px 2px 0px 0px;
box-sizing: border-box;
textarea{
border: none;
resize:none;
max-height: 256px;
color: #333333;
padding: 16px;
}
.keyword_btn{
cursor: pointer;
line-height:28px;
color: #ffffff;
text-align: center;
position: absolute;
bottom: 24px;
right: 16px;
width: 102px;
height: 28px;
background: #0081FF;
border-radius: 2px 2px 2px 2px;
opacity: 1;
}
.keyword_con_label{
color: #999999;
font-size: 12px;
margin-left: 16px;
.keyword_con_img{
width: 14px;
height: 14px;
position: relative;
top: -2px;
}
}
}
}
}
}
.el-autocomplete-suggestion{
width: 140px!important;
}
.el-autocomplete-suggestion__wrap{
max-height: 370px!important;
}
</style>
......@@ -170,7 +170,21 @@ export const constantRoutes = [
meta: { title: '拟建项目详情', icon: 'radar' }
}
]
},
{
path: '/bxprozbgg',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: '/radar/bxprozbgg/details/:id(\\d+)',
component: () => import('@/views/radar/bxprozbgg/details'),
name: 'bxprozbggDetails',
meta: { title: '标讯pro项目详情', icon: 'radar' }
}
]
},
]
// 动态路由,基于用户权限动态去加载
......
......@@ -10,7 +10,7 @@
<div class="empty" v-if="tableData.total==0 && isNew == true">
<img src="@/assets/images/project/empty.png">
<div class="p1">添加你的第一位客户吧</div>
<div class="p2">抱歉,你还未添加客户,快去添加吧</div>
<div class="p2">抱歉你还未添加客户,快去添加吧</div>
<div class="btn btn_primary h36 w88" @click="opennew">添加客户</div>
<div class="btn btn_primary btn_shallow h36 w88" @click="pldrs">批量导入</div>
</div>
......@@ -227,56 +227,7 @@
</el-dialog>
</el-card>
</div>
<div class="uploadwin" v-if="pldr">
<div class="upload" v-if="addfile==false">
<div class="up_title">批量导入客户</div>
<div class="up_box">
<el-upload :class="{'none':isUpload == true}"
class="upload-demo"
:action="action"
:multiple="false"
accept=".xls,.xlsx"
drag
ref="upload"
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileListChange"
:headers="headers"
:on-success="onSuccess">
<img class="up_img" src="@/assets/images/project/upload.png">
<div class="up_text">点击选择或将文件(xls,xlsx)拖拽至此上传成员名录</div>
<div class="up_tip">导入的文件内容必须依照下载模板的要求填写</div>
<div class="up_tip">上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)</div>
<div class="up_tip">导入已存在的客户将自动跳过</div>
</el-upload>
<div class="up_success" v-if="isUpload == true">
<img src="@/assets/images/project/success.png">上传成功
</div>
<div class="btn_download" v-if="isUpload == false" @click="downloadClick"><div class="img"></div>点击下载</div>
</div>
<div class="btns">
<div class="btn btn_primary btn_disabled h34" v-if="isUpload==false">确定导入</div>
<div class="btn btn_primary h34" @click="importConfirmClick" v-else>确定导入</div>
<div class="btn btn_default h34">取消</div>
</div>
</div>
<div class="success" v-if="addfile==true">
<div v-if="addsuccess==false">
<img class="img" src="@/assets/images/project/clock.png">
<div class="p1">查询客户中...</div>
<div class="p2">请耐心等待,过程大概30秒</div>
</div>
<div v-if="addsuccess == true">
<div class="p3">
<img src="@/assets/images/project/success.png">查询成功
</div>
<div class="p2">成功导入客户信息</div>
<div class="btns">
<div class="btn btn_primary h32" @click="handleCurrentChange(1)">查看</div>
</div>
</div>
</div>
</div>
<batchimport v-if="pldr" :importtype="types" @cancels="importCancel" @getdatas="handleCurrentChange(1)"></batchimport>
</div>
</template>
......@@ -286,12 +237,15 @@
import {getCustomerList,importData,addCustomer} from '@/api/custom/custom'
import {getEnterprise,getDictType,} from '@/api/main'
import prvinceTree from '@/assets/json/provinceTree'
import batchimport from '../../project/projectList/component/batchImport'
import axios from 'axios'
export default {
name: 'CustomList',
components:{batchimport},
data() {
return{
pldr: false,
types:'custom',
searchParam:{
companyName:'',
pageNum:1,
......@@ -304,9 +258,6 @@ export default {
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
tableData: [],//列表
isUpload:false,//有上传的文件
addfile:false,//已上传文件
addsuccess:false,//已成功加入数据
companData:[],//联想企业列表
customerLevel:[],//客户等级
......@@ -352,9 +303,9 @@ export default {
},
pldrs(){
this.pldr = true
this.addfile = false
this.isUpload = false
this.addsuccess = false
},
importCancel(){
this.pldr = false
},
//获取客户列表
getCustomerList(){
......@@ -372,6 +323,7 @@ export default {
},
//翻页
handleCurrentChange(val) {
this.pldr=false
this.isNew = false
this.searchParam.pageNum=val
this.getCustomerList()
......@@ -472,35 +424,6 @@ export default {
this.dialogVisible = false
this.showlist = false
},
// 批量导入
importConfirmClick() {
if (this.fileList.length > 0) {
this.$refs["upload"].submit();
this.getCustomerList();
this.addfile = true
} else {
this.$message("请先选择文件");
}
},
downloadClick() {
let a = document.createElement("a");
a.setAttribute("href", "/file/Template.xlsx");
a.setAttribute("download", "批量导入模版.xlsx");
document.body.appendChild(a);
a.click();
},
handleFileListChange(file, fileList) {
if (fileList.length > 0) {
this.fileList = [fileList[fileList.length - 1]];
this.isUpload = true
}
},
onSuccess(res, file, fileList) {
if(res.code == 200 )
this.addsuccess = true
else
this.$message.error({message:res.msg,showClose:true})
},
//地区
async prvinceTree() {
......@@ -617,5 +540,4 @@ export default {
padding-right: 26px;
}
}
.none{display: none}
</style>
......@@ -53,6 +53,10 @@
<el-option v-for="(item, index) in form.options" :key="index" :label="item.name" :value="item.value" />
</el-select>
</template>
<!-- 自定义 -->
<template v-if="form.type==0">
<slot name="slot"></slot>
</template>
</div>
......@@ -109,7 +113,6 @@ export default {
},
methods: {
changeSelect(){
console.log(this.formData)
this.$emit('handle-search')
},
clickEXCEL() {
......@@ -204,6 +207,9 @@ export default {
color: rgba(35,35,35,0.8);
margin-left: 16px;
cursor: pointer;
&:hover{
color: #0081FF;
}
img{
width: 18px;
height: 18px;
......
......@@ -43,6 +43,8 @@
</div>
</template>
<!-- <Detail />-->
<!-- 弹窗关联项目 -->
<el-drawer
title="添加合作情况"
......@@ -130,11 +132,12 @@ import {
queryProject
} from '@/api/detail/party-a/cooperate'
import {addProject} from '@/api/project/project'
import Detail from "../../../project/projectList/detail"
export default {
name: 'Cooperate',
mixins: [mixin],
components: {
Detail
},
data() {
return {
......
......@@ -54,7 +54,8 @@
</template>
<script>
import * as echarts from 'echarts';
import { getList } from '@/api/detail/party-a/financial'
import * as echarts from 'echarts'
export default {
name: 'Financial',
props: ['companyId'],
......@@ -79,12 +80,7 @@ export default {
{ name: '非标余额', ico: require('@/assets/images/detail/financial/zwqk_ico3.png'), intro: '非标余额/有息债务', introPro: '95.19%', amount: '1699.7', unit: '亿元'},
{ name: '对外担保金额', ico: require('@/assets/images/detail/financial/zwqk_ico4.png'), intro: '对外担保比例', introPro: '95.19%', amount: '1699.7', unit: '亿元'}
],
echartsData: [
{ value: 1048, name: '有息债务' },
{ value: 735, name: '有息债务/总债务' },
{ value: 580, name: '综合融资成本' },
{ value: 484, name: 'EBITDA保障倍数' }
],
echartsData: [],
// 资金情况
zjqkList: [
{ name: '经营现金流', ico: require('@/assets/images/detail/financial/zjqk_ico1.png'), intro: '该指标越高,说明经营活动的造血能力越强', amount: '99213', unit: '亿元'},
......@@ -113,9 +109,23 @@ export default {
created() {
},
mounted() {
this.getEcharts()
this.handleQuery()
},
methods: {
handleQuery() {
let param = {}
getList(param).then((res) => {
this.echartsData = [
{ value: 1048, name: '有息债务' },
{ value: 735, name: '有息债务/总债务' },
{ value: 580, name: '综合融资成本' },
{ value: 484, name: 'EBITDA保障倍数' }
]
this.$nextTick(() => {
this.getEcharts()
})
})
},
getEcharts(){
let myChart = echarts.init(document.getElementById("myEcharts"));
//配置图表
......
......@@ -25,25 +25,25 @@
<Tencent v-if="currentPath.pathName=='tencent'" :company-id="companyId" />
<Administrative v-if="currentPath.pathName=='administrative'" :company-id="companyId" />
<!-- 投诚分析 -->
<LandAcquisition v-if="currentPath.pathName=='landAcquisition'" />
<RegionalEconomies v-if="currentPath.pathName=='regionalEconomies'" />
<SameRegion v-if="currentPath.pathName=='sameRegion'" />
<LandAcquisition v-if="currentPath.pathName=='landAcquisition'" :company-id="companyId" />
<RegionalEconomies v-if="currentPath.pathName=='regionalEconomies'" :company-id="companyId" />
<SameRegion v-if="currentPath.pathName=='sameRegion'" :company-id="companyId" />
<!-- 风险信息 -->
<Punish v-if="currentPath.pathName=='punish'" />
<BusinessAnomaly v-if="currentPath.pathName=='businessAnomaly'" />
<IfThePerson v-if="currentPath.pathName=='ifThePerson'" />
<Dishonesty v-if="currentPath.pathName=='dishonesty'" />
<Judgment v-if="currentPath.pathName=='judgment'" />
<CourtNotice v-if="currentPath.pathName=='courtNotice'" />
<OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" />
<Punish v-if="currentPath.pathName=='punish'" :company-id="companyId" />
<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" />
<CourtNotice v-if="currentPath.pathName=='courtNotice'" :company-id="companyId" />
<OpenacourtsessionNotice v-if="currentPath.pathName=='openacourtsessionNotice'" :company-id="companyId" />
<!-- 招标偏好 -->
<Preference v-if="currentPath.pathName=='preference'" />
<Preference v-if="currentPath.pathName=='preference'" :company-id="companyId" />
<!-- 合作情况 -->
<Cooperate v-if="currentPath.pathName=='cooperate'" />
<Cooperate v-if="currentPath.pathName=='cooperate'" :company-id="companyId" />
<!-- 决策链条 -->
<DecisionMaking v-if="currentPath.pathName=='decisionMaking'" />
<DecisionMaking v-if="currentPath.pathName=='decisionMaking'" :company-id="companyId" />
<!-- 跟进记录 -->
<Gjjl v-if="currentPath.pathName=='gjjl'" types="gjdt" />
<Gjjl v-if="currentPath.pathName=='gjjl'" :company-id="companyId" />
</div>
</div>
</div>
......
......@@ -35,6 +35,9 @@ export default {
})
Object.keys(condtion).forEach(key => {
if(condtion[key]) {
if(Array.isArray(condtion[key]) && condtion[key].length == 0){
delete condtion[key]
}
reqData[key] = condtion[key]
}
})
......@@ -47,13 +50,14 @@ export default {
handleSearch(){
let params = this.formParams()
params.pageNum = 1
this.queryParams.pageNum = 1
this.handleQuery(params)
},
//分页
handleCurrentChange(e){
console.log(e)
let params = this.formParams()
params.pageNum = e
this.queryParams.pageNum = e
this.handleQuery(params)
},
handleSizeChange(e){
......
......@@ -18,7 +18,7 @@
@handle-current-change="handleCurrentChange"
>
<template slot="porjectName" slot-scope="scope">
<span :class="[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.porjectName)?'cell-span':'']" :style="{'-webkit-line-clamp': 5}">
<span :class="[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.porjectName)?'cell-span':'']" :style="{'-webkit-line-clamp': 2}">
{{ scope.row.porjectName }}
<span v-if="isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.porjectName)" @click="changeShowAll(scope.index, 0)">...<span style="color: #0081FF;">展开</span></span>
</span>
......@@ -83,7 +83,7 @@ export default {
this.tableData = [
{
projectId: '1',
porjectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大楼铝合金门窗供货及安装2',
porjectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装滨州医学院口腔医学大',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
......
......@@ -58,12 +58,12 @@ export default {
formData: [
{ type: 1, fieldName: 'projectStage', value: '', placeholder: '项目地区', options: []},
{ type: 1, fieldName: 'projectType', value: '', placeholder: '项目类型', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入关键词查询', options: []}
],
//列表
tableLoading:false,
tableData:[],
tableDataTotal:0,
showList:[],
tableDataTotal:0
}
},
computed: {
......
......@@ -56,8 +56,7 @@ export default {
//列表
tableLoading:false,
tableData:[],
tableDataTotal:0,
showList:[],
tableDataTotal:0
}
},
computed: {
......
......@@ -55,7 +55,7 @@ export default {
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '土地用途', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入项目名称关键词查询', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入项目名称关键词查询', options: []}
],
//列表
tableLoading:false,
......
......@@ -57,8 +57,7 @@ export default {
//列表
tableLoading:false,
tableData:[],
tableDataTotal:0,
showList:[],
tableDataTotal:0
}
},
computed: {
......
......@@ -10,6 +10,7 @@
/>
<tables
:indexFixed="true"
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
......@@ -17,11 +18,10 @@
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="inReason" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.inReason}}</router-link>
<template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.projectName}}</router-link>
<div class="tags" v-if="scope.row.tag">
<span class="tag style1">{{scope.row.tag}}</span>
<span class="tag style1">{{scope.row.tag}}</span>
</div>
</template>
</tables>
......@@ -30,53 +30,70 @@
<script>
import mixin from '../mixins/mixin'
import {getList, getOption} from '@/api/detail/party-a/overview'
export default {
name: 'Branch',
props: ['companyId'],
mixins: [mixin],
data() {
return {
queryParams: {
cid: 6034,
companyId: this.companyId,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '被投资企业名称', prop: 'inReason', slot: true},
{label: '负责人', prop: 'inDate'},
{label: '成立日期', prop: 'department'}
{label: '被投资企业名称', prop: 'projectName', slot: true},
{label: '负责人', prop: 'type'},
{label: '成立日期', prop: 'date'}
],
formData: [
{ type: 1, fieldName: 'zbgg', value: '', placeholder: '招标公告',
options: [
{ name: '招标公告类别1', value: '1' },
{ name: '招标公告类别2', value: '2' },
{ name: '招标公告类别3', value: '3' },
{ name: '招标公告类别4', value: '4' }
]
{ type: 1, fieldName: 'zbgg', value: '', placeholder: '招标公告', options: []
}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
this.handleOption()
this.handleQuery()
},
methods: {
async dataRegion() {
this.tableData = [
{id:1, inReason:'达萨法达萨法', inDate:'000',tag:'aaa'},
{id:2, inReason:'达萨法达萨法', inDate:'111'},
{id:3, inReason:'达萨法达萨法', inDate:'222'},
{id:4, inReason:'达萨法达萨法', inDate:'333'}
] //测试
handleOption(){
getOption().then((res) => {
this.setFormData('zbgg', [
{ name: '类别1', value: '1' },
{ name: '类别2', value: '2' },
{ name: '类别3', value: '3' },
{ name: '类别4', value: '4' }
])
})
},
handleQuery(params) {
console.log(params)
this.tableLoading = true
let param = params?params:this.queryParams
getList(param).then((res) => {
this.tableLoading = false
this.tableData = [
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
}
]
this.tableDataTotal = 100
})
}
}
}
......
......@@ -23,6 +23,7 @@
<script>
import mixin from '../mixins/mixin'
import InfoTable from '../component/infoTable'
import {getList} from "@/api/detail/party-a/overview";
export default {
name: 'Businfo',
props: ['companyId'],
......@@ -34,7 +35,7 @@ export default {
return {
activeName: 'first',
queryParams: {
cid: 6034,
companyId: this.companyId,
pageNum: 1,
pageSize: 10
},
......@@ -73,22 +74,34 @@ export default {
}
},
created() {
this.handleData()
this.handleQuery()
},
methods: {
handleClick(){
this.handleData()
this.handleQuery()
},
async handleData() {
handleQuery() {
console.log('索引:',this.activeName)
this.tableLoading = true
getList(this.queryParams).then((res) => {
this.tableLoading = false
this.tableData = [
{id:1, inReason:'达萨法达萨法', inDate:'000',tag:'aaa'},
{id:2, inReason:'达萨法达萨法', inDate:'111'},
{id:3, inReason:'达萨法达萨法', inDate:'222'},
{id:4, inReason:'达萨法达萨法', inDate:'333'}
] //测试
},
handleQuery(params) {
console.log(params)
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
}
]
this.tableDataTotal = 100
})
}
}
}
......
......@@ -19,6 +19,7 @@
<script>
import mixin from '../mixins/mixin'
import {getList} from '@/api/detail/party-a/overview'
export default {
name: 'Execuinfo',
props: ['companyId'],
......@@ -26,13 +27,13 @@ export default {
data() {
return {
queryParams: {
cid: 6034,
companyId: this.companyId,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '姓名', prop: 'inDate'},
{label: '职位', prop: 'department'}
{label: '姓名', prop: 'projectName'},
{label: '职位', prop: 'type'}
],
formData: [],
//列表
......@@ -42,19 +43,30 @@ export default {
}
},
created() {
this.handleData()
this.handleQuery()
},
methods: {
async handleData() {
handleQuery() {
this.tableLoading = true
getList(this.queryParams).then((res) => {
this.tableLoading = false
this.tableData = [
{id:1, inReason:'达萨法达萨法', inDate:'000',tag:'aaa'},
{id:2, inReason:'达萨法达萨法', inDate:'111'},
{id:3, inReason:'达萨法达萨法', inDate:'222'},
{id:4, inReason:'达萨法达萨法', inDate:'333'}
] //测试
},
handleQuery(params) {
console.log(params)
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
}
]
this.tableDataTotal = 100
})
}
}
}
......
......@@ -19,11 +19,10 @@
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="inReason" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.inReason}}</router-link>
<template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.projectName}}</router-link>
<div class="tags" v-if="scope.row.tag">
<span class="tag style1">{{scope.row.tag}}</span>
<span class="tag style1">{{scope.row.tag}}</span>
</div>
</template>
</tables>
......@@ -32,6 +31,7 @@
<script>
import mixin from '../mixins/mixin'
import {getList} from '@/api/detail/party-a/overview'
export default {
name: 'Holderinfo',
props: ['companyId'],
......@@ -40,12 +40,12 @@ export default {
return {
activeName: 'first',
queryParams: {
cid: 6034,
companyId: this.companyId,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '发起人/股东', prop: 'inReason', slot: true},
{label: '发起人/股东', prop: 'projectName', minWidth: '230', slot: true},
{label: '持股比例', prop: 'inDate'},
{label: '认缴出资(万)', prop: 'department'},
{label: '实缴出资额', prop: 'department'},
......@@ -56,28 +56,38 @@ export default {
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.handleData()
this.handleQuery()
},
methods: {
handleClick(){
this.handleData()
this.handleQuery()
},
async handleData() {
handleQuery() {
console.log('索引:',this.activeName)
this.tableLoading = true
getList(this.queryParams).then((res) => {
this.tableLoading = false
this.tableData = [
{id:1, inReason:'达萨法达萨法', inDate:'000',tag:'aaa'},
{id:2, inReason:'达萨法达萨法', inDate:'111'},
{id:3, inReason:'达萨法达萨法', inDate:'222'},
{id:4, inReason:'达萨法达萨法', inDate:'333'}
] //测试
},
handleQuery(params) {
console.log(params)
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
}
]
this.tableDataTotal = 100
})
}
}
}
......
......@@ -10,6 +10,7 @@
/>
<tables
:indexFixed="true"
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
......@@ -18,22 +19,18 @@
@handle-current-change="handleCurrentChange"
>
<template slot="gqzb">
<div class="tab-header">股权占比 <el-popover
placement="top-start"
width="280"
trigger="hover">
<div>
<div class="tab-header">股权占比 <el-popover placement="top-start" width="280" trigger="hover">
<div style="font-size: 12px;">
控股67%:绝对控制权67%,相当于100%的权力,修改公司章程/分立、合并、变更主营项目、重大决策<br />
控股51%:相对控制权51%,控制线,绝对控制公司<br />
控股34%:安全控制权,一票否决权</div>
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference">
</el-popover></div>
</template>
<template slot="inReason" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.inReason}}</router-link>
<template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.projectName}}</router-link>
<div class="tags" v-if="scope.row.tag">
<span class="tag style1">{{scope.row.tag}}</span>
<span class="tag style1">{{scope.row.tag}}</span>
</div>
</template>
</tables>
......@@ -42,6 +39,7 @@
<script>
import mixin from '../mixins/mixin'
import {getList, getOption} from '@/api/detail/party-a/overview'
export default {
name: 'Overseas',
props: ['companyId'],
......@@ -49,12 +47,12 @@ export default {
data() {
return {
queryParams: {
cid: 6034,
companyId: this.companyId,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '被投资企业名称', prop: 'inReason', slot: true},
{label: '被投资企业名称', prop: 'projectName', minWidth: '180', slot: true},
{label: '法定代表人', prop: 'inDate'},
{label: '注册资本(万元)', prop: 'department'},
{label: '成立日期', prop: 'department'},
......@@ -62,45 +60,58 @@ export default {
{label: '认缴出资额(万元)', prop: 'department'}
],
formData: [
{ type: 1, fieldName: 'zbgg', value: '', placeholder: '招标公告',
options: [
{ name: '招标公告类别1', value: '1' },
{ name: '招标公告类别2', value: '2' },
{ name: '招标公告类别3', value: '3' },
{ name: '招标公告类别4', value: '4' }
]
},
{ type: 1, fieldName: 'gqzb', value: '', placeholder: '股权占比',
options: [
{ name: '股权占比类别1', value: '1' },
{ name: '股权占比类别2', value: '2' },
{ name: '股权占比类别3', value: '3' },
{ name: '股权占比类别4', value: '4' }
]
}
{ type: 1, fieldName: 'zbgg', value: '', placeholder: '招标公告', options: [] },
{ type: 1, fieldName: 'gqzb', value: '', placeholder: '股权占比', options: [] }
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.handleData()
this.handleOption()
this.handleQuery()
},
methods: {
async handleData() {
this.tableData = [
{id:1, inReason:'达萨法达萨法', inDate:'000',tag:'aaa'},
{id:2, inReason:'达萨法达萨法', inDate:'111'},
{id:3, inReason:'达萨法达萨法', inDate:'222'},
{id:4, inReason:'达萨法达萨法', inDate:'333'}
] //测试
handleOption(){
getOption().then((res) => {
this.setFormData('zbgg', [
{ name: '类别1', value: '1' },
{ name: '类别2', value: '2' },
{ name: '类别3', value: '3' },
{ name: '类别4', value: '4' }
])
this.setFormData('gqzb', [
{ name: '类别1', value: '1' },
{ name: '类别2', value: '2' },
{ name: '类别3', value: '3' },
{ name: '类别4', value: '4' }
])
})
},
handleQuery(params) {
console.log(params)
this.tableLoading = true
let param = params?params:this.queryParams
getList(param).then((res) => {
this.tableLoading = false
this.tableData = [
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
}
]
this.tableDataTotal = 100
})
}
}
}
......
......@@ -32,11 +32,17 @@ export default {
mixins: [mixin],
components: {
},
props: {
companyId: {
type: Number,
default: 0
}
},
data() {
return {
queryParams: {
cid: 6034,
cid: 382724726,
pageNum: 1,
pageSize: 10
},
......@@ -49,7 +55,7 @@ export default {
{label: '做出决定机关(移除)', prop: 'outDepartment', width: '264'}
],
formData: [
{ type: 1, fieldName: 'years', value: '', placeholder: '列入时间', options: []}
{ type: 4, fieldName: 'years', value: '', placeholder: '列入时间', options: []}
],
//列表
tableLoading:false,
......@@ -61,6 +67,7 @@ export default {
},
created() {
this.handleQuery()
this.years()
},
computed: {
......@@ -68,10 +75,26 @@ export default {
methods: {
handleQuery(params) {
let data = params ? params : this.queryParams
this.tableLoading = true
abnormalPage(data).then(res => {
this.tableData = res.rows
this.tableDataTotal = res.total
this.tableLoading = false
})
},
years(){
abnormalYears({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[0].options.push({
name: data[i].year + '(' + data[i].count + ')',
value: data[i].year,
})
}
}
})
}
}
}
</script>
......
......@@ -22,85 +22,111 @@
</template>
<script>
import {
noticesPage,
noticesType,
noticesRole,
noticesCaseReason
} from '@/api/detail/party-a/riskInformation'
import mixin from '../mixins/mixin'
export default {
name: 'CourtNotice',
mixins: [mixin],
components: {
},
props: {
companyId: {
type: Number,
default: 0
}
},
data() {
return {
queryParams: {
cid: 6034,
cid: 20734,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '案由', prop: 'enterpriseName'},
{label: '公告时间', prop: 'level', width: '95'},
{label: '当事人', prop: 'capital', width: '240'},
{label: '案号', prop: 'cgrdm', width: '210'},
{label: '公告类型', prop: 'cgrssqy', width: '210'},
{label: '公告法院', prop: 'dataId', width: '280'}
{label: '案由', prop: 'caseReason'},
{label: '公告时间', prop: 'date', width: '95'},
{label: '当事人', prop: 'people', width: '240'},
{label: '案号', prop: 'objId', width: '210'},
{label: '公告类型', prop: 'type', width: '210'},
{label: '公告法院', prop: 'court', width: '280'}
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '公告类型',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '案由',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '身份',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
{ type: 1, fieldName: 'type', value: '', placeholder: '公告类型', options: []},
{ type: 1, fieldName: 'caseReason', value: '', placeholder: '案由', options: []},
{ type: 1, fieldName: 'role', value: '', placeholder: '身份', options: []},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo'},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词'},
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
this.handleQuery()
this.noticesTypes()
this.noticesRoles()
this.noticesCaseReasons()
},
computed: {
},
methods: {
async dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery(params) {
console.log(params)
let data = params ? params : this.queryParams
this.tableLoading = true
noticesPage(data).then(res => {
this.tableData = res.rows
this.tableDataTotal = res.total
this.tableLoading = false
})
},
noticesTypes(){
noticesType({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[0].options.push({
name: data[i].type + '(' + data[i].count + ')',
value: data[i].type,
})
}
}
})
},
noticesRoles(){
noticesRole({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[1].options.push({
name: data[i].role + '(' + data[i].count + ')',
value: data[i].role,
})
}
}
})
},
noticesCaseReasons(){
noticesCaseReason({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[2].options.push({
name: data[i].caseReason + '(' + data[i].count + ')',
value: data[i].caseReason,
})
}
}
})
},
}
}
......
......@@ -10,6 +10,7 @@
/>
<tables
:index-fixed="true"
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
......@@ -22,22 +23,31 @@
</template>
<script>
import {
executedPage
} from '@/api/detail/party-a/riskInformation'
import mixin from '../mixins/mixin'
export default {
name: 'Dishonesty',
mixins: [mixin],
components: {
},
props: {
companyId: {
type: Number,
default: 0
}
},
data() {
return {
queryParams: {
cid: 6034,
cid: 5504335,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '失信被执行人行为具体情形', prop: 'executionDesc', width: '508'},
{label: '失信被执行人行为具体情形', prop: 'executionDesc', width: '508', fixed: true},
{label: '立案日期', prop: 'date', width: '95'},
{label: '履行情况', prop: 'executionStatus', width: '120'},
{label: '立案文号', prop: 'caseNumber', width: '210'},
......@@ -50,31 +60,24 @@ export default {
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
this.handleQuery()
},
computed: {
},
methods: {
async dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery(params) {
console.log(params)
let data = params ? params : this.queryParams
this.tableLoading = true
executedPage(data).then(res => {
this.tableData = res.rows
this.tableDataTotal = res.total
this.tableLoading = false
})
}
}
}
......
......@@ -22,17 +22,26 @@
</template>
<script>
import {
executedPersonsPage
} from '@/api/detail/party-a/riskInformation'
import mixin from '../mixins/mixin'
export default {
name: 'IfThePerson',
mixins: [mixin],
components: {
},
props: {
companyId: {
type: Number,
default: 0
}
},
data() {
return {
queryParams: {
cid: 6034,
cid: 194738907,
pageNum: 1,
pageSize: 10
},
......@@ -48,34 +57,25 @@ export default {
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
this.handleQuery()
},
computed: {
},
methods: {
async dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery(params) {
console.log(params)
let data = params ? params : this.queryParams
this.tableLoading = true
executedPersonsPage(data).then(res => {
this.tableData = res.rows
this.tableDataTotal = res.total
this.tableLoading = false
})
}
}
}
</script>
......
......@@ -16,24 +16,41 @@
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
>
<template slot="relatedCompanies" slot-scope="scope">
<div v-for="item in scope.row.relatedCompanies">
<span>{{ item.clean_role }}</span>{{ item.name }}
</div>
</template>
</tables>
</div>
</template>
<script>
import {
lawsuitsPage,
lawsuitsCauseAction,
lawsuitsRole
} from '@/api/detail/party-a/riskInformation'
import mixin from '../mixins/mixin'
export default {
name: 'Judgment',
mixins: [mixin],
components: {
},
props: {
companyId: {
type: Number,
default: 0
}
},
data() {
return {
queryParams: {
cid: 6034,
cid: 5504335,
pageNum: 1,
pageSize: 10
},
......@@ -41,59 +58,69 @@ export default {
{label: '案由', prop: 'causeAction', width: '240'},
{label: '执行案号', prop: 'causeNo', width: '210'},
{label: '身份', prop: 'role', width: '120'},
{label: '当事人', prop: 'relatedCompanies', width: '240'},
{label: '当事人', prop: 'relatedCompanies', width: '240', slot: true},
{label: '案件金额(元)', prop: 'subAmount', width: '140'},
{label: '判决结果', prop: 'judgeresult', width: '508'},
{label: '判决日期', prop: 'date', width: '95'},
],
formData: [
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'role', value: '', placeholder: '身份',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 2, fieldName: 'tiem', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '搜索关键字', options: []}
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由', options: []},
{ type: 1, fieldName: 'role', value: '', placeholder: '身份', options: []},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo'},
{ type: 3, fieldName: 'keys', value: '', placeholder: '搜索关键字'}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
this.handleQuery()
this.lawsuitsCauseActions()
this.lawsuitsRoles()
},
computed: {
},
methods: {
async dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery(params) {
console.log(params)
let data = params ? params : this.queryParams
this.tableLoading = true
lawsuitsPage(data).then(res => {
this.tableData = res.rows
for (var i=0;i<this.tableData.length;i++){
this.tableData[i].relatedCompanies = JSON.parse(this.tableData[i].relatedCompanies)
}
this.tableDataTotal = res.total
this.tableLoading = false
})
},
lawsuitsCauseActions(){
lawsuitsCauseAction({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[0].options.push({
name: data[i].causeAction + '(' + data[i].num + ')',
value: data[i].causeAction,
})
}
}
})
},
lawsuitsRoles(){
lawsuitsRole({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[1].options.push({
name: data[i].role + '(' + data[i].num + ')',
value: data[i].role,
})
}
}
})
}
}
}
......
......@@ -10,63 +10,67 @@
/>
<tables
:index-fixed="true"
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
>
<template slot="relatedCompanies" slot-scope="scope">
<div v-for="item in scope.row.relatedCompanies">
<span>{{ item.role }}</span>{{ item.name }}
</div>
</template>
</tables>
</div>
</template>
<script>
import {
kaitingPage,
kaitingCauseAction,
kaitingPureRole
} from '@/api/detail/party-a/riskInformation'
import mixin from '../mixins/mixin'
export default {
name: 'OpenacourtsessionNotice',
mixins: [mixin],
components: {
},
props: {
companyId: {
type: Number,
default: 0
}
},
data() {
return {
queryParams: {
cid: 6034,
cid: 20734,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '案由', prop: 'causeAction', width: '240'},
{label: '案由', prop: 'causeAction', width: '240', fixed: true},
{label: '开庭日期', prop: 'hearingDate', width: '95'},
{label: '当事人', prop: 'relatedCompanies', width: '428'},
{label: '当事人', prop: 'relatedCompanies', width: '428', slot: true},
{label: '身份', prop: 'pureRole', width: '120'},
{label: '公告内容', prop: 'cgrssqy', width: '508'},
{label: '公告内容', prop: '', width: '508'},
{label: '案号', prop: 'caseNo', width: '210'},
{label: '法院', prop: 'dataId', width: '280'},
{label: '法庭', prop: 'dataId', width: '180'},
{label: '承办部门', prop: 'dataId', width: '280'},
{label: '审判长/主判人', prop: 'dataId', width: '106'}
{label: '法院', prop: 'court', width: '280'},
{label: '法庭', prop: '', width: '180'},
{label: '承办部门', prop: '', width: '280'},
{label: '审判长/主判人', prop: '', width: '106'}
],
formData: [
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 1, fieldName: 'pureRole', value: '', placeholder: '身份',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由', options: []},
{ type: 1, fieldName: 'pureRole', value: '', placeholder: '身份', options: []},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo'},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词'},
],
//列表
tableLoading:false,
......@@ -77,7 +81,9 @@ export default {
}
},
created() {
this.dataRegion()
this.handleQuery()
this.kaitingCauseActions()
this.kaitingPureRoles()
},
computed: {
......@@ -87,20 +93,44 @@ export default {
let Id = '111'
this.$router.push({ path: '/project/projectList/detail', query: Id });
},
async dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
},
handleQuery(params) {
console.log(params)
let data = params ? params : this.queryParams
this.tableLoading = true
kaitingPage(data).then(res => {
this.tableData = res.rows
for (var i=0;i<this.tableData.length;i++){
this.tableData[i].relatedCompanies = JSON.parse(this.tableData[i].relatedCompanies)
}
this.tableDataTotal = res.total
this.tableLoading = false
})
},
kaitingCauseActions(){
kaitingCauseAction({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[0].options.push({
name: data[i].causeAction + '(' + data[i].count + ')',
value: data[i].causeAction,
})
}
}
})
},
kaitingPureRoles(){
kaitingPureRole({cid: this.queryParams.cid}).then(res => {
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[1].options.push({
name: data[i].pureRole + '(' + data[i].count + ')',
value: data[i].pureRole,
})
}
}
})
},
}
}
</script>
......
......@@ -40,11 +40,17 @@ export default {
mixins: [mixin],
components: {
},
props: {
companyId: {
type: Number,
default: 0
}
},
data() {
return {
queryParams: {
cid: 382724726,
cid: this.companyId,
pageNum: 1,
pageSize: 10
},
......@@ -53,9 +59,9 @@ export default {
{label: '决定日期', prop: 'punishBegin', width: '95'},
{label: '处罚结果', prop: 'punishResult', width: '264'},
{label: '处罚文书号', prop: 'fileNum', width: '200'},
{label: '相关人员', prop: 'cgrdm', width: '88'},
{label: '相关人员', prop: '', width: '88'},
{label: '处罚机关', prop: 'office', width: '264'},
{label: '处罚结束日期', prop: 'dataId', width: '100'},
{label: '处罚结束日期', prop: '', width: '100'},
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '处罚类别', options: []},
......@@ -63,41 +69,40 @@ export default {
],
//列表
tableLoading:false,
tableData:[
{
punishReason:'根据成都市住房和城乡建设局《关于持续开展建设工地扬尘治理专项攻坚行动的通知》(成住建发(2021]178号),对你单位参建的项目住宅、商业及配套设施(2020-510107-47-03-506368) (金茂府三期)(安监备案编号:WH-CJ-AJ-2021-001)监督检查中发现未湿法作业(现场存在露天切割石材,未采取降尘防尘措施)。)的违规行为,予以记录并扣分,预扣减施工企业现场信用信息得分0.05分,预扣减监理企业现场信用信息得分...预扣减施工企业现场信用信息得分0.05分,预扣减监理企业现场信用信息得分',
punishBegin:'2015-08-06',
punishResult:'列入全省3-6月份拖欠农民工工资预警项目,现予以限期整改通报。',
fileNum:'铜城建罚决字【2021)】18-5号',
cgrdm:'测试1',
office:'江苏省住房和城乡建设厅',
dataId:'2015-08-06',
}
],
tableDataTotal:200,
tableData:[],
tableDataTotal:0,
showList:[],
}
},
created() {
this.getList()
this.handleQuery()
this.penalizeReasonTypeData()
},
computed: {
},
methods: {
getList() {
penalizePage(this.queryParams).then((res) => {
console.log(res.data.rows)
handleQuery(params) {
let data = params ? params : this.queryParams
this.tableLoading = true
penalizePage(data).then((res) => {
this.tableData = res.rows
this.tableDataTotal = res.total
this.tableLoading = false
})
},
penalizeReasonTypeData(){
penalizeReasonType({cid:this.queryParams.cid}).then((res) => {
console.log(res)
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[0].options.push({
name: data[i].punishType + '(' + data[i].count + ')',
value: data[i].punishTypeId,
})
}
}
})
},
handleQuery(params) {
console.log(params)
},
changeShowAll(row, column) {
this.showList.push({
......
......@@ -16,7 +16,11 @@
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
/>
>
<template slot="projectName" slot-scope="data">
<router-link :to="''+ data.row.id" style="color: #0081FF">{{ data.row.projectName }}</router-link>
</template>
</tables>
</div>
</template>
......@@ -42,19 +46,19 @@ export default {
pageSize: 10
},
forData: [
{label: '项目名称', prop: 'punishReason', width: '508'},
{label: '土地用途', prop: 'punishBegin', width: '120'},
{label: '行业分类', prop: 'punishResult', width: '120'},
{label: '供地方式', prop: 'fileNum', width: '120'},
{label: '土地坐落', prop: 'cgrdm', width: '120'},
{label: '成交金额(万元)', prop: 'office', width: '130'},
{label: '总面积(㎡)', prop: 'dataId', width: '120'},
{label: '批准单位', prop: 'dataId', width: '120'},
{label: '签订日期', prop: 'dataId', width: '120'}
{label: '项目名称', prop: 'projectName', width: '508', slot: true},
{label: '土地用途', prop: 'landUse', width: '120'},
{label: '行业分类', prop: 'industry', width: '120'},
{label: '供地方式', prop: 'supplyLandWay', width: '120'},
{label: '土地坐落', prop: 'landAddr', width: '150'},
{label: '成交金额(万元)', prop: 'transactionPrice', width: '130'},
{label: '总面积(㎡)', prop: 'acreage', width: '120'},
{label: '批准单位', prop: 'authority', width: '120'},
{label: '签订日期', prop: 'contractSignTime', width: '120'}
],
formData: [
{ type: 4, fieldName: 'landUse', value: [], placeholder: '土地用途', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
{ type: 4, fieldName: 'landUse', value: '', placeholder: '土地用途', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词'},
],
//列表
tableLoading:false,
......@@ -63,29 +67,34 @@ export default {
}
},
created() {
this.getList()
this.handleQuery()
this.getlandUse()
},
computed: {
},
methods: {
getList() {
handleQuery(params) {
let data = params ? params : this.queryParams
this.tableLoading = true
landTransactionPage(this.queryParams).then(res=>{
this.tableData = res.data
this.tableDataTotal = res.data.total
landTransactionPage(data).then(res=>{
this.tableData = res.rows
this.tableDataTotal = res.total
this.tableLoading = false
})
},
handleQuery(params) {
console.log(params)
},
//土地用途
getlandUse(){
landUse({cid: this.queryParams.cid}).then(res=>{
console.log(res)
// this.formData[0].options = res.data
let data = res.data
if(data.length > 0){
for (var i=0;i<data.length;i++){
this.formData[0].options.push({
name: data[i].landUse + '(' + data[i].count + ')',
value: data[i].landUse,
})
}
}
})
}
}
......
......@@ -7,6 +7,7 @@
</div>
<div class="table-item">
<el-table
:tableLoading="tableLoading"
:data="getValues"
:show-header="false"
border
......@@ -38,6 +39,11 @@ export default {
provinceId: 500000,
cityId: 500100
},
labels: [
'指标',
'财政',
'债务',
],
tableData: [],
headers: [
{
......@@ -193,10 +199,10 @@ export default {
label: '债务率-宽口径',
},
],
tableLoading: true
}
},
created() {
console.log(11)
this.dataRegion()
},
computed: {
......@@ -205,7 +211,7 @@ export default {
},
getValues() {
return this.headers.map(item => {
return this.tableData.reduce((pre, cur, index) => Object.assign(pre, {['value' + index]: cur[item.prop]}), {'title': item.label,});
return this.tableData.reduce((pre, cur, index) => Object.assign(pre, {['value' + index]: cur[item.prop]}), {'title': item.label,})
});
}
},
......@@ -214,6 +220,7 @@ export default {
dataRegion() {
regionalEconomy(this.params).then(res => {
this.tableData = res.data
this.tableLoading = false
})
},
}
......@@ -224,9 +231,36 @@ export default {
background: #ffffff;
border-radius: 4px;
padding: 16px;
::v-deep .el-table tr{
background: #F9FCFF;
}
::v-deep .table-item{
.el-table{
.el-table__body-wrapper{
tr{
&:first-child{
background: #F0F3FA;
div{
color: rgba(35,35,35,0.8);
}
}
&:nth-child(2n){
background: #FFFFFF;
}
}
}
}
}
.query-box{
margin: 10px 0 20px;
}
}
::v-deep .el-table__body-wrapper tr:nth-child(2) td:first-child,
::v-deep .el-table__body-wrapper tr:nth-child(16) td:first-child,
::v-deep .el-table__body-wrapper tr:nth-child(28) td:first-child{
font-weight: bold;
color: #232323;
}
</style>
......@@ -7,7 +7,86 @@
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
>
<template slot="slot">
<div class="search-box">
<span style="cursor: pointer;" @click="handleSearch">筛选<i class="el-icon-caret-bottom" style="color:rgba(35,35,35,0.4);margin-left: 5px"></i></span>
<div v-show="searchState" ref="showContent" class="search-main">
<div class="item">
<span class="wrap_label">行政等级</span>
<div class="item_ckquery">
<span :class="{color_text:xzdjCalss == ''}" @click="changeXZDJ('')">全部</span>
<template v-for="(item,index) in xzdj">
<span :class="{color_text:index+1 === xzdjCalss}" @click="changeXZDJ(index+1)">{{item.name}}</span>
</template>
</div>
</div>
<div class="item">
<span class="wrap_label">城投业务类型</span>
<div class="item_ckquery">
<span>全部</span>
<template v-for="(item,index) in typeList">
<span>{{item}}</span>
</template>
</div>
</div>
<div class="item">
<span class="wrap_label">主体评级</span>
<div class="item_ckquery">
<span>全部</span>
<template v-for="(item,index) in ztpj">
<span>{{item}}</span>
</template>
</div>
</div>
<div class="item">
<span class="wrap_label">股东背景</span>
<div class="item_ckquery">
<span>全部</span>
<template v-for="(item,index) in gdbj">
<span>{{item}}</span>
</template>
</div>
</div>
<div class="item">
<span class="wrap_label">股权关系</span>
<div class="item_ckquery">
<span>全部</span>
<template v-for="(item,index) in gqgx">
<span>{{item}}</span>
</template>
</div>
</div>
<div class="item">
<span class="wrap_label">平台重要性</span>
<div class="item_ckquery">
<span>全部</span>
<template v-for="(item,index) in pt">
<span>{{item}}</span>
</template>
</div>
</div>
<div class="item">
<span class="wrap_label" style="width: 78px;">开发区类别</span>
<div class="item_ckquery">
<span>全部</span>
<template v-for="(item,index) in lfqType">
<span>{{item}}</span>
</template>
</div>
</div>
<div class="item">
<span class="wrap_label">更多筛选</span>
<div class="item_ckquery">
<span :class="addresslength>0?'select-active':''">注册地区{{addresslength>0?(addresslength+'项'):''}}</span>
<el-cascader ref="address" class="cascader-region" popper-class='cascader-region-addd'
@input="addressListbtn" v-model="addressType" :options="addressList" :props="props" collapse-tags></el-cascader>
</div>
</div>
</div>
</div>
</template>
</head-form>
<tables
:tableLoading="tableLoading"
......@@ -73,16 +152,39 @@ export default {
{label: '所属开发区', prop: 'developmentZone', width: '120'}
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选',
options: []
},
{ type: 0, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
xzdj:[
{
name:'省级',
key:1,
},
{
name:'地级市',
key:2,
},
{
name:'区县级',
key:3,
}
],
selected:[],
xzdjCalss:'',
typeList:['土地开发整理','基础设施建设','棚改保障房建设','公用事业','文化旅游','交通建设运营','产投平台'],
ztpj:['AAA','AA+','AA','A+','A','A-','BBB+','其他'],
gdbj:['政府','财政','国资委','其他'],
gqgx:['直接控股','间接控股'],
pt:['重要平台','主要平台','一般平台'],
lfqType:['国家级经开','国家级高新区','国家海关监管区域','国家级新区','国家边和区','其他国家级','省级新区','省级开发区'],
props: {
value: 'id',
multiple: true,
},
addressList: [],
addressType: [],
addresslength: 0,
searchState:false,
//列表
tableLoading:false,
tableData:[],
......@@ -148,6 +250,38 @@ export default {
}
this.addressList = str;
},
handleSearch(event){
// this.searchState=!this.searchState;
let dom = this.$refs.showContent;
if (!dom.contains(event.target)) {
this.searchState = !this.searchState;
document.removeEventListener('click', this.handleSearch);
}
},
changeXZDJ(index) {
this.xzdjCalss = index;
},
addressListbtn() {
let arr = this.$refs.address.getCheckedNodes();
let provinceCode = [],cityCode = [],countyCode = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && cityCode.push(arr[i].value);
!arr[i].hasChildren && countyCode.push(arr[i].value);
}
} else {
provinceCode.push(arr[i].value)
}
}
if (provinceCode.length > 0 || cityCode.length > 0 || countyCode.length > 0) {
this.addresslength = provinceCode.length + cityCode.length + countyCode.length;
} else {
this.addresslength = 0;
}
},
handleQuery(params){
this.tableLoading = true
let data = params ? params : this.queryParams
......@@ -168,5 +302,60 @@ export default {
.query-box{
margin: 10px 0 20px;
}
.search-box{
display: inline-block;
margin-right: 32px;
/*cursor: pointer;*/
color:#232323;
position: relative;
.search-main{
background: #ffffff;
box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.1);
border-radius: 4px;
width: 880px;
height: 337px;
padding: 16px;
position: absolute;
top: 25px;
left: 0;
z-index: 2001;
.item{
margin-bottom: 5px;
display: flex;
/*align-items: center;*/
font-size: 14px;
.wrap_label{
color: rgba(35,35,35,0.8);
margin-right: 12px;
line-height: 30px;
}
.item_ckquery{
position: relative;
span{
color: #232323;
padding: 5px 12px;
display: inline-block;
cursor: pointer;
}
.color_text{
background: #F3F4F5;
border-radius: 4px;
color: #0081FF;
}
.select-active{
color: #0081FF;
}
}
.cascader-region {
position: absolute;
left: 0;
top: -6px;
opacity: 0;
line-height: 22px;
}
}
}
}
}
</style>
......@@ -7,7 +7,7 @@
>
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>添加客户</span>
<span>添加项目</span>
</div>
<el-form class="popform j" :model="queryParam" :rules="rules" ref="ruleForm" label-width="130px">
<el-form-item label="项目名称:" class="row" prop="projectName">
......
<template>
<div class="uploadwin">
<div class="upload" v-if="addfile==false">
<div class="up_title">批量导入{{titletext}}</div>
<div class="up_box">
<el-upload :class="{'none':isUpload == true}"
class="upload-demo"
:action="action"
:multiple="false"
accept=".xls,.xlsx"
drag
ref="upload"
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileListChange"
:headers="headers"
:on-success="onSuccess">
<img class="up_img" src="@/assets/images/project/upload.png">
<div class="up_text">点击选择或将文件(xls,xlsx)拖拽至此上传成员名录</div>
<div class="up_tip">导入的文件内容必须依照下载模板的要求填写</div>
<div class="up_tip">上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)</div>
<div class="up_tip">导入已存在的客户将自动跳过</div>
</el-upload>
<div class="up_success" v-if="isUpload == true">
<img src="@/assets/images/project/success.png">上传成功
</div>
<div class="btn_download" v-if="isUpload == false" @click="downloadClick"><div class="img"></div>点击下载</div>
</div>
<div class="btns">
<div class="btn btn_primary btn_disabled h34" v-if="isUpload==false">确定导入</div>
<div class="btn btn_primary h34" @click="importConfirmClick" v-else>确定导入</div>
<div class="btn btn_default h34" @click="importCancel">取消</div>
</div>
</div>
<div class="success" v-if="addfile==true">
<div v-if="addsuccess==false">
<img class="img" src="@/assets/images/project/clock.png">
<div class="p1">查询客户中...</div>
<div class="p2">请耐心等待,过程大概30秒</div>
</div>
<div v-if="addsuccess == true">
<div class="p3">
<img src="@/assets/images/project/success.png">查询成功
</div>
<div class="p2">成功导入客户信息</div>
<div class="btns">
<div class="btn btn_primary h32" @click="getmsg">查看</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
import "@/assets/styles/project.scss"
import {importData} from '@/api/custom/custom'
export default {
name: 'batchImport',
props:{
importtype:''
},
data(){
return{
isUpload:false,//有上传的文件
addfile:false,//已上传文件
addsuccess:false,//已成功加入数据
//批量导入
action:"",
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
downloadhref:'',//样例地址
titletext:'',
}
},
created(){
console.log(this.importtype )
if(this.importtype == 'project'){//项目管理
this.downloadhref = '/file/projectTemplate.xlsx'
this.titletext = '项目'
this.action = process.env.VUE_APP_BASE_API + '/business/info/upload'
}
if(this.importtype == 'custom'){//客户管理
this.downloadhref = '/file/Template.xlsx'
this.titletext = '客户'
this.action = process.env.VUE_APP_BASE_API + "/customer/importData"
}
},
methods:{
getmsg(){
this.$emit('getdatas')
},
handleFileListChange(file, fileList) {
if (fileList.length > 0) {
this.fileList = [fileList[fileList.length - 1]];
this.isUpload = true
}
},
onSuccess(res, file, fileList) {
if(res.code == 200 )
this.addsuccess = true
else
this.$message.error({message:res.msg,showClose:true})
},
downloadClick() {
let a = document.createElement("a");
a.setAttribute("href", this.downloadhref);
a.setAttribute("download", "批量导入模版.xlsx");
document.body.appendChild(a);
a.click();
},
// 批量导入
importConfirmClick() {
if (this.fileList.length > 0) {
this.$refs["upload"].submit();
this.addfile = true
} else {
this.$message("请先选择文件");
}
},
importCancel(){
this.addfile = false
this.isUpload = false
this.addsuccess = false
this.$emit('cancels')
},
}
}
</script>
<style scoped>
</style>
......@@ -13,12 +13,12 @@
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="p2">抱歉你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div>
</template>
<el-table-column
prop="date"
prop="name"
label="姓名"
width="113">
</el-table-column>
......@@ -27,34 +27,34 @@
label="操作"
width="118">
<template slot-scope="scope">
<div class="edit">
<div class="edit" @click="getDetail(scope.row)">
<img src="@/assets/images/project/edit.png">
<span>编辑</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="name"
prop="role"
label="角色"
sortable
width="146">
</el-table-column>
<el-table-column
prop="address"
prop="office"
label="公司/机关">
</el-table-column>
<el-table-column
prop="name"
prop="position"
label="职位"
width="125">
</el-table-column>
<el-table-column
prop="name"
prop="phone"
label="联系方式"
width="175">
</el-table-column>
<el-table-column
prop="name"
prop="accendant"
label="内部维护人"
width="146">
</el-table-column>
......@@ -63,11 +63,11 @@
<div class="btn btn_primary h28" @click="opennew"><div class="img img1"></div>新增联系人</div>
<el-pagination
background
:page-size="20"
:current-page="1"
:page-size="searchParam.pageSize"
:current-page="searchParam.pageNum"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="1000">
:total="total">
</el-pagination>
</div>
</div>
......@@ -77,33 +77,30 @@
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
<span>{{projectname}}</span>
</div>
<el-form class="popform" label-width="137px">
<el-form-item label="联系人姓名:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
<el-input type="text" v-model="queryParam.name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人角色:" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
<el-input type="text" v-model="queryParam.role" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人职位:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
<el-input type="text" v-model="queryParam.position" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人公司/机关:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
<el-input type="text" v-model="queryParam.office" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="内部维护人:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系方式:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
<el-input type="text" v-model="queryParam.phone" placeholder="请输入"></el-input>
</el-form-item>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">保存</div>
<div class="btn btn_primary h32" @click="save">保存</div>
</div>
</el-form>
</el-dialog>
......@@ -113,40 +110,68 @@
<script>
import "@/assets/styles/project.scss"
import {getLXR,editLXR,addLXR} from '@/api/project/project'
export default {
name: 'lxr',
data(){
return{
dialogVisible:false,
isnew:true,//是否新增
textarea:"",
nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
tableData: [
{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
tableData: [],
searchParam:{
pageNum:1,
pageSize:20,
businessId:this.$route.query.id
},
id:this.$route.query.id,
total:0,
projectname:this.$route.query.projectname,
queryParam:[],
}
},
created(){
this.getList()
},
methods:{
getDetail(item){
this.dialogVisible = true
this.queryParam = item
this.isnew = false
},
getList(){
getLXR(this.searchParam).then(result=>{
this.tableData = result.code == 200?result.rows:[]
this.total = result.code == 200?result.total:0
})
},
save(){
if(this.isnew == false){
editLXR(this.queryParam).then(result=>{
if(result.code == 200){
this.$message.success('保存成功!')
this.getList()
this.dialogVisible = false
}
})
}
if(this.isnew == true){
addLXR(this.queryParam).then(result=>{
if(result.code == 200){
this.$message.success('新增成功!')
this.getList()
this.dialogVisible = false
}
})
}
},
//翻页
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.searchParam.pageNum = val
this.getList()
},
cancel(){
this.dialogVisible = false
......@@ -154,6 +179,16 @@
//打开新建窗口
opennew(){
this.dialogVisible = true
this.isnew = true
this.queryParam = {
businessId:this.id,
name:"",
role:"",
office:"",
position:"",
phone:"",
accendant:"",
}
},
}
}
......
......@@ -22,7 +22,7 @@
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="p2">抱歉你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div>
</template>
......
......@@ -169,8 +169,12 @@
<script>
import "@/assets/styles/project.scss"
import {getDictType,} from '@/api/main'
import {} from '@/api/project/project'
export default {
name: 'xmsl',
props:{
datas:'',
},
data(){
return{
nowedit:-1,//当前正在编辑的文本
......@@ -178,10 +182,10 @@
tipsvalue:"",//标签填写内容
xmjd:'待添加',
projectStage:[],//项目阶段
sldata:this.datas,
}
},
created(){
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
......
......@@ -49,7 +49,7 @@
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="p2">抱歉你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div>
</template>
......
......@@ -103,7 +103,7 @@
</div>
</el-card>
<!--项目概览-->
<xmsl v-if="thistag == 'xmsl'"></xmsl>
<xmsl v-if="thistag == 'xmsl'" :datas="ProjectData"></xmsl>
<!--建设内容-->
<jsnr v-if="thistag == 'jsnr'"></jsnr>
<!--联系人-->
......@@ -132,6 +132,7 @@
import zlwd from './component/zlwd.vue'
import xgqy from './component/xgqy.vue'
import prvinceTree from '@/assets/json/provinceTree'
import {getXMSL} from '@/api/project/project'
export default {
name: 'detail',
components: {xmsl,jsnr,lxr,gjjl,gzdb,zlwd,xgqy},
......@@ -161,10 +162,13 @@
addressList:[],
domicile:[],
props:{ checkStrictly: true, expandTrigger: 'hover' },
id:'',
ProjectData:null,
}
},
created(){
this.prvinceTree()
this.id = this.$route.query.id
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
......@@ -177,6 +181,12 @@
getDictType('project_category').then(result=>{
this.projectCategory = result.code == 200 ? result.data:[]
})
//获取基本信息
getXMSL(this.id).then(result=>{
this.ProjectData = result.code==200?result.data:[]
this.$route.query.projectname = result.data.projectName
})
},
methods: {
//地区
......
This diff is collapsed.
This diff is collapsed.
......@@ -72,8 +72,8 @@
<div class="content_item content_item_padding0">
<div class="search-new">
<span>查询</span>
<span>重置</span>
<span @click="search()">查询</span>
<span @click="reset">重置</span>
</div>
</div>
......@@ -448,6 +448,12 @@
},
handleCurrentChange(val){
},
search(){
},
reset(){
}
}
}
......
......@@ -21,6 +21,9 @@
<Establishment v-if="personnelHerf=='Establishment'" />
<!-- 标讯pro -->
<bxprozbgg v-if="personnelHerf=='bxprozbgg'" />
<!-- 公招标讯 -->
<Tender v-if="personnelHerf=='Tender'" />
</div>
......@@ -30,10 +33,12 @@
import Land from "./components/Land/index.vue";
import Establishment from "./components/Establishment/index.vue";
import bxprozbgg from "./components/bxprozbgg/index.vue";
import Tender from "./components/Tender/index.vue";
import "@/assets/styles/public.css";
export default {
name: 'radar',
components: { debtProject,Land,Establishment,bxprozbgg },
components: { debtProject,Land,Establishment,bxprozbgg,Tender },
data() {
return {
// tablist
......@@ -68,7 +73,7 @@
},
{
key: 'KeyPersonnel',
key: 'Tender',
status: false,
value: '公招标讯',
......
......@@ -19,7 +19,7 @@ public class CustomerBusinessListVo implements Serializable {
/**
* 项目名称
*/
private String projcetName;
private String projectName;
/**
* 项目阶段
*/
......
......@@ -107,13 +107,13 @@ public class EnterpriseProjectService {
public TableDataInfo bidPlanPage(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidPlanPage", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidPlanPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map);
}
public R bidPlanDetail(Object body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseProject/bidPlanDetail", BeanUtil.beanToMap(body, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseProject/bidPlanDetail", BeanUtil.beanToMap(body, false, false));
Map data = MapUtils.getMap(map, "data", null);
String contentId = MapUtils.getString(data, "contentId");
if (ObjectUtil.isEmpty(contentId)) {
......
......@@ -2,16 +2,24 @@ package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.json.JSONUtil;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import com.dsk.system.service.ICustomerService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -29,6 +37,9 @@ public class EnterpriseService {
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
@Autowired
ICustomerService iCustomerService;
public R infoHeader(EnterpriseInfoHeaderBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
......@@ -136,4 +147,45 @@ public class EnterpriseService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/getUipId", params);
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo uipSerach(EnterpriseUipSearchBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/uipSerach", BeanUtil.beanToMap(body, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (200 != code) throw new RuntimeException();
Map data = MapUtils.getMap(map, "data", null);
List<Object> list = CommonUtils.assertAsArray(MapUtils.getObject(data, "list", ""));
if (CollectionUtils.isEmpty(list)) {
return new TableDataInfo(list, 0);
}
ArrayList<String> uipIds = new ArrayList<>();
for (Object dataMap : list) {
uipIds.add(MapUtils.getString(CommonUtils.assertAsMap(dataMap), "uipId"));
}
List<CustomerStatusListVo> claimStatusList = iCustomerService.selectStatusList(uipIds);
//按照城投企业id合并两个list
for (Object companyObj : list) {
Map<String, Object> companyMap = CommonUtils.assertAsMap(companyObj);
String uipId = MapUtils.getString(companyMap, "uipId");
if (CollectionUtils.isEmpty(claimStatusList)) {
companyMap.put("claimStatus", 0);
}
for (CustomerStatusListVo vo : claimStatusList) {
if (uipId.equals(vo.getUipId())) {
companyMap.put("claimStatus", 1);
}
}
}
return new TableDataInfo(list, MapUtils.getInteger(data, "totalCount", 0));
}
public R uipGroupData() throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/uipGroupData", null);
return BeanUtil.toBean(map, R.class);
}
}
package com.dsk.system.service;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto;
import com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto;
import com.dsk.common.dtos.OpRegionalEconomicDataV1Dto;
import com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto;
......@@ -39,7 +41,7 @@ public interface EconomicService {
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult statisticsRegional(OpRegionalEconomicDataV1Dto dto);
AjaxResult statisticsRegional(OpRegionalEconomicDataStatisticsRegionalDto dto);
/***
*@Description: 地区经济-分页列表
......@@ -48,7 +50,7 @@ public interface EconomicService {
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult regionalList(OpRegionalEconomicDataV1Dto dto);
AjaxResult regionalList(OpRegionalEconomicDataRegionalListDto dto);
/***
*@Description: 地区经济-分页列表
......
......@@ -76,6 +76,7 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
@Transactional(rollbackFor = Exception.class)
public boolean add(Customer customer) {
if (ObjectUtils.isEmpty(customer.getUipId())) {
try {
R res = enterpriseService.getUipId(customer.getCompanyName());
if (!ObjectUtils.isEmpty(res.getData())) {
......@@ -84,7 +85,7 @@ public class CustomerServiceImpl implements ICustomerService {
} catch (Exception e) {
log.error("获取城投平台企业id错误!error:{}", e.getMessage());
}
}
Long userId = SecurityUtils.getUserId();
customer.setCreateId(userId);
customer.setUpdateId(userId);
......
......@@ -2,6 +2,8 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.dtos.OpRegionalEconomicDataRegionalListDto;
import com.dsk.common.dtos.OpRegionalEconomicDataStatisticsRegionalDto;
import com.dsk.common.dtos.OpRegionalEconomicDataV1Dto;
import com.dsk.common.dtos.OpRegionalEconomicDataV1PageDto;
import com.dsk.common.utils.DskOpenApiUtil;
......@@ -40,13 +42,13 @@ public class EconomicServiceImpl implements EconomicService {
}
@Override
public AjaxResult statisticsRegional(OpRegionalEconomicDataV1Dto dto) {
public AjaxResult statisticsRegional(OpRegionalEconomicDataStatisticsRegionalDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/economic/statistics/regional", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult regionalList(OpRegionalEconomicDataV1Dto dto) {
public AjaxResult regionalList(OpRegionalEconomicDataRegionalListDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/economic/regional/list", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
......
......@@ -43,7 +43,7 @@
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId} and ct.uip_id in
<foreach collection="uipIds" item="uipId" open="(" separator="," close=",">
<foreach collection="uipIds" item="uipId" open="(" separator="," close=")">
#{uipId}
</foreach>
</select>
......
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