Commit 057141bc authored by lixiaolei's avatar lixiaolei

Merge remote-tracking branch 'origin/master'

parents bee72f67 6c71d977
...@@ -45,12 +45,6 @@ public class EnterpriseController { ...@@ -45,12 +45,6 @@ public class EnterpriseController {
return enterpriseService.bidDataGroup(vo); return enterpriseService.bidDataGroup(vo);
} }
@ApiOperation(value = "供应商列表(建设库)")
@PostMapping(value = "supplierPage")
public R supplierPage(@RequestBody @Valid EnterpriseSupplierPageBody vo) throws Exception {
return enterpriseService.supplierPage(vo);
}
@ApiOperation(value = "甲方业绩数据(openApi)") @ApiOperation(value = "甲方业绩数据(openApi)")
@PostMapping(value = "projectTenderDataGroup") @PostMapping(value = "projectTenderDataGroup")
public R projectTenderDataGroup(@RequestBody @Valid EnterpriseProjectTenderDataGroupBody vo) throws Exception { public R projectTenderDataGroup(@RequestBody @Valid EnterpriseProjectTenderDataGroupBody vo) throws Exception {
...@@ -75,30 +69,6 @@ public class EnterpriseController { ...@@ -75,30 +69,6 @@ public class EnterpriseController {
return enterpriseService.affiliates(vo); return enterpriseService.affiliates(vo);
} }
@ApiOperation(value = "招标公告列表(建设库)")
@PostMapping(value = "bidNoticePage")
public R bidNoticePage(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticePage(vo);
}
@ApiOperation(value = "招标公告省份(建设库)")
@PostMapping(value = "bidNoticeProvince")
public R bidNoticeProvince(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticeProvince(vo);
}
@ApiOperation(value = "招标公告信息类型(建设库)")
@PostMapping(value = "bidNoticeTenderStage")
public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticeTenderStage(vo);
}
@ApiOperation(value = "招标公告详情(建设库)")
@PostMapping(value = "bidNoticeDeatil")
public R bidNoticeDeatil(@RequestBody @Valid EnterpriseBidNoticeDetailBody vo) throws Exception {
return enterpriseService.bidNoticeDeatil(vo);
}
@ApiOperation(value = "企业动态列表(建设库)") @ApiOperation(value = "企业动态列表(建设库)")
@PostMapping(value = "dynamicPage") @PostMapping(value = "dynamicPage")
public TableDataInfo dynamicPage(@RequestBody @Valid EnterpriseDynamicPageBody vo) throws Exception { public TableDataInfo dynamicPage(@RequestBody @Valid EnterpriseDynamicPageBody vo) throws Exception {
...@@ -129,4 +99,10 @@ public class EnterpriseController { ...@@ -129,4 +99,10 @@ public class EnterpriseController {
return enterpriseService.bestStockPage(vo); return enterpriseService.bestStockPage(vo);
} }
@ApiOperation(value = "财务简析(openApi)")
@PostMapping(value = "financial")
public R financial(@RequestBody @Valid EnterpriseFinancialBody vo) throws Exception {
return enterpriseService.financial(vo);
}
} }
...@@ -83,6 +83,12 @@ public class EnterpriseProjectController { ...@@ -83,6 +83,12 @@ public class EnterpriseProjectController {
return enterpriseProjectService.specialDebtProjectDetail(body); return enterpriseProjectService.specialDebtProjectDetail(body);
} }
@ApiOperation(value = "专项债列表")
@RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST)
public TableDataInfo specialDebtPage(@RequestBody @Valid Object body) throws Exception {
return enterpriseProjectService.specialDebtPage(body);
}
@ApiOperation(value = "招标公告列表") @ApiOperation(value = "招标公告列表")
@RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST) @RequestMapping(value = "/bidNoticePage",method = RequestMethod.POST)
public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception { public TableDataInfo bidNoticePage(@RequestBody @Valid EnterpriseProjectBidNoticePageBody body) throws Exception {
......
...@@ -26,7 +26,7 @@ public class CompanySearchController { ...@@ -26,7 +26,7 @@ public class CompanySearchController {
*/ */
@RequestMapping("/index") @RequestMapping("/index")
public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) { public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.enterprisePage(compose); return opportunityRadarService.enterpriseIndex(compose);
} }
/* /*
...@@ -36,4 +36,12 @@ public class CompanySearchController { ...@@ -36,4 +36,12 @@ public class CompanySearchController {
public AjaxResult findByName(@PathVariable String keyword) { public AjaxResult findByName(@PathVariable String keyword) {
return opportunityRadarService.enterpriseByName(keyword); return opportunityRadarService.enterpriseByName(keyword);
} }
/*
* 完全匹配企业名称
*/
@GetMapping("/page")
public AjaxResult page(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.enterprisePage(compose);
}
} }
...@@ -18,10 +18,12 @@ public interface BusinessOpportunityRadarService { ...@@ -18,10 +18,12 @@ public interface BusinessOpportunityRadarService {
AjaxResult landMarketPage(ComposeQueryDto compose); AjaxResult landMarketPage(ComposeQueryDto compose);
AjaxResult establishmentPage(ComposeQueryDto compose); AjaxResult establishmentPage(ComposeQueryDto compose);
AjaxResult enterprisePage(ComposeQueryDto compose); AjaxResult enterpriseIndex(ComposeQueryDto compose);
AjaxResult enterpriseByName(String keyword); AjaxResult enterpriseByName(String keyword);
AjaxResult enterprisePage(ComposeQueryDto compose);
AjaxResult bondProjectPage(ComposeQueryDto compose); AjaxResult bondProjectPage(ComposeQueryDto compose);
AjaxResult jskBidPlanPage(ComposeQueryDto compose); AjaxResult jskBidPlanPage(ComposeQueryDto compose);
......
...@@ -51,11 +51,18 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR ...@@ -51,11 +51,18 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
} }
@Override @Override
public AjaxResult enterprisePage(ComposeQueryDto compose) { public AjaxResult enterpriseIndex(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override
public AjaxResult enterprisePage(ComposeQueryDto compose) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page", BeanUtil.beanToMap(compose, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override @Override
public AjaxResult enterpriseByName(String keyword){ public AjaxResult enterpriseByName(String keyword){
Map<String,Object> params = new HashMap<>(); Map<String,Object> params = new HashMap<>();
......
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseFinancialBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
}
...@@ -12,4 +12,9 @@ import lombok.Data; ...@@ -12,4 +12,9 @@ import lombok.Data;
*/ */
@Data @Data
public class SpecialBondInformationPageDto extends BasePage { public class SpecialBondInformationPageDto extends BasePage {
/**
* 专项债券唯一标识
*/
private String specialBondUuid;
} }
...@@ -56,4 +56,18 @@ public class UrbanInvestmentPlatformDto extends BasePage { ...@@ -56,4 +56,18 @@ public class UrbanInvestmentPlatformDto extends BasePage {
* 区 * 区
*/ */
private Integer areaId; private Integer areaId;
/**
* 关键词
*/
private String keyword;
/**
* 排序字段
*/
private String field;
/**
* 字段 desc asc
*/
private String order;
} }
...@@ -32,7 +32,8 @@ public class DskOpenApiUtil { ...@@ -32,7 +32,8 @@ public class DskOpenApiUtil {
} }
public Map<String,Object> requestBodyLocal(String path, Map<String, Object> bodyMap){ public Map<String,Object> requestBodyLocal(String path, Map<String, Object> bodyMap){
return JSONUtil.toBean(HttpUtil.post("http://127.0.0.1:8766"+path, JSONUtil.toJsonStr(bodyMap)), JSONConfig.create().setIgnoreNullValue(true), Map.class); String post = HttpUtil.post("http://127.0.0.1:8766" + path, JSONUtil.toJsonStr(bodyMap));
return CommonUtils.assertAsMap(CommonUtils.parseJSON(post));
} }
public Map<String,Object> requestBodyWithHeader(String path, Map<String, Object> bodyMap, Map<String, String> headerMap){ public Map<String,Object> requestBodyWithHeader(String path, Map<String, Object> bodyMap, Map<String, String> headerMap){
......
import request from '@/utils/request'
// 合作情况列表
export function getList(data) {
return request({
url: '/customer/business/list',
method: 'get',
params:data
})
}
...@@ -17,3 +17,4 @@ export function addChain(data) { ...@@ -17,3 +17,4 @@ export function addChain(data) {
data:data data:data
}) })
} }
import request from '@/utils/request'
//新增项目
export function addProject(param) {
return request({
url: '/business/info/add',
method: 'POST',
data: param
})
}
//商机列表
export function getProjectlist(param) {
return request({
url: '/business/info/list',
method: 'GET',
params: param
})
}
...@@ -306,7 +306,7 @@ select { ...@@ -306,7 +306,7 @@ select {
.el-dropdown-land .el-icon-caret-bottom { .el-dropdown-land .el-icon-caret-bottom {
color: #333333; color: #333333;
margin-left: 4px; margin-left: 2px;
} }
.land_date_picker { .land_date_picker {
......
...@@ -7,7 +7,8 @@ const user = { ...@@ -7,7 +7,8 @@ const user = {
name: '', name: '',
avatar: '', avatar: '',
roles: [], roles: [],
permissions: [] permissions: [],
userId:'',
}, },
mutations: { mutations: {
...@@ -25,6 +26,9 @@ const user = { ...@@ -25,6 +26,9 @@ const user = {
}, },
SET_PERMISSIONS: (state, permissions) => { SET_PERMISSIONS: (state, permissions) => {
state.permissions = permissions state.permissions = permissions
},
SET_USERID: (state, userId) => {
state.userId = userId
} }
}, },
...@@ -60,6 +64,7 @@ const user = { ...@@ -60,6 +64,7 @@ const user = {
} }
commit('SET_NAME', user.userName) commit('SET_NAME', user.userName)
commit('SET_AVATAR', avatar) commit('SET_AVATAR', avatar)
commit('SET_USERID', user.userId)
resolve(res) resolve(res)
}).catch(error => { }).catch(error => {
reject(error) reject(error)
......
...@@ -283,7 +283,7 @@ ...@@ -283,7 +283,7 @@
<script> <script>
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import {getCustomerList,importData} from '@/api/custom/custom' import {getCustomerList,importData,addCustomer} from '@/api/custom/custom'
import {getEnterprise,getDictType,} from '@/api/main' import {getEnterprise,getDictType,} from '@/api/main'
import prvinceTree from '@/assets/json/provinceTree' import prvinceTree from '@/assets/json/provinceTree'
import axios from 'axios' import axios from 'axios'
...@@ -428,7 +428,7 @@ export default { ...@@ -428,7 +428,7 @@ export default {
list.push(item.cityId) list.push(item.cityId)
if(item.districtId != null && item.districtId != "") if(item.districtId != null && item.districtId != "")
list.push(item.districtId) list.push(item.districtId)
this.address = list this.queryParam.address = list
this.queryParam.registerAddress = item.registerAddress this.queryParam.registerAddress = item.registerAddress
this.showlist = false this.showlist = false
}, },
...@@ -441,24 +441,33 @@ export default { ...@@ -441,24 +441,33 @@ export default {
} }
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (valid) { if (valid) {
addCustomer(this.queryParam).then(result=>{
if(result.code == 200){
this.$message.success('添加成功!')
this.dialogVisible = false
this.handleCurrentChange(1)
this.resetForm('ruleForm')
}else{
this.$message.error(result.msg)
}
})
} else { } else {
} }
}); });
}, },
resetForm(formName) { resetForm(formName) {
this.queryParam = { this.queryParam = {
companyId:'',//jsk企业id companyId:'',//jsk企业id
companyName:'',//客户名称(企业名称 companyName:'',//客户名称(企业名称
customerLevel:'',//客户等级 customerLevel:'',//客户等级
legalPerson:'',//法定代表人 legalPerson:'',//法定代表人
registerCapital:'',//注册资本 registerCapital:'',//注册资本
registerAddress:'',//企业注册地址 registerAddress:'',//企业注册地址
creditCode:'',//社会统一信用代码 creditCode:'',//社会统一信用代码
address:'',//选择的地址 address:'',//选择的地址
provinceId:'', provinceId:'',
cityId:'', cityId:'',
districtId:'', districtId:'',
}, },
this.dialogVisible = false this.dialogVisible = false
this.showlist = false this.showlist = false
......
...@@ -149,8 +149,6 @@ export default { ...@@ -149,8 +149,6 @@ export default {
{name:'其他单位',sum:'44',point:'21%'}, {name:'其他单位',sum:'44',point:'21%'},
], ],
datatype:'1',//切换类型 datatype:'1',//切换类型
dtdata:[],//数据
dttime:[],//坐标
datalist:[ datalist:[
{name:'重庆市江北区国有资本投资运营管理集团有限公司',time:'2023-05-30',text:'新增招标公告:【江北房地产综合开发公司名下不动产鲤鱼池片区资产评估项目】 公开选取【资产评估】机构的公告',tip1:'正向',tip2:'招标公告'}, {name:'重庆市江北区国有资本投资运营管理集团有限公司',time:'2023-05-30',text:'新增招标公告:【江北房地产综合开发公司名下不动产鲤鱼池片区资产评估项目】 公开选取【资产评估】机构的公告',tip1:'正向',tip2:'招标公告'},
{name:'上海城投(集团)有限公司',time:'2023-05-29',text:'新增招标公告:北横通道新建工程——机电、装饰工程Ⅱ标段',tip1:'正向',tip2:'招标公告'}, {name:'上海城投(集团)有限公司',time:'2023-05-29',text:'新增招标公告:北横通道新建工程——机电、装饰工程Ⅱ标段',tip1:'正向',tip2:'招标公告'},
...@@ -404,8 +402,6 @@ export default { ...@@ -404,8 +402,6 @@ export default {
default: default:
break; break;
} }
this.dtdata = datas
this.dttime = labels
this.initDT(datas,labels) this.initDT(datas,labels)
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
<div class="cooperate"> <div class="cooperate">
<template v-if="ifEmpty"> <template v-if="ifEmpty">
<head-form <head-form
:form-data="formData" :form-data="formData"
:query-params="queryParams" :query-params="queryParams"
...@@ -136,6 +135,10 @@ ...@@ -136,6 +135,10 @@
<script> <script>
import mixin from '../mixins/mixin' import mixin from '../mixins/mixin'
import {getDictType,} from '@/api/main'
import {
getList
} from '@/api/detail/party-a/cooperate'
export default { export default {
name: 'Cooperate', name: 'Cooperate',
mixins: [mixin], mixins: [mixin],
...@@ -146,7 +149,7 @@ export default { ...@@ -146,7 +149,7 @@ export default {
return { return {
ifEmpty:true, ifEmpty:true,
queryParams: { queryParams: {
cid: 6034, customerId: 6034,
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
...@@ -157,23 +160,9 @@ export default { ...@@ -157,23 +160,9 @@ export default {
{label: '项目状态', prop: 'fileNum', width: '90'} {label: '项目状态', prop: 'fileNum', width: '90'}
], ],
formData: [ formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '项目阶段', { type: 1, fieldName: 'projectStage', value: '', placeholder: '项目阶段', options: []},
options: [ { type: 1, fieldName: 'status', value: '', placeholder: '项目状态', options: []},
{ name: '项目阶段', value: '1' }, { type: 3, fieldName: 'keys', value: '', placeholder: '输入企业名称查询'},
{ name: '项目阶段', value: '2' },
{ name: '项目阶段', value: '3' },
{ name: '项目阶段', value: '4' }
]
},
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '项目状态',
options: [
{ name: '项目状态', value: '1' },
{ name: '项目状态', value: '2' },
{ name: '项目状态', value: '3' },
{ name: '项目状态', value: '4' }
]
},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入企业名称查询', options: []},
], ],
stageOptions:[], stageOptions:[],
statusOptions:[], statusOptions:[],
...@@ -189,25 +178,40 @@ export default { ...@@ -189,25 +178,40 @@ export default {
} }
}, },
created() { created() {
this.list()
//项目阶段
this.handleOptions('project_stage_type',0)
//项目状态
this.handleOptions('project_status_type',1)
}, },
computed: { computed: {
}, },
methods: { methods: {
resetQuery() { handleQuery(params) {
this.list(params)
}, },
//分页 list(params){
handleCurrentChange(e){ let data = params ? params : this.queryParams
getList(data).then(res=>{
}, console.log(res)
handleSizeChange(e){ })
}, },
//弹窗 //弹窗
handleClose(done) { handleClose(done) {
this.drawer = false this.drawer = false
},
handleOptions(name,index){
getDictType(name).then(res=>{
if(res.code == 200 && res.data){
for(var i=0;i<res.data.length;i++){
this.formData[index].options.push({
name:res.data[i].dictLabel,
value:res.data[i].dictValue
})
}
}
})
} }
} }
} }
......
...@@ -33,44 +33,35 @@ ...@@ -33,44 +33,35 @@
<!-- 弹窗添加联系人 --> <!-- 弹窗添加联系人 -->
<el-dialog <el-dialog
class="popups" class="popups1"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="464px"> width="464px">
<div class="poptitle"> <div class="poptitle">
<img src="@/assets/images/economies/icon.png"> <img src="@/assets/images/economies/icon.png">
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span> <span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
</div> </div>
<el-form class="popform" label-width="137px"> <el-form :model="addRorm" :rules="addRules" ref="addRorm" class="popform" label-width="75px">
<div class="row"> <el-form-item label="姓名:" prop="name">
<span class="left">联系人姓名:</span> <el-input v-model="addRorm.name" placeholder="请输入"></el-input>
<el-input type="text" placeholder="请输入"></el-input> </el-form-item>
</div> <el-form-item label="角色:" prop="role">
<div class="row"> <el-input v-model="addRorm.role" placeholder="请输入"></el-input>
<span class="left">联系人角色:</span> </el-form-item>
<el-select placeholder="请选择"> <el-form-item label="职位:" prop="workUnit">
<el-option label="cccc" value="11"></el-option> <el-input v-model="addRorm.workUnit" placeholder="请输入"></el-input>
<el-option label="cccc" value="121"></el-option> </el-form-item>
</el-select> <el-form-item label="公司/机关:" prop="position">
</div> <el-input v-model="addRorm.position" placeholder="请输入"></el-input>
<div class="row"> </el-form-item>
<span class="left">联系人职位:</span> <el-form-item label="联系方式:" prop="contactInformation">
<el-input type="text" placeholder="请输入"></el-input> <el-input v-model="addRorm.contactInformation" placeholder="请输入"></el-input>
</div> </el-form-item>
<div class="row"> <el-form-item label="备注:" prop="remark">
<span class="left">联系人公司/机关:</span> <el-input v-model="addRorm.remark" placeholder="请输入"></el-input>
<el-input type="text" placeholder="请输入"></el-input> </el-form-item>
</div>
<div class="row">
<span class="left">内部维护人:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系方式:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="popbot"> <div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div> <div class="btn btn_cancel h32" @click="cancel('addRorm')">返回</div>
<div class="btn btn_primary h32">保存</div> <div class="btn btn_primary h32" @click="add('addRorm')">保存</div>
</div> </div>
</el-form> </el-form>
</el-dialog> </el-dialog>
...@@ -79,11 +70,11 @@ ...@@ -79,11 +70,11 @@
</template> </template>
<script> <script>
import Tables from "../component/Tables"
import { import {
getList, getList,
addChain addChain
} from '@/api/decisionMaking/decisionMaking' } from '@/api/detail/party-a/decisionMaking'
import Tables from "../component/Tables"
export default { export default {
name: 'DecisionMaking', name: 'DecisionMaking',
components: { components: {
...@@ -93,7 +84,7 @@ export default { ...@@ -93,7 +84,7 @@ export default {
return { return {
ifEmpty:true, ifEmpty:true,
queryParams:{ queryParams:{
customerId:null, customerId:6034,
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
}, },
...@@ -106,6 +97,20 @@ export default { ...@@ -106,6 +97,20 @@ export default {
{label: '内部维护人', prop: 'office', width: '88'}, {label: '内部维护人', prop: 'office', width: '88'},
{label: '备注', prop: 'dataId'}, {label: '备注', prop: 'dataId'},
], ],
addRorm: {
customerId:'',
name:'',
role:'',
workUnit:'',
position:'',
contactInformation:'',
remark:'',
},
addRules:{
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
},
stageOptions:[], stageOptions:[],
statusOptions:[], statusOptions:[],
//列表 //列表
...@@ -129,18 +134,23 @@ export default { ...@@ -129,18 +134,23 @@ export default {
getList(this.queryParams).then((res) => { getList(this.queryParams).then((res) => {
console.log(res) console.log(res)
}) })
},
resetQuery() {
}, },
//分页 //分页
handleCurrentChange(e){ handleCurrentChange(e){
console.log(e) console.log(e)
}, },
handleSizeChange(e){ add(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
this.addRorm.customerId = 11
addChain(this.addRorm).then((res) => {
console.log(res)
})
}
});
}, },
cancel(){ cancel(formName){
this.$refs[formName].resetFields();
this.dialogVisible = false this.dialogVisible = false
}, },
//打开新建窗口 //打开新建窗口
...@@ -159,7 +169,12 @@ export default { ...@@ -159,7 +169,12 @@ export default {
border: 1px solid #EFEFEF; border: 1px solid #EFEFEF;
} }
::v-deep .el-form-item{ ::v-deep .el-form-item{
margin-right: 8px !important; margin-bottom: 16px;
}
::v-deep .el-input__inner{
border-radius: 2px 0 2px 0;
height: 32px;
line-height: 32px;
} }
.cooperate-name{ .cooperate-name{
::v-deep .el-form-item__content{ ::v-deep .el-form-item__content{
...@@ -175,10 +190,7 @@ export default { ...@@ -175,10 +190,7 @@ export default {
cursor: pointer; cursor: pointer;
} }
} }
::v-deep .el-input__inner{
border-right: 0;
border-radius: 2px 0 2px 0;
}
} }
.query-add{ .query-add{
button{ button{
...@@ -231,7 +243,7 @@ export default { ...@@ -231,7 +243,7 @@ export default {
margin-top: 10px; margin-top: 10px;
} }
// 弹窗 // 弹窗
.popups{ .popups1{
.poptitle { .poptitle {
line-height: 48px; line-height: 48px;
border-bottom: 1px solid #E1E1E1; border-bottom: 1px solid #E1E1E1;
...@@ -257,8 +269,14 @@ export default { ...@@ -257,8 +269,14 @@ export default {
text-overflow: ellipsis; text-overflow: ellipsis;
} }
} }
::v-deep .el-dialog__body{
padding: 24px 24px 18px;
}
.popform { .popform {
padding-top: 24px; padding-top: 14px;
::v-deep .el-form-item__label{
padding:0;
}
.row { .row {
padding-bottom: 16px; padding-bottom: 16px;
.left { .left {
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<!-- 决策链条 --> <!-- 决策链条 -->
<DecisionMaking v-if="currentPath.pathName=='decisionMaking'" /> <DecisionMaking v-if="currentPath.pathName=='decisionMaking'" />
<!-- 跟进记录 --> <!-- 跟进记录 -->
<Gjjl v-if="currentPath.pathName=='gjjl'" /> <Gjjl v-if="currentPath.pathName=='gjjl'" types="gjdt" />
</div> </div>
</div> </div>
</div> </div>
......
<template>
<el-dialog
class="popups"
width="534px"
:visible.sync="isshow"
@close="resetForm('ruleForm')"
>
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<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">
<el-input type="text" placeholder="请输入" v-model="queryParam.projectName"></el-input>
</el-form-item>
<el-form-item label="业主单位:" class="row" prop="ownerCompany">
<el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany"></el-input>
<div class="resultlist" v-if="showlist">
<div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div>
</div>
</el-form-item>
<el-form-item label="项目阶段:" class="row">
<el-select placeholder="请选择" v-model="queryParam.projectStage">
<el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目类型:" class="row">
<el-select placeholder="请选择" v-model="queryParam.projectType">
<el-option v-for="(item,index) in projectType" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目类别:" class="row">
<el-select placeholder="请选择" v-model="queryParam.projectCategory">
<el-option v-for="(item,index) in projectCategory" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
<el-form-item label="投资估算:" class="row">
<el-input type="text" placeholder="请输入金额" @input="number" v-model="queryParam.investmentAmount"></el-input>
</el-form-item>
<el-form-item label="可见范围:" class="row">
<el-select placeholder="请选择" v-model="queryParam.isPrivate">
<el-option v-for="(item,index) in Privatelist" :key="index" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<div class="popbot">
<div class="wordprimary">前往商机雷达寻找项目线索></div>
<div class="btn btn_cancel h32" @click="resetForm('ruleForm')">返回</div>
<div class="btn btn_primary h32" @click="submitForm('ruleForm')">新建商机</div>
</div>
</el-form>
</el-dialog>
</template>
<script>
import {getEnterprise,getDictType,} from '@/api/main'
import {addProject} from '@/api/project/project'
export default {
name: 'addProject',
data(){
return{
Privatelist:[
{
value:0,
label:'仅自己可见'
},{
value:1,
label:'他人可见'
}
],//可见范围
isshow:true,
queryParam:{
userId:'',//用户id
projectName:'',// 项目名称
companyId:'',//企业id
ownerCompany:'',//业主单位
projectStage:'',//项目阶段
projectType:'',//项目类型
projectCategory:'',//项目类别
investmentAmount:'',//投资估算
isPrivate:0,//可见范围(0 仅自己可见,1 他人可见)
},
rules:{
projectName:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
ownerCompany:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
},
showlist:false,
companData:[],//联想企业列表
projectStage:[],//项目阶段
projectType:[],//项目类型
projectCategory:[],//项目类别
}
},
mounted(){
},
created(){
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
})
//项目类型
getDictType('project_type').then(result=>{
this.projectType = result.code == 200 ? result.data:[]
})
//项目类别
getDictType('project_category').then(result=>{
this.projectCategory = result.code == 200 ? result.data:[]
})
},
methods:{
//获取建设库客户
getCompany(value){
if (value.length>=2){
let param = {
keyword:value,
page:{
limit:20,
page:1
}
}
getEnterprise(JSON.stringify(param)).then(result=>{
if(result.code != 200)
return
this.showlist = true
this.companData = result.data.list
})
}
},
selCompany(item){
this.queryParam.companyId = item.jskEid
this.queryParam.ownerCompany = item.name.replace(/<[^>]+>/g, '')
this.showlist = false
},
//添加客户
submitForm(formName) {
this.queryParam.userId = this.$store.state.user.userId
this.$refs[formName].validate((valid) => {
if (valid) {
addProject(this.queryParam).then(result=>{
if(result.code == 200){
this.$message.success('添加成功!')
this.resetForm('ruleForm')
this.$emit('addproject')
}else{
this.$message.error(result.msg)
}
})
} else {
}
});
},
resetForm(formName) {
this.queryParam = {
projectName:'',// 项目名称
companyId:'',//企业id
ownerCompany:'',//业主单位
projectStage:'',//项目阶段
projectType:'',//项目类型
projectCategory:'',//项目类别
investmentAmount:'',//投资估算
isPrivate:0,//可见范围(0 仅自己可见,1 他人可见)
},
this.showlist = false
this.$emit("cancel",false)
},
//输入数字
number(value){
this.queryParam.investmentAmount = value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')//输入2位小数
}
}
}
</script>
<style scoped>
.wordprimary{
display: inline;
padding-right: 26px;
}
.btn_primary{
padding: 0;
}
</style>
...@@ -51,10 +51,11 @@ ...@@ -51,10 +51,11 @@
</div> </div>
</div> </div>
<div class="rec_con"> <div class="rec_con">
<div><strong>{{name}}</strong> <span v-if="item.visitMode">({{item.visitMode}})</span></div> <div><strong>{{item.nickName}}</strong> <span v-if="item.visitMode">({{item.visitMode}})</span></div>
<div><span>{{item.content}}</span></div> <div><span>{{item.content}}</span></div>
<div class="rec_text"> <div class="rec_text">
<span>拜访对象:{{item.name||'--'}}</span> <span>拜访对象:{{item.name||'--'}}</span>
<span v-if="showtype == 'gjdt'">关联企业:{{item.companyName||'--'}}</span>
<span>职位:{{item.position||'--'}}</span> <span>职位:{{item.position||'--'}}</span>
<span>拜访时间:{{item.createTime && item.createTime.slice(0, 10)}}</span> <span>拜访时间:{{item.createTime && item.createTime.slice(0, 10)}}</span>
<span>下次拜访时间:{{item.nextVisitTime == null?'--': item.createTime.slice(0, 10)}}</span> <span>下次拜访时间:{{item.nextVisitTime == null?'--': item.createTime.slice(0, 10)}}</span>
...@@ -89,7 +90,6 @@ ...@@ -89,7 +90,6 @@
</template> </template>
<script> <script>
import { mapGetters } from 'vuex'
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import {getFollowList,addFollowRecord,getUserList,delFollowRecord} from '@/api/custom/custom' import {getFollowList,addFollowRecord,getUserList,delFollowRecord} from '@/api/custom/custom'
import {getEnterprise,getDictType,} from '@/api/main' import {getEnterprise,getDictType,} from '@/api/main'
...@@ -126,9 +126,6 @@ ...@@ -126,9 +126,6 @@
} }
}, },
computed: { computed: {
...mapGetters([
'name'
])
}, },
created(){ created(){
//获取拜访方式 //获取拜访方式
......
...@@ -53,12 +53,12 @@ ...@@ -53,12 +53,12 @@
<p> <p>
<label class="label">项目名称</label> <label class="label">项目名称</label>
<span class="span-one">1.36倍</span> <span class="span-one">1.36倍</span>
</p> </p>
<p> <p>
<label class="label">项目位置</label> <label class="label">项目位置</label>
<span class="span-one">1.36倍</span> <span class="span-one">1.36倍</span>
</p> </p>
<p> <p>
<label class="label">面积</label> <label class="label">面积</label>
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
</p> </p>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
...@@ -519,7 +519,8 @@ ...@@ -519,7 +519,8 @@
padding-left: 12px; padding-left: 12px;
font-size: 12px; font-size: 12px;
} }
.span-one{
.span-one {
width: 90%; width: 90%;
} }
......
...@@ -13,8 +13,12 @@ ...@@ -13,8 +13,12 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 企业专项债 -->
<debtProject v-if="personnelHerf=='debtProject'" /> <debtProject v-if="personnelHerf=='debtProject'" />
<!-- 土地交易 -->
<Land v-if="personnelHerf=='Land'" /> <Land v-if="personnelHerf=='Land'" />
<!-- 拟建项目 -->
<Establishment v-if="personnelHerf=='Establishment'" />
</div> </div>
...@@ -22,10 +26,11 @@ ...@@ -22,10 +26,11 @@
<script> <script>
import debtProject from "./components/debtProject/index.vue"; import debtProject from "./components/debtProject/index.vue";
import Land from "./components/Land/index.vue"; import Land from "./components/Land/index.vue";
import Establishment from "./components/Establishment/index.vue";
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
export default { export default {
name: 'radar', name: 'radar',
components: { debtProject,Land }, components: { debtProject,Land,Establishment },
data() { data() {
return { return {
// tablist // tablist
...@@ -42,7 +47,7 @@ ...@@ -42,7 +47,7 @@
}, },
{ {
key: 'KeyPersonnel', key: 'Establishment',
status: false, status: false,
value: '拟建项目', value: '拟建项目',
......
...@@ -28,97 +28,97 @@ public class EnterpriseCreditService { ...@@ -28,97 +28,97 @@ public class EnterpriseCreditService {
public TableDataInfo penalizePage(EnterpriseCreditPenalizePageBody body) throws Exception { public TableDataInfo penalizePage(EnterpriseCreditPenalizePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/penalizePage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/penalizePage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R penalizeReasonType(EnterpriseCreditPenalizeReasonTypeBody body) throws Exception { public R penalizeReasonType(EnterpriseCreditPenalizeReasonTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/penalizeReasonType", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/penalizeReasonType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo abnormalPage(EnterpriseCreditAbnormalPageBody body) throws Exception { public TableDataInfo abnormalPage(EnterpriseCreditAbnormalPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/abnormalPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/abnormalPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R abnormalYears(EnterpriseCreditAbnormalYearsBody body) throws Exception { public R abnormalYears(EnterpriseCreditAbnormalYearsBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/abnormalYears", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/abnormalYears", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo executedPersonsPage(EnterpriseCreditExecutedPersonsPageBody body) throws Exception { public TableDataInfo executedPersonsPage(EnterpriseCreditExecutedPersonsPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/executedPersonsPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedPersonsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo executedPage(EnterpriseCreditExecutedPageBody body) throws Exception { public TableDataInfo executedPage(EnterpriseCreditExecutedPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/executedPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public TableDataInfo lawsuitsPage(EnterpriseCreditLawsuitsPageBody body) throws Exception { public TableDataInfo lawsuitsPage(EnterpriseCreditLawsuitsPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R lawsuitsCauseAction(EnterpriseCreditLawsuitsCauseActionBody body) throws Exception { public R lawsuitsCauseAction(EnterpriseCreditLawsuitsCauseActionBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsCauseAction", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R lawsuitsRole(EnterpriseCreditLawsuitsRoleBody body) throws Exception { public R lawsuitsRole(EnterpriseCreditLawsuitsRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/lawsuitsRole", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo noticesPage(EnterpriseCreditNoticePageBody body) throws Exception { public TableDataInfo noticesPage(EnterpriseCreditNoticePageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R noticesType(EnterpriseCreditNoticeTypeBody body) throws Exception { public R noticesType(EnterpriseCreditNoticeTypeBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesType", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesType", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R noticesRole(EnterpriseCreditNoticeRoleBody body) throws Exception { public R noticesRole(EnterpriseCreditNoticeRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesRole", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R noticesCaseReason(EnterpriseCreditNoticeCaseReasonBody body) throws Exception { public R noticesCaseReason(EnterpriseCreditNoticeCaseReasonBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/noticesCaseReason", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesCaseReason", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public TableDataInfo kaitingPage(EnterpriseCreditKaitingPageBody body) throws Exception { public TableDataInfo kaitingPage(EnterpriseCreditKaitingPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R kaitingCauseAction(EnterpriseCreditKaitingCauseActionBody body) throws Exception { public R kaitingCauseAction(EnterpriseCreditKaitingCauseActionBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingCauseAction", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingCauseAction", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R kaitingPureRole(EnterpriseCreditKaitingPureRoleBody body) throws Exception { public R kaitingPureRole(EnterpriseCreditKaitingPureRoleBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBodyLocal("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaitingPureRole", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
} }
...@@ -123,4 +123,9 @@ public class EnterpriseService { ...@@ -123,4 +123,9 @@ public class EnterpriseService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
public R financial(EnterpriseFinancialBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financial", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
} }
...@@ -262,10 +262,10 @@ ...@@ -262,10 +262,10 @@
<select id="selectCustomerBusinessList" resultType="com.dsk.system.domain.customer.vo.CustomerBusinessListVo"> <select id="selectCustomerBusinessList" resultType="com.dsk.system.domain.customer.vo.CustomerBusinessListVo">
select select
bi.id, bi.project_name, pi.investment_amount, pi.project_stage, pi.status bi.id, bi.project_name, pi.investment_amount, bi.project_stage, bi.status
from business_info bi from business_info bi
left join business_user bu on bi.id = bu.business_id left join business_user bu on bi.id = bu.business_id
where bi.customer_id = #{customerId} and (bu.user_id = #{userId} or bi.is_private = 1)) where bi.customer_id = #{customerId} and (bu.user_id = #{userId} or bi.is_private = 1)
<if test="projectStage != null and projectStage != '' "> and bi.project_stage = #{projectStage}</if> <if test="projectStage != null and projectStage != '' "> and bi.project_stage = #{projectStage}</if>
<if test="status != null "> and bi.status = #{status}</if> <if test="status != null "> and bi.status = #{status}</if>
order by bi.create_time desc order by bi.create_time desc
......
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