Commit 4734e3c6 authored by dengguangman's avatar dengguangman

Merge remote-tracking branch 'origin/master'

parents 3091daf9 6306f4e5
......@@ -46,7 +46,7 @@ public class BusinessBacklogController extends BaseController
*/
// @PreAuthorize("@ss.hasPermi('system:backlog:list')")
@GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessBacklog businessBacklog)
public TableDataInfo list(@RequestBody(required=false) BusinessBacklog businessBacklog)
{
startPage();
List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog);
......
......@@ -40,7 +40,7 @@ public class BusinessContactsController extends BaseController
*/
// @PreAuthorize("@ss.hasPermi('system:contacts:list')")
@GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessContacts businessContacts)
public TableDataInfo list(@RequestBody(required=false) BusinessContacts businessContacts)
{
startPage();
List<BusinessContacts> list = businessContactsService.selectBusinessContactsList(businessContacts);
......
......@@ -17,6 +17,10 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 项目详情Controller
......@@ -31,11 +35,17 @@ public class BusinessInfoController extends BaseController
@Autowired
private IBusinessInfoService businessInfoService;
/**
* 项目批量导入
*/
@PostMapping("/upload")
public AjaxResult batchUpload(@RequestParam(value="file",required = false) MultipartFile file, HttpServletRequest request, HttpServletResponse response){
return businessInfoService.batchUpload(file,response);
}
/**
* 查询所有项目名称(支持模糊查询)
*/
// @PreAuthorize("@ss.hasPermi('system:info:list')")
@PostMapping("/query/project")
public AjaxResult queryprojectName(@RequestBody BusinessListDto dto){
return AjaxResult.success(businessInfoService.selectProjectName(dto));
......@@ -44,9 +54,9 @@ public class BusinessInfoController extends BaseController
/**
* 查询项目列表
*/
// @PreAuthorize("@ss.hasPermi('system:info:list')")
// @PreAuthorize("@ss.hasPermi('system:business:list')")
@GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessListDto dto)
public TableDataInfo list(@RequestBody(required=false) BusinessListDto dto)
{
startPage();
List<BusinessListVo> list = businessInfoService.selectBusinessInfoList(dto);
......@@ -56,7 +66,7 @@ public class BusinessInfoController extends BaseController
/**
* 查询项目速览
*/
// @PreAuthorize("@ss.hasPermi('system:info:list')")
// @PreAuthorize("@ss.hasPermi('system:business:query')")
@GetMapping("/browse/{businessId}")
public AjaxResult browse(@PathVariable Integer id)
{
......@@ -66,7 +76,7 @@ public class BusinessInfoController extends BaseController
/**
* 获取项目建设内容
*/
// @PreAuthorize("@ss.hasPermi('system:info:query')")
// @PreAuthorize("@ss.hasPermi('system:business:query')")
@GetMapping(value = "/construction/{id}")
public AjaxResult getConstruction(@PathVariable("id") Integer id)
{
......@@ -76,8 +86,8 @@ public class BusinessInfoController extends BaseController
/**
* 删除项目列表
*/
// @PreAuthorize("@ss.hasPermi('system:info:remove')")
// @Log(title = "项目详情", businessType = BusinessType.DELETE)
// @PreAuthorize("@ss.hasPermi('system:business:remove')")
@Log(title = "项目管理", businessType = BusinessType.DELETE)
@DeleteMapping("/remove/{ids}")
public AjaxResult remove(@PathVariable(value = "ids",required=false) Long[] ids)
{
......@@ -87,8 +97,8 @@ public class BusinessInfoController extends BaseController
/**
* 新增项目详情
*/
// @PreAuthorize("@ss.hasPermi('system:info:add')")
// @Log(title = "项目详情", businessType = BusinessType.INSERT)
// @PreAuthorize("@ss.hasPermi('system:business:add')")
@Log(title = "项目管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessAddDto dto)
{
......@@ -98,8 +108,8 @@ public class BusinessInfoController extends BaseController
/**
* 修改项目详情
*/
// @PreAuthorize("@ss.hasPermi('system:info:edit')")
// @Log(title = "项目详情", businessType = BusinessType.UPDATE)
// @PreAuthorize("@ss.hasPermi('system:business:edit')")
@Log(title = "项目管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public AjaxResult edit(@RequestBody BusinessInfo businessInfo)
{
......
......@@ -49,7 +49,7 @@ public class BusinessRelateCompanyController extends BaseController
*/
// @PreAuthorize("@ss.hasPermi('system:company:list')")
@GetMapping("/list")
public TableDataInfo list(BusinessRelateCompany businessRelateCompany)
public TableDataInfo list(@RequestBody(required=false) BusinessRelateCompany businessRelateCompany)
{
startPage();
List<BusinessRelateCompany> list = businessRelateCompanyService.selectBusinessRelateCompanyList(businessRelateCompany);
......
package com.dsk.web.controller.customer;
import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpException;
......@@ -15,6 +16,7 @@ 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;
......@@ -66,6 +68,17 @@ public class CustomerController extends BaseController {
@PostMapping()
@RepeatSubmit
public AjaxResult add(@RequestBody Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
if (ObjectUtils.isEmpty(customer.getCompanyId())) {
try {
Map<String, Object> map = opportunityRadarService.enterpriseByName(customer.getCompanyName());
if (!ObjectUtils.isEmpty(map.get("data"))) {
customer.setCompanyId(MapUtil.getInt(BeanUtil.beanToMap(map.get("data")), "jskEid"));
}
} catch (Exception e) {
logger.debug("获取企业id错误!error:{}", e.getMessage());
}
}
return AjaxResult.success(baseService.add(customer));
}
......
......@@ -45,12 +45,6 @@ public class EnterpriseController {
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)")
@PostMapping(value = "projectTenderDataGroup")
public R projectTenderDataGroup(@RequestBody @Valid EnterpriseProjectTenderDataGroupBody vo) throws Exception {
......@@ -75,30 +69,6 @@ public class EnterpriseController {
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 = "企业动态列表(建设库)")
@PostMapping(value = "dynamicPage")
public TableDataInfo dynamicPage(@RequestBody @Valid EnterpriseDynamicPageBody vo) throws Exception {
......@@ -129,4 +99,10 @@ public class EnterpriseController {
return enterpriseService.bestStockPage(vo);
}
@ApiOperation(value = "财务简析(openApi)")
@PostMapping(value = "financial")
public R financial(@RequestBody @Valid EnterpriseFinancialBody vo) throws Exception {
return enterpriseService.financial(vo);
}
}
......@@ -26,7 +26,7 @@ public class CompanySearchController {
*/
@RequestMapping("/index")
public AjaxResult landMarketPage(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.enterprisePage(compose);
return opportunityRadarService.enterpriseIndex(compose);
}
/*
......@@ -36,4 +36,12 @@ public class CompanySearchController {
public AjaxResult findByName(@PathVariable String keyword) {
return opportunityRadarService.enterpriseByName(keyword);
}
/*
* 完全匹配企业名称
*/
@GetMapping("/page")
public AjaxResult page(@RequestBody ComposeQueryDto compose) {
return opportunityRadarService.enterprisePage(compose);
}
}
......@@ -18,10 +18,12 @@ public interface BusinessOpportunityRadarService {
AjaxResult landMarketPage(ComposeQueryDto compose);
AjaxResult establishmentPage(ComposeQueryDto compose);
AjaxResult enterprisePage(ComposeQueryDto compose);
AjaxResult enterpriseIndex(ComposeQueryDto compose);
AjaxResult enterpriseByName(String keyword);
AjaxResult enterprisePage(ComposeQueryDto compose);
AjaxResult bondProjectPage(ComposeQueryDto compose);
AjaxResult jskBidPlanPage(ComposeQueryDto compose);
......
......@@ -51,11 +51,18 @@ public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityR
}
@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));
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
public AjaxResult enterpriseByName(String keyword){
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;
}
......@@ -32,7 +32,8 @@ public class DskOpenApiUtil {
}
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){
......
......@@ -48,6 +48,7 @@
"highlight.js": "9.18.5",
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"js-md5": "^0.7.3",
"jsencrypt": "3.0.0-rc.1",
"nprogress": "0.2.0",
"quill": "1.3.7",
......
import request from '@/utils/request'
// 合作情况列表
export function getList(data) {
return request({
url: '/customer/business/list',
method: 'get',
params:data
})
}
// 客户详情
export function customerInfo(data) {
return request({
url: '/customer/'+data,
method: 'get'
})
}
// 编辑客户
export function customerUpdate(data) {
return request({
url: '/customer/',
method: 'put',
data: data
})
}
// 模糊查询项目名称
export function queryProject(data) {
return request({
url: '/business/info/query/project',
method: 'post',
data
})
}
......@@ -8,7 +8,6 @@ export function penalizePage(data) {
data:data
})
}
// 行政处罚类型
export function penalizeReasonType(data) {
return request({
......@@ -17,3 +16,22 @@ export function penalizeReasonType(data) {
data:data
})
}
// 经营异常列表
export function abnormalPage(data) {
return request({
url: '/enterpriseCredit/abnormalPage',
method: 'post',
data:data
})
}
// 经营异常年份
export function abnormalYears(data) {
return request({
url: '/enterpriseCredit/abnormalYears',
method: 'post',
data:data
})
}
import request from '@/utils/request'
// 土地交易用途
export function landUse(data) {
return request({
url: '/enterpriseProject/landUse',
method: 'post',
data
})
}
// 土地交易列表
export function landTransactionPage(data) {
return request({
url: '/enterpriseProject/landTransactionPage',
method: 'post',
data
})
}
// 区域经济
export function regionalEconomy(data) {
return request({
url: '/economic/regional/list',
method: 'post',
data
})
}
// 同地区城投
export function urbanInvestmentPage(data) {
return request({
url: '/urbanInvestment/page',
method: 'post',
data
})
}
......@@ -82,12 +82,6 @@
&:hover{
background: #F3F4F5;
}
.txt{
padding-left: 8px;
opacity: 0.4;
display: inline-block;
width: 100%;
}
.el-input{
margin-right: 8px;
.el-input__inner{
......@@ -100,11 +94,46 @@
text-indent: 8px;
}
}
.el-date-editor--date{
.el-input__prefix{
display: none;
}
}
&.i{
.el-input{
.el-input__inner{
width: 100px;
}
}
}
}
.txt{
padding-left: 8px;
color: rgba(35,35,35,0.4);
display: inline-block;
width: 100%;
}
width: 438px;
&.i{
width: auto;
}
.inputime{
display: inline-block;
width: 184px;
height: 28px;
border-radius: 2px;
line-height: 28px;
cursor: pointer;
>span{
padding-left: 8px;
}
.el-icon-caret-bottom{
color: rgba(35,35,32,0.4);
margin-left: 4px;
}
}
}
}
.tipinput{
display: inline-block;
margin-top: 1px;
......@@ -163,8 +192,6 @@
}
}
}
}
}
.textarea{
margin: 0 16px 24px;
......@@ -543,7 +570,7 @@
.el-input__prefix{
left: 8px;
top: 4px;
top: -2px;
}
.el-input__suffix{
height: 32px;
......@@ -673,6 +700,15 @@
text-align: center;
display: inline-block;
margin-left: 10px;
&.on{
background: #FF3C3C;
color: #FF3C3C;
}
&:hover{
border: 1px solid #FF3C3C;
color: #FF3C3C;
background: #FFEBEB;
}
}
}
.tasklist{
......@@ -701,6 +737,21 @@
border-radius: 4px;
right: 16px;
top: 30px;
padding: 8px 12px;
line-height: 16px;
box-sizing: border-box;
&.on{
background: #D3F0E8;
.color_text{
color: #0CBC6D;
}
}
.select-popper{
margin: 0;
}
.el-icon-caret-bottom{
color:rgba(35,35,35,0.4) ;
}
}
}
}
......
......@@ -306,7 +306,7 @@ select {
.el-dropdown-land .el-icon-caret-bottom {
color: #333333;
margin-left: 4px;
margin-left: 2px;
}
.land_date_picker {
......
......@@ -106,6 +106,12 @@ export const constantRoutes = [
component: () => import('@/views/detail/party-b/index'),
name: 'PartyB',
meta: { title: '已方详情' }
},
{
path: 'structure',
component: () => import('@/views/detail/structure/index'),
name: 'Structure',
meta: { title: '企业链图' }
}
]
},
......@@ -150,6 +156,20 @@ export const constantRoutes = [
meta: { title: '土地交易详情', icon: 'radar' }
}
]
},
{
path: '/Establishment',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: '/radar/Establishment/details/:id(\\d+)',
component: () => import('@/views/radar/Establishment/details'),
name: 'EstablishmentDetails',
meta: { title: '拟建项目详情', icon: 'radar' }
}
]
}
]
......
<template>
<div id="detailPart" class="detail-container" :style="sideHeight?'height:'+sideHeight+'px':''">
<div id="detailPart" class="sides-container" :style="sideHeight?'height:'+sideHeight+'px':''">
<el-input
placeholder="搜索"
class="side-input"
......@@ -134,7 +134,7 @@ export default {
<style lang="scss" scoped>
#app{
.detail-container{
.sides-container{
width: 144px;
min-height: calc(100vh - 170px);
padding-bottom: 20px;
......
......@@ -21,7 +21,6 @@
</el-table-column>
<template v-for="item in forData">
<el-table-column
v-if="item.slot"
:label="item.label"
:prop="item.prop"
:width="item.width"
......@@ -29,23 +28,21 @@
:fixed="item.fixed"
:sortable="item.sortable"
:resizable="false">
<template v-if="item.slotHeader" slot="header">
<slot :name="item.slotName"></slot>
</template>
<template slot-scope="scope">
<slot :name="item.prop" :row="item" :index="scope.$index" :data="scope.row.punishReason"></slot>
<slot v-if="item.slot" :name="item.prop" :row="scope.row" :index="scope.$index" :data="item"></slot>
<span v-else>
{{ scope.row[item.prop] }}
</span>
</template>
</el-table-column>
<el-table-column
v-else
:label="item.label"
:prop="item.prop"
:width="item.width"
align="left"
:fixed="item.fixed"
:sortable="item.sortable"
:resizable="false" />
</template>
</el-table>
</div>
<div class="pagination-box">
<div class="pagination-box" v-if="paging">
<el-pagination background :current-page="queryParams.pageNum" :page-size="queryParams.pageSize" :total="tableDataTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div>
</div>
......@@ -83,6 +80,10 @@ export default {
type: Object,
default: {}
},
paging: {
type: Boolean,
default: true
},
},
data() {
return {
......@@ -104,5 +105,7 @@ export default {
</script>
<style lang="scss" scoped>
::v-deep .el-table__body tr.current-row > td.el-table__cell{
background-color: #ffffff;
}
</style>
......@@ -33,44 +33,36 @@
<!-- 弹窗添加联系人 -->
<el-dialog
class="popups"
class="popups1"
:visible.sync="dialogVisible"
:before-close="cancel"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
</div>
<el-form class="popform" label-width="137px">
<div class="row">
<span class="left">联系人姓名:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人角色:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</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="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>
<el-form :model="addRorm" :rules="addRules" ref="addRorm" class="popform" label-width="75px">
<el-form-item label="姓名:" prop="name">
<el-input v-model="addRorm.name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="角色:" prop="role">
<el-input v-model="addRorm.role" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="职位:" prop="workUnit">
<el-input v-model="addRorm.workUnit" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="公司/机关:" prop="position">
<el-input v-model="addRorm.position" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系方式:" prop="contactInformation">
<el-input v-model="addRorm.contactInformation" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input v-model="addRorm.remark" 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="add">保存</div>
</div>
</el-form>
</el-dialog>
......@@ -79,11 +71,11 @@
</template>
<script>
import Tables from "../component/Tables"
import {
getList,
addChain
} from '@/api/decisionMaking/decisionMaking'
import Tables from "../component/Tables"
} from '@/api/detail/party-a/decisionMaking'
export default {
name: 'DecisionMaking',
components: {
......@@ -91,29 +83,41 @@ export default {
},
data() {
return {
ifEmpty:true,
ifEmpty:false,
queryParams:{
customerId:null,
customerId:'f25219e73249eea0d9fddc5c7f04f97f',
pageNum:1,
pageSize:10,
},
forData: [
{label: '姓名', prop: 'punishReason', width: '124'},
{label: '角色', prop: 'punishBegin', width: '110'},
{label: '公司/机关', prop: 'punishResult', width: '268'},
{label: '职位', prop: 'fileNum', width: '110'},
{label: '联系方式', prop: 'cgrdm', width: '105'},
{label: '内部维护人', prop: 'office', width: '88'},
{label: '备注', prop: 'dataId'},
{label: '姓名', prop: 'name', width: '124'},
{label: '角色', prop: 'role', width: '110'},
{label: '公司/机关', prop: 'position', width: '268'},
{label: '职位', prop: 'workUnit', width: '110'},
{label: '联系方式', prop: 'contactInformation', width: '105'},
{label: '内部维护人', prop: 'updateBy', width: '88'},
{label: '备注', prop: 'remark'},
],
addRorm: {
customerId:'f25219e73249eea0d9fddc5c7f04f97f',
name:'',
role:'',
workUnit:'',
position:'',
contactInformation:'',
remark:'',
},
addRules:{
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
],
},
stageOptions:[],
statusOptions:[],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:50,
tableDataTotal:0,
//弹窗
dialogVisible: false,
}
......@@ -126,21 +130,46 @@ export default {
},
methods: {
list(){
this.tableLoading = true
getList(this.queryParams).then((res) => {
console.log(res)
if(res.code == 200){
if(res.rows.length >0){
this.tableData = res.rows
this.tableDataTotal = res.total
this.ifEmpty = true
}
this.tableLoading = false
}
})
},
resetQuery() {
},
//分页
handleCurrentChange(e){
console.log(e)
this.queryParams.pageNum = e
this.list()
},
handleSizeChange(e){
add(){
this.$refs.addRorm.validate((valid) => {
if (valid) {
addChain(this.addRorm).then((res) => {
if(res.data){
this.$message({
message: '新增成功',
type: 'success'
});
this.cancel()
this.list()
}else{
this.$message({
message: res.msg,
type: 'error'
});
}
})
}
});
},
cancel(){
this.$refs.addRorm.resetFields();
this.dialogVisible = false
},
//打开新建窗口
......@@ -159,7 +188,12 @@ export default {
border: 1px solid #EFEFEF;
}
::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{
::v-deep .el-form-item__content{
......@@ -175,10 +209,7 @@ export default {
cursor: pointer;
}
}
::v-deep .el-input__inner{
border-right: 0;
border-radius: 2px 0 2px 0;
}
}
.query-add{
button{
......@@ -231,7 +262,7 @@ export default {
margin-top: 10px;
}
// 弹窗
.popups{
.popups1{
.poptitle {
line-height: 48px;
border-bottom: 1px solid #E1E1E1;
......@@ -257,8 +288,14 @@ export default {
text-overflow: ellipsis;
}
}
::v-deep .el-dialog__body{
padding: 24px 24px 18px;
}
.popform {
padding-top: 24px;
padding-top: 14px;
::v-deep .el-form-item__label{
padding:0;
}
.row {
padding-bottom: 16px;
.left {
......
......@@ -8,11 +8,11 @@
<div class="part-right">
<div id="partBox" v-if="companyId">
<Overview v-if="currentPath.pathName=='overview'" />
<Businfo v-if="currentPath.pathName=='businfo'" />
<Holderinfo v-if="currentPath.pathName=='holderinfo'" />
<Execuinfo v-if="currentPath.pathName=='execuinfo'" />
<Overseas v-if="currentPath.pathName=='overseas'" />
<Branch v-if="currentPath.pathName=='branch'" />
<Businfo v-if="currentPath.pathName=='businfo'" :company-id="companyId" />
<Holderinfo v-if="currentPath.pathName=='holderinfo'" :company-id="companyId" />
<Execuinfo v-if="currentPath.pathName=='execuinfo'" :company-id="companyId" />
<Overseas v-if="currentPath.pathName=='overseas'" :company-id="companyId" />
<Branch v-if="currentPath.pathName=='branch'" :company-id="companyId" />
<Financial v-if="currentPath.pathName=='financial'" :company-id="companyId" />
<Business v-if="currentPath.pathName=='business'" />
<!-- 投诚分析 -->
......@@ -34,7 +34,7 @@
<!-- 决策链条 -->
<DecisionMaking v-if="currentPath.pathName=='decisionMaking'" />
<!-- 跟进记录 -->
<Gjjl v-if="currentPath.pathName=='gjjl'" />
<Gjjl v-if="currentPath.pathName=='gjjl'" types="gjdt" />
</div>
</div>
</div>
......
<template>
<div class="app-container part-container">
企业速览
<div class="app-container detail-container">
<head-form
title="分支机构"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="inReason" slot-scope="scope">
<div>{{scope.row.inReason}}</div>
<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>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'Overview',
name: 'Branch',
mixins: [mixin],
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '被投资企业名称', prop: 'inReason', slot: true},
{label: '负责人', prop: 'inDate'},
{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' }
]
}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
},
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'}
] //测试
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.part-container{
.detail-container{
margin: 0;
padding: 0;
padding: 16px;
background: #FFFFFF;
.tags{
.tag{
display: inline-block;
border-radius: 2px;
padding: 1px 7px;
margin: 4px 8px 0 0;
&.style1{
background: #E4F3FD;
color: #41A1FD;
}
}
}
}
</style>
<template>
<div class="app-container part-container">
企业速览
<div class="app-container detail-container">
<el-tabs v-model="activeName" @tab-click="handleClick" class="detail-tab">
<el-tab-pane label="工商信息" name="first"></el-tab-pane>
<el-tab-pane label="工商变更" name="second"></el-tab-pane>
</el-tabs>
<div class="businfo-box" v-if="activeName=='first'">
<p>
<label class="label">企业名称</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">社会信用代码</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">法定代表人</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">登记状态</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">成立日期</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">注册资本</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">实缴资本</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">核准日期</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">组织机构代码</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">工商注册号</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">纳税人识别号</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">企业类型</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">营业期限</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">纳税人资质</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">所属地区</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">登记机关</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">人员规模</label>
<span>{{forInfo.companyName || '--'}}</span>
<label class="label">参保人数</label>
<span>{{forInfo.companyName || '--'}}</span>
</p>
<p>
<label class="label">经营范围</label>
<span class="span-one">{{forInfo.companyName || '--'}}</span>
</p>
</div>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:queryParams="queryParams"
:paging="false"
v-if="activeName=='second'"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'Overview',
name: 'Businfo',
props: ['companyId'],
mixins: [mixin],
data() {
return {
activeName: 'first',
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forInfo: {},
forData: [
{label: '变更日期', prop: 'inReason', width: '90', slot: true},
{label: '变更事项', prop: 'inDate'},
{label: '变更前', prop: 'department'},
{label: '变更后', prop: 'department'}
],
//列表
tableLoading:false,
tableData:[]
}
},
created() {
this.handleData()
},
methods: {
handleClick(){
this.handleData()
},
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'}
] //测试
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.part-container{
.detail-container{
margin: 0;
padding: 16px;
background: #FFFFFF;
.detail-tab{
margin: 0 0 0 -16px;
::v-deep .el-tabs__nav-wrap::after{
display: none;
}
::v-deep .el-tabs__item{
font-size: 16px;
height: 30px;
line-height: 30px;
padding: 0 16px;
&.is-active{
font-weight: bold;
}
}
}
.businfo-box {
border-top: 1px solid #E6E9F0;
p {
display: flex;
align-items: center;
margin: 0;
padding: 0;
border-left: 1px solid #E6E9F0;
border-bottom: 1px solid #E6E9F0;
.label {
width: 10%;
font-weight: 400;
line-height: 40px;
font-size: 12px;
height: 40px;
background: #F0F3FA;
padding-left: 12px;
}
span {
width: 40%;
color: #000;
height: 40px;
line-height: 40px;
padding-left: 12px;
font-size: 12px;
}
.span-one {
width: 90%;
}
}
}
}
</style>
......@@ -2,7 +2,7 @@
<div class="app-container operations-container">
<div class="common-title">公司经营</div>
<div class="part-swiper">
<div class="swiper-containers">
<div class="swiper-containers swiper-oper" :style="operList.length<=6?'margin-left:0px; width: 100%;':''">
<ul class="swiper-wrapper">
<li class="swiper-slide" v-for="(item, index) in operList" :key="index">
<div class="swiper-div">
......@@ -15,8 +15,8 @@
</li>
</ul>
</div>
<div class="swiper-button-prev" slot="button-prev" style="left: 0;"><i class="el-icon-arrow-left"></i></div>
<div class="swiper-button-next" slot="button-next" style="right: 0"><i class="el-icon-arrow-right"></i></div>
<div class="swiper-button-prev swiper-oper-prev" slot="button-prev" style="left: 0;"><i class="el-icon-arrow-left"></i></div>
<div class="swiper-button-next swiper-oper-next" slot="button-next" style="right: 0"><i class="el-icon-arrow-right"></i></div>
</div>
<div class="flex-box operations-list">
<div class="list-item" v-for="(item, index) in gsjyList" :key="index">
......@@ -35,7 +35,6 @@ export default {
data() {
return {
operList: [
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
......@@ -57,12 +56,12 @@ export default {
},
methods: {
companySwiper(){
new Swiper('.swiper-containers', {
slidesPerView: 4,
new Swiper('.swiper-oper', {
slidesPerView: 6,
// 设置点击箭头
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
nextEl: '.swiper-oper-next',
prevEl: '.swiper-oper-prev',
}
})
}
......@@ -78,7 +77,7 @@ export default {
.part-swiper{
position: relative;
margin-top: 16px;
.swiper-containers{
.swiper-oper{
width: calc(100% - 38px);
height: 96px;
margin-top: 8px;
......@@ -117,7 +116,7 @@ export default {
}
}
}
.swiper-button-prev, .swiper-button-next{
.swiper-oper-prev, .swiper-oper-next{
width: 16px;
height: 96px;
background: #F0F5FC;
......
<template>
<div class="app-container part-container">
企业速览
<div class="app-container detail-container">
<head-form
title="高管信息"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:queryParams="queryParams"
:paging="false"
/>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'Overview',
name: 'Execuinfo',
props: ['companyId'],
mixins: [mixin],
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '姓名', prop: 'inDate'},
{label: '职位', prop: 'department'}
],
formData: [],
//列表
tableLoading:false,
tableData:[],
tableDataTotal:0,
}
},
created() {
this.handleData()
},
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'}
] //测试
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.part-container{
.detail-container{
margin: 0;
padding: 0;
}
padding: 16px;
background: #FFFFFF;
}
</style>
<template>
<div class="app-container part-container">
企业速览
<div class="app-container detail-container">
<head-form
title=""
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
/>
<el-tabs v-model="activeName" @tab-click="handleClick" class="detail-tab">
<el-tab-pane label="股东信息" name="first"></el-tab-pane>
<el-tab-pane label="历史股东" name="second"></el-tab-pane>
</el-tabs>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="inReason" slot-scope="scope">
<div>{{scope.row.inReason}}</div>
<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>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'Overview',
name: 'Holderinfo',
props: ['companyId'],
mixins: [mixin],
data() {
return {
activeName: 'first',
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '发起人/股东', prop: 'inReason', slot: true},
{label: '持股比例', prop: 'inDate'},
{label: '认缴出资(万)', prop: 'department'},
{label: '实缴出资额', prop: 'department'},
{label: '认缴出资额', prop: 'department'},
{label: '参股日期', prop: 'department', width: '150'}
],
formData: [],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.handleData()
},
methods: {
handleClick(){
this.handleData()
},
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'}
] //测试
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.part-container{
.detail-container{
margin: 0;
padding: 0;
padding: 16px;
background: #FFFFFF;
.detail-tab{
margin: -34px 0 0 -16px;
::v-deep .el-tabs__nav-wrap::after{
display: none;
}
::v-deep .el-tabs__item{
font-size: 16px;
height: 30px;
line-height: 30px;
padding: 0 16px;
&.is-active{
font-weight: bold;
}
}
}
.tags{
.tag{
display: inline-block;
border-radius: 2px;
padding: 1px 7px;
margin: 4px 8px 0 0;
&.style1{
background: #E4F3FD;
color: #41A1FD;
}
}
}
}
</style>
<template>
<div class="app-container part-container">
企业速览
<div class="app-container detail-container">
<head-form
title="对外投资"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="true"
@handle-search="handleSearch"
/>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="gqzb">
<div class="tab-header">股权占比 <el-popover
placement="top-start"
width="280"
trigger="hover">
<div>
控股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">
<div>{{scope.row.inReason}}</div>
<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>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
export default {
name: 'Overview',
name: 'Overseas',
props: ['companyId'],
mixins: [mixin],
data() {
return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '被投资企业名称', prop: 'inReason', slot: true},
{label: '法定代表人', prop: 'inDate'},
{label: '注册资本(万元)', prop: 'department'},
{label: '成立日期', prop: 'department'},
{label: '股权占比', prop: 'department', slotHeader: true, slotName: 'gqzb'},
{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' }
]
}
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.handleData()
},
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'}
] //测试
},
handleQuery(params) {
console.log(params)
}
}
}
</script>
<style lang="scss" scoped>
.part-container{
.detail-container{
margin: 0;
padding: 0;
padding: 16px;
background: #FFFFFF;
.tab-header{
img{
margin-bottom: -3px;
width: 14px;
height: 14px;
cursor: pointer;
}
}
.tags{
.tag{
display: inline-block;
border-radius: 2px;
padding: 1px 7px;
margin: 4px 8px 0 0;
&.style1{
background: #E4F3FD;
color: #41A1FD;
}
}
}
}
</style>
<template>
<div class="app-container part-container">
企业速览
<div class="view-content"><Infoheader /></div><!-- 企业信息 -->
<div class="view-content"><Operations /></div><!-- 公司经营 -->
<div class="view-content"><Bidding /></div><!--招标偏好、业务往来-->
<div class="view-content"><Busclue /></div><!--商机线索-->
......@@ -12,6 +12,7 @@
</template>
<script>
import Infoheader from "./component/infoheader"
import Operations from "./component/operations"
import Bidding from "./component/bidding"
import Busclue from './component/busclue'
......@@ -23,6 +24,7 @@ export default {
name: 'Overview',
props: ['companyId'],
components: {
Infoheader,
Operations,
Bidding,
Busclue,
......
......@@ -10,7 +10,7 @@
<div class="params-item">
<div class="flex-box item-flex">
<el-input
v-model="queryParams.key"
v-model="queryParams.businessCharacteristic"
@focus="nowedit = 1"
placeholder="请输入商务条件特点"
class="textarea"
......@@ -21,7 +21,7 @@
</el-input>
<div class="flex btns" v-if="nowedit === 1">
<div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="btnsmall btn_primary" @click="update('businessCharacteristic')">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
......@@ -39,7 +39,7 @@
<div class="params-item">
<div class="flex-box item-flex">
<el-input
v-model="queryParams.key"
v-model="queryParams.decisionChain"
@focus="nowedit = 2"
placeholder="请输入决策链条"
class="textarea"
......@@ -50,7 +50,7 @@
</el-input>
<div class="flex btns" v-if="nowedit === 2">
<div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="btnsmall btn_primary" @click="update('decisionChain')">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
......@@ -68,7 +68,7 @@
<div class="params-item">
<div class="flex-box item-flex">
<el-input
v-model="queryParams.key"
v-model="queryParams.bidCharacteristic"
@focus="nowedit = 3"
placeholder="请输入招投标流程特点"
class="textarea"
......@@ -79,7 +79,7 @@
</el-input>
<div class="flex btns" v-if="nowedit === 3">
<div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="btnsmall btn_primary" @click="update('bidCharacteristic')">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
......@@ -97,7 +97,7 @@
<div class="params-item">
<div class="flex-box item-flex">
<el-input
v-model="queryParams.key"
v-model="queryParams.performanceCharacteristic"
@focus="nowedit = 4"
placeholder="请输入履约阶段特点"
class="textarea"
......@@ -108,7 +108,36 @@
</el-input>
<div class="flex btns" v-if="nowedit === 4">
<div class="flex">
<div class="btnsmall btn_primary">确定</div>
<div class="btnsmall btn_primary" @click="update('performanceCharacteristic')">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="preference-item">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">其它管理体系特点</span>
</div>
</div>
<div class="query-params">
<div class="params-item">
<div class="flex-box item-flex">
<el-input
v-model="queryParams.otherMsCharacteistic"
@focus="nowedit = 5"
placeholder="请输入履约阶段特点"
class="textarea"
type="textarea"
:autosize="autosize"
maxlength="500"
:show-word-limit="true">
</el-input>
<div class="flex btns" v-if="nowedit === 5">
<div class="flex">
<div class="btnsmall btn_primary" @click="update('otherMsCharacteistic')">确定</div>
<div class="cancels " @click="nowedit = 0" style="">取消</div>
</div>
</div>
......@@ -122,6 +151,10 @@
</template>
<script>
import {
customerInfo,
customerUpdate
} from '@/api/detail/party-a/cooperate'
export default {
name: 'Preference',
components: {
......@@ -133,21 +166,47 @@ export default {
minRows: 8,
maxRows: 8
},
customerId: 'f25219e73249eea0d9fddc5c7f04f97f',
queryParams:{
customerId: '',
businessCharacteristic: '',
decisionChain: '',
bidCharacteristic: '',
performanceCharacteristic: '',
otherMsCharacteistic: '',
},
key:'',
nowedit: 0
}
},
created() {
this.customerInfos()
},
computed: {
},
methods: {
// 客户详情
customerInfos(){
customerInfo(this.customerId).then(res=>{
this.queryParams = res.data
})
},
// 编辑客户
update(name){
let data = {
customerId: this.customerId,
[name]: this.queryParams[name],
}
customerUpdate(data).then(res=>{
if(res.data){
this.$message.success(res.msg)
this.nowedit = 0
}else{
this.$message.error(res.msg)
}
})
}
}
}
</script>
......
......@@ -22,6 +22,10 @@
</template>
<script>
import {
abnormalPage,
abnormalYears
} from '@/api/detail/party-a/riskInformation'
import mixin from '../mixins/mixin'
export default {
name: 'BusinessAnomaly',
......@@ -45,14 +49,7 @@ export default {
{label: '做出决定机关(移除)', prop: 'outDepartment', width: '264'}
],
formData: [
{ type: 1, fieldName: 'years', value: '', placeholder: '列入时间',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
}
{ type: 1, fieldName: 'years', value: '', placeholder: '列入时间', options: []}
],
//列表
tableLoading:false,
......@@ -63,26 +60,18 @@ export default {
}
},
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
abnormalPage(data).then(res => {
})
},
}
}
</script>
......
......@@ -19,9 +19,9 @@
@handle-current-change="handleCurrentChange"
>
<template slot="punishReason" slot-scope="scope">
<span :class="[isOverHiddenFlag(scope.row.width, showList, scope.index, 0, scope.data)?'cell-span':'']" :style="{'-webkit-line-clamp': 5}">
{{ scope.data }}
<span v-if="isOverHiddenFlag(scope.row.width, showList, scope.index, 0, scope.data)" @click="changeShowAll(scope.index, 0)">...<span style="color: #0081FF;">更多</span></span>
<span :class="[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)?'cell-span':'']" :style="{'-webkit-line-clamp': 5}">
{{ scope.row.punishReason }}
<span v-if="isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)" @click="changeShowAll(scope.index, 0)">...<span style="color: #0081FF;">更多</span></span>
</span>
</template>
</tables>
......@@ -34,7 +34,7 @@ import mixin from '../mixins/mixin'
import {
penalizePage,
penalizeReasonType
} from '@/api/riskInformation/punish'
} from '@/api/detail/party-a/riskInformation'
export default {
name: 'Punish',
mixins: [mixin],
......@@ -44,7 +44,7 @@ export default {
data() {
return {
queryParams: {
cid: 6034,
cid: 382724726,
pageNum: 1,
pageSize: 10
},
......@@ -58,14 +58,7 @@ export default {
{label: '处罚结束日期', prop: 'dataId', width: '100'},
],
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: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
//列表
......@@ -86,20 +79,20 @@ export default {
}
},
created() {
this.dataRegion()
this.getList()
this.penalizeReasonTypeData()
},
computed: {
},
methods: {
async dataRegion() {
getList() {
penalizePage(this.queryParams).then((res) => {
console.log(res)
console.log(res.data.rows)
})
},
penalizeReasonTypeData(){
penalizeReasonType({cid:6034}).then((res) => {
penalizeReasonType({cid:this.queryParams.cid}).then((res) => {
console.log(res)
})
},
......@@ -136,9 +129,7 @@ export default {
::v-deep .el-form-item{
margin-right: 8px !important;
}
::v-deep .el-table__body tr.current-row > td.el-table__cell{
background-color: #ffffff;
}
.query-box{
margin: 10px 0 20px;
}
......
......@@ -22,6 +22,10 @@
</template>
<script>
import {
landTransactionPage,
landUse
} from '@/api/detail/party-a/urbanLnvestment'
import mixin from '../mixins/mixin'
export default {
name: 'landAcquisition',
......@@ -32,7 +36,8 @@ export default {
data() {
return {
queryParams: {
cid: 6034,
cid: 3068,
sort: 3,
pageNum: 1,
pageSize: 10
},
......@@ -48,54 +53,40 @@ export default {
{label: '签订日期', prop: 'dataId', width: '120'}
],
formData: [
{ type: 4, fieldName: 'penalizeReasonType', value: [], placeholder: '土地用途',
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 4, fieldName: 'landUse', value: [], placeholder: '土地用途', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
],
//列表
tableLoading:false,
tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0,
}
},
created() {
this.dataRegion()
this.getList()
this.getlandUse()
},
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() {
getList() {
this.tableLoading = true
landTransactionPage(this.queryParams).then(res=>{
this.tableData = res.data
this.tableDataTotal = res.data.total
this.tableLoading = false
})
},
resetQuery() {
handleQuery(params) {
console.log(params)
},
//分页
handleCurrentChange(e){
},
handleSizeChange(e){
//土地用途
getlandUse(){
landUse({cid: this.queryParams.cid}).then(res=>{
console.log(res)
// this.formData[0].options = res.data
})
}
}
}
......
......@@ -24,6 +24,9 @@
</template>
<script>
import {
regionalEconomy
} from '@/api/detail/party-a/urbanLnvestment'
export default {
name: 'regionalEconomies',
components: {
......@@ -31,47 +34,14 @@ export default {
},
data() {
return {
tableData: [
{
zb:"2023年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2022年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2021年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2020年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2019年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
params: {
provinceId: 500000,
cityId: 500100
},
{
zb:"2018年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
],
tableData: [],
headers: [
{
prop: 'zb',
prop: 'year',
label: '指标',
},
{
......@@ -83,51 +53,51 @@ export default {
label: 'GDP(亿元)',
},
{
prop: 'gdpzs',
prop: 'gdpGrowth',
label: 'GDP增速',
},
{
prop: 'rjgdp',
prop: 'gdpPerCapita',
label: '人均GDP(元)',
},
{
prop: 'rjgdp',
prop: 'piAddValue',
label: '第一产业增加值(亿元)',
},
{
prop: 'rjgdp',
prop: 'siAddValue',
label: '第二产业增加值(亿元)',
},
{
prop: 'rjgdp',
prop: 'tiAddValue',
label: '第三产业增加值(亿元)',
},
{
prop: 'rjgdp',
prop: 'population',
label: '人口(万人)',
},
{
prop: 'rjgdp',
prop: 'industryAddValue',
label: '工业增加值(亿元)',
},
{
prop: 'rjgdp',
prop: 'industryTotalValue',
label: '工业总产值(亿元)',
},
{
prop: 'rjgdp',
prop: 'realEstateInvestment',
label: '房地产开发投资(亿元)',
},
{
prop: 'rjgdp',
prop: 'eximTotalValue',
label: '进出口总额(亿美元)',
},
{
prop: 'rjgdp',
prop: 'trscg',
label: '社会消费品零售总额(亿元)',
},
{
prop: 'rjgdp',
prop: 'urbanPcdi',
label: '城镇居民人均可支配收入(元)',
},
{
......@@ -135,47 +105,47 @@ export default {
label: '财政',
},
{
prop: 'rjgdp',
prop: 'gbr',
label: '一般公共预算收入(亿元)',
},
{
prop: 'rjgdp',
label: '般公共预算收入增速',
prop: 'gbrGrowth',
label: '般公共预算收入增速',
},
{
prop: 'rjgdp',
prop: 'taxIncome',
label: '税收收入(亿元)',
},
{
prop: 'rjgdp',
prop: 'transferIncome',
label: '转移性收入(亿元)',
},
{
prop: 'rjgdp',
prop: 'superiorSubsidyIncome',
label: '上级补助收入(亿元)',
},
{
prop: 'rjgdp',
prop: 'gbe',
label: '一般公共预算支出(亿元)',
},
{
prop: 'rjgdp',
prop: 'govFundIncome',
label: '政府性基金收入(亿元)',
},
{
prop: 'rjgdp',
prop: 'landTransferIncome',
label: '土地出让收入(亿元)',
},
{
prop: 'rjgdp',
prop: 'govFundExpenditure',
label: '政府性基金支出(亿元)',
},
{
prop: 'rjgdp',
prop: 'soecoi',
label: '国有资本经营收入(亿元)',
},
{
prop: 'rjgdp',
prop: 'soecoe',
label: '国有资本经营支出(亿元)',
},
{
......@@ -183,49 +153,50 @@ export default {
label: '债务',
},
{
prop: 'rjgdp',
prop: 'govDebtBalance',
label: '地方政府债务余额(亿元)',
},
{
prop: 'rjgdp',
prop: 'generalDebtBalance',
label: '一般债余额(亿元)',
},
{
prop: 'rjgdp',
prop: 'specialDebtBalance',
label: '专项债余额(亿元)',
},
{
prop: 'rjgdp',
prop: 'govDebtLimit',
label: '地方政府债务限额(亿元)',
},
{
prop: 'rjgdp',
prop: 'uipInterestBearingDebt',
label: '城投平台有息债务(亿元)',
},
{
prop: 'rjgdp',
prop: 'fiscalSelfSufficiencyRate',
label: '财政自给率',
},
{
prop: 'rjgdp',
prop: 'govDebtToGdpRate',
label: '负债率',
},
{
prop: 'rjgdp',
prop: 'govDebtToGdpRateWild',
label: '负债率-宽口径',
},
{
prop: 'rjgdp',
prop: 'govDebtRate',
label: '债务率',
},
{
prop: 'rjgdp',
prop: 'govDebtRateWild',
label: '债务率-宽口径',
},
],
}
},
created() {
console.log(11)
this.dataRegion()
},
computed: {
......@@ -240,16 +211,10 @@ export default {
},
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)
// }
// })
dataRegion() {
regionalEconomy(this.params).then(res => {
this.tableData = res.data
})
},
}
}
......
......@@ -17,7 +17,11 @@
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
@sort-change="sortChange"
/>
>
<template slot="companyName" slot-scope="data">
<router-link :to="''+ data.row.companyId" style="color: #0081FF">{{ data.row.companyName }}</router-link>
</template>
</tables>
</div>
</template>
......@@ -25,6 +29,9 @@
<script>
import mixin from '../mixins/mixin'
import dataRegion from '@/assets/json/dataRegion'
import {
urbanInvestmentPage
} from '@/api/detail/party-a/urbanLnvestment'
export default {
name: 'SameRegion',
mixins: [mixin],
......@@ -34,21 +41,36 @@ export default {
data() {
return {
queryParams: {
cid: 6034,
provinceId: 500000,
cityId: 500100,
pageNum: 1,
pageSize: 10
pageSize: 15
},
forData: [
{label: '企业名称', prop: 'punishReason'},
{label: '成员层级', prop: 'punishBegin', width: '120'},
{label: '法定代表人', prop: 'punishResult', width: '120'},
{label: '注册资本', prop: 'fileNum', width: '120', sortable:true},
{label: '成立日期', prop: 'cgrdm', width: '120', sortable:true},
{label: '实控人控股', prop: 'office', width: '130', sortable:true},
{label: '行业类型', prop: 'dataId', width: '120'},
{label: '所属省', prop: 'dataId', width: '120'},
{label: '所属市', prop: 'dataId', width: '120'},
{label: '所属区/县', prop: 'dataId', width: '120'}
{label: '企业名称', prop: 'companyName', width: '369', slot: true},
{label: '区域', prop: 'area', width: '100'},
{label: '主体评级', prop: 'bratingSubjectLevel', width: '110'},
{label: '债劵余额(亿元)', prop: 'bondBalance', width: '130'},
{label: '行政级别', prop: 'uipExecutiveLevel', width: '120'},
{label: '股东背景', prop: 'shareholderBg', width: '120'},
{label: '股权关系', prop: 'equityRelationship', width: '120'},
{label: '平台重要性', prop: 'platformImportance', width: '120'},
{label: '城投业务类型', prop: 'uipBusinessType', width: '120'},
{label: '实控人', prop: 'actualController', width: '280'},
{label: '最新报告期', prop: 'latestReportPeriod', width: '120'},
{label: '总资产(亿元)', prop: 'totalAssets', width: '120'},
{label: '归母净资产(亿元)', prop: 'belongNetAssets', width: '140'},
{label: '货币资金(亿元)', prop: 'monetaryFunds', width: '130'},
{label: '土地资产(亿元)', prop: 'landAssets', width: '130'},
{label: '受限资产(亿元)', prop: 'restrictedAssets', width: '130'},
{label: '应收账款(亿元)', prop: 'accountsReceivable', width: '130'},
{label: '其他应收款(亿元)', prop: 'otherReceivable', width: '140'},
{label: '公益性&准公益性主营占比(%)', prop: 'econData001', width: '200'},
{label: '应收类款项来自政府占比(%)', prop: 'receivableFromGovRatio', width: '200'},
{label: '政府补助(亿元)', prop: 'govSubsidy', width: '130'},
{label: '专项应付款(亿元)', prop: 'specialPayable', width: '140'},
{label: '营业收入(亿元)', prop: 'operatingIncome', width: '130'},
{label: '所属开发区', prop: 'developmentZone', width: '120'}
],
formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选',
......@@ -68,13 +90,13 @@ export default {
}
},
created() {
this.dataRegion()
this.handleQuery()
},
computed: {
},
methods: {
async dataRegion() {
dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: {
// 'Content-Type': 'application/json'
......@@ -126,18 +148,14 @@ export default {
}
this.addressList = str;
},
handleQuery() {
},
resetQuery() {
},
//分页
handleCurrentChange(e){
},
handleSizeChange(e){
handleQuery(params){
this.tableLoading = true
let data = params ? params : this.queryParams
urbanInvestmentPage(data).then(res => {
this.tableData = res.data.list
this.tableDataTotal = res.data.totalCount
this.tableLoading = false
})
}
}
}
......
......@@ -15,13 +15,13 @@ export default {
loading: false, // 是否加载中
iframeHight: window.innerHeight, // iframe高度
scrollTop: 0, // 滚动条距离内部页面顶部距离
token: this.$store.getters.token // 需要携带的token
secretid: '' // 需要携带的sdkId
}
},
created() {
if (this.$route.query.companyId) { // 获取companyId
this.loading = true
this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.query.companyId}?token=${this.token}`
this.src = `https://pre-plug.jiansheku.com/enterprise/${this.$route.query.companyId}?secretid=${this.secretid}`
}
},
mounted() {
......
<template>
<div class="app-container">
<iframe :src="strucUrl" scrolling="no" frameborder="0" :style="{ width: '100%', height: strucHeight + 'px' }" v-if="strucUrl"></iframe>
</div>
</template>
<script>
import { getToken } from '@/utils/auth'
import md5 from 'js-md5'
export default {
name: 'Structure',
data() {
return {
BASE_LT: 'https://b-plugin.qixin.com/third-login?tenant=dsk&returnUrl=/standalone-charts',
eid: '',
strucHeight: 0,
strucUrl: '',
token: getToken()
}
},
created() {
if(this.$route.query.eid){
if(this.$route.query.typeId==5){
this.strucUrl = this.BASE_LT+'/structure?eid='+this.$route.query.eid+'&name='+this.token+'&pas='+md5(this.token)
}else if(this.$route.query.typeId==6){
this.strucUrl = this.BASE_LT+'/relationship?eid='+this.$route.query.eid+'&name='+this.token+'&pas='+md5(this.token)
}
}
},
mounted(){
this.getIframeHeight()
},
methods: {
//iframe高度
getIframeHeight(){
this.strucHeight = document.body.clientHeight
},
}
}
</script>
<style lang="scss" scoped>
</style>
......@@ -58,7 +58,7 @@
</div>
</div>
<el-divider></el-divider>
<div class="cardtitles i">储备项目类</div>
<div class="cardtitles i">储备项目类</div>
<div class="gzlist">
<div>
<img src="@/assets/images/project/EPC.png">
......
......@@ -28,16 +28,36 @@
</div>
</div>
</div>
<div class="tasktitle"><strong>我的任务</strong><span>4条已逾期</span></div>
<div class="tasktitle"><strong>我的任务</strong><span>4条已逾期</span><!--<span class="on">4条已逾期</span>--></div>
<div class="tasklist">
<div class="task_name">周二拜访交通局李主任</div>
<div class="task_con"><span>发起时间:2023-01-24</span><span>关联客户:<font class="wordprimary">重庆市交通局</font></span><span>完成时间:2023-0.-03</span></div>
<div class="select">未完成</div>
<div class="select" :class="{'on':status == 1}">
<div class="select-popper">
<span class="color_text">
{{status == 0?"未完成":"已完成"}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select placeholder="请选择" v-model="status" class="select-multiple">
<el-option label="未完成" value="0"></el-option>
<el-option label="已完成" value="1"></el-option>
</el-select>
</div></div>
</div>
<div class="tasklist">
<div class="task_name">周二拜访交通局李主任</div>
<div class="task_con"><span>发起时间:2023-01-24</span><span>关联客户:<font class="wordprimary">重庆市交通局</font></span><span>完成时间:2023-0.-03</span></div>
<div class="select">未完成</div>
<div class="select" :class="{'on':status == 1}">
<div class="select-popper">
<span class="color_text">
{{status == 0?"未完成":"已完成"}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select placeholder="请选择" v-model="status" class="select-multiple">
<el-option label="未完成" value="0"></el-option>
<el-option label="已完成" value="1"></el-option>
</el-select>
</div></div>
</div>
</div>
</el-card>
......@@ -46,12 +66,14 @@
<script>
import "@/assets/styles/project.scss"
import "@/assets/styles/public.css"
export default {
name: 'gjjl',
data(){
return{
isEdit:false,
value:''
value:'',
status:0,
}
},
methods:{
......
......@@ -9,7 +9,7 @@
<span>总投资额(万元) :</span>
<div class="inputxt">
<div class="flex" v-if="nowedit == 1">
<el-input placeholder="待添加"></el-input>
<el-input placeholder="待添加" v-model="money" @input="number"></el-input>
<div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div>
......@@ -48,8 +48,46 @@
</div>
<div class="con i">
<span>计划招标 :</span>
<div class="inputxt">
<span class="txt">待添加</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 11" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 11">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
</div>
<div class="row">
<div class="con">
<span>计划开工 :</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 12" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 12">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
<div class="con i">
<span>计划竣工 :</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 13" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 13">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
</div>
......@@ -86,8 +124,16 @@
</div>
<div class="con i">
<span>开标时间 :</span>
<div class="inputxt">
<span class="txt">待添加</span>
<div class="inputime">
<div class="flex" style="opacity: 0;height: 0">
<el-date-picker v-if="nowedit == 14" showWordLimit="true"
v-model="value1"
type="date"
value-format="yyyy-MM-dd"
placeholder="待添加" @change="nowedit = -1">
</el-date-picker>
</div>
<span :class="{'txt':!value1}" @click="nowedit = 14">{{value1||"待添加"}}<i class="el-icon-caret-bottom"></i></span>
</div>
</div>
</div>
......@@ -160,9 +206,23 @@
return{
textarea:"",
nowedit:-1,//当前正在编辑的文本
value1:'',
money:'',
}
},
watch:{
// nowedit(oldvalue,newvalue){
// if (newvalue == 13){
// this.$ref.newvalue13.=true
// }
// }
},
methods:{
//输入数字
number(value){
console.log(value)
this.money = value.replace(/^\D*(\d*(?:\.\d{0,6})?).*$/g, '$1')//输入6位小数
},
}
}
</script>
......
......@@ -80,33 +80,27 @@
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
</div>
<el-form class="popform" label-width="137px">
<div class="row">
<span class="left">联系人姓名:</span>
<el-form-item label="联系人姓名:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人角色:</span>
</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>
</div>
<div class="row">
<span class="left">联系人职位:</span>
</el-form-item>
<el-form-item label="联系人职位:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人公司/机关:</span>
</el-form-item>
<el-form-item label="联系人公司/机关:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">内部维护人:</span>
</el-form-item>
<el-form-item label="内部维护人:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系方式:</span>
</el-form-item>
<el-form-item label="联系方式:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
</el-form-item>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">保存</div>
......
......@@ -104,43 +104,37 @@
<img src="@/assets/images/economies/icon.png">
<span>新建相关企业-{{types==1?"业主单位":""}}{{types==2?"合作伙伴":""}}{{types==3?"竞争对手":""}}</span>
</div>
<el-form class="popform i" label-width="85px">
<div class="row">
<span class="left"><i>*</i>企业名称:</span>
<el-form class="popform i" label-width="85px" :rules="rules" ref="ruleForm" >
<el-form-item label="企业名称:" prop="projectName" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row" v-if="types == 1">
<span class="left">对接深度:</span>
</el-form-item>
<el-form-item v-if="types == 1" label="对接深度:" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row" v-if="types == 2">
<span class="left">合作阶段:</span>
</el-form-item>
<el-form-item v-if="types == 2" label="合作阶段:" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row" v-if="types == 3">
<span class="left">竞争力度:</span>
</el-form-item>
<el-form-item v-if="types == 3" label="竞争力度:" prop="projectName" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">企业角色:</span>
</el-form-item>
<el-form-item label="企业角色:" prop="projectName" class="row">
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">负责人:</span>
</el-form-item>
<el-form-item label="负责人:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</div>
</el-form-item>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">添加</div>
......@@ -182,7 +176,12 @@
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
],
rules:{
projectName:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
ownerCompany:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
},
}
},
methods:{
......
......@@ -20,7 +20,16 @@
</div>
<div class="con i">
<span>项目阶段 :</span>
<div class="inputxt"><span class="txt">待添加</span></div>
<div class="select-popper " >
<span class="color_text" :class="{'txt':xmjd == '待添加'}">
{{xmjd}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="xmjd" class="select-multiple" placeholder="请选择">
<el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
</div>
</div>
</div>
<div class="row">
......@@ -159,6 +168,7 @@
<script>
import "@/assets/styles/project.scss"
import {getDictType,} from '@/api/main'
export default {
name: 'xmsl',
data(){
......@@ -166,8 +176,17 @@
nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
xmjd:'待添加',
projectStage:[],//项目阶段
}
},
created(){
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
})
},
methods:{
//验证电话号码
isphone(value){
......
......@@ -147,6 +147,7 @@
<script>
import "@/assets/styles/project.scss"
import "@/assets/styles/public.css"
import prvinceTree from '@/assets/json/provinceTree'
import {getProjectlist} from '@/api/project/project'
import {getDictType,} from '@/api/main'
......@@ -207,7 +208,7 @@ export default {
},
created() {
this.prvinceTree()
// this.getList(1)
this.getList(1)
//项目阶段
getDictType('project_stage_type').then(result=>{
this.projectStage = result.code == 200 ? result.data:[]
......@@ -225,6 +226,8 @@ export default {
//获取商机列表
getList(pageNum){
this.searchParam.pageNum = pageNum
console.log(this.searchParam)
// return false
getProjectlist(this.searchParam).then(result=>{
console.log(result)
})
......@@ -288,9 +291,6 @@ export default {
let Id = '111'
this.$router.push({ path: '/project/projectList/detail', query: Id });
},
getxmdq(){
console.log(888)
},
handleClick(){
},
......
This diff is collapsed.
......@@ -519,7 +519,8 @@
padding-left: 12px;
font-size: 12px;
}
.span-one{
.span-one {
width: 90%;
}
......
This diff is collapsed.
......@@ -13,8 +13,14 @@
</div>
</div>
</div>
<!-- 企业专项债 -->
<debtProject v-if="personnelHerf=='debtProject'" />
<!-- 土地交易 -->
<Land v-if="personnelHerf=='Land'" />
<!-- 拟建项目 -->
<Establishment v-if="personnelHerf=='Establishment'" />
<!-- 标讯pro -->
<bxprozbgg v-if="personnelHerf=='bxprozbgg'" />
</div>
......@@ -22,10 +28,12 @@
<script>
import debtProject from "./components/debtProject/index.vue";
import Land from "./components/Land/index.vue";
import Establishment from "./components/Establishment/index.vue";
import bxprozbgg from "./components/bxprozbgg/index.vue";
import "@/assets/styles/public.css";
export default {
name: 'radar',
components: { debtProject,Land },
components: { debtProject,Land,Establishment,bxprozbgg },
data() {
return {
// tablist
......@@ -42,7 +50,7 @@
},
{
key: 'KeyPersonnel',
key: 'Establishment',
status: false,
value: '拟建项目',
......@@ -54,7 +62,7 @@
},
{
key: 'KeyPersonnel',
key: 'bxprozbgg',
status: false,
value: '标讯pro',
......
package com.dsk.system.domain;
import com.dsk.common.utils.StringUtils;
import lombok.Data;
/**
......@@ -60,6 +61,6 @@ public class BusinessAddDto {
private String customerId;
public Double getInvestmentAmount() {
return Double.parseDouble(investmentAmount);
return StringUtils.isEmpty(investmentAmount) ? 0 :Double.parseDouble(investmentAmount);
}
}
package com.dsk.system.domain;
import com.dsk.common.utils.StringUtils;
import lombok.Data;
/**
* @author lxl
* @Description:
* @Date 2023/6/1 下午 6:41
**/
@Data
public class BusinessExcelDto {
/**
* 项目名称
*/
private String projectName;
/**
* 投资估算(万元)
*/
private String investmentAmount;
/**
* 业主单位
*/
private String ownerCompany;
}
......@@ -2,6 +2,8 @@ package com.dsk.system.domain;
import lombok.Data;
import java.util.List;
/**
* @author lxl
* @Description:
......@@ -28,17 +30,17 @@ public class BusinessListDto {
/**
* 省id
*/
private Integer provinceId;
private List<Integer> provinceId;
/**
* 市id
*/
private Integer cityId;
private List<Integer> cityId;
/**
* 区id
*/
private Integer districtId;
private List<Integer> districtId;
/**
* 项目类型
......
......@@ -29,6 +29,10 @@ public class Customer implements Serializable {
* jsk企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 客户名称(企业名称)
*/
......
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