Commit 6306f4e5 authored by MyName's avatar MyName
parents 072dd8c2 302ae927
...@@ -46,7 +46,7 @@ public class BusinessBacklogController extends BaseController ...@@ -46,7 +46,7 @@ public class BusinessBacklogController extends BaseController
*/ */
// @PreAuthorize("@ss.hasPermi('system:backlog:list')") // @PreAuthorize("@ss.hasPermi('system:backlog:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessBacklog businessBacklog) public TableDataInfo list(@RequestBody(required=false) BusinessBacklog businessBacklog)
{ {
startPage(); startPage();
List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog); List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog);
......
...@@ -40,7 +40,7 @@ public class BusinessContactsController extends BaseController ...@@ -40,7 +40,7 @@ public class BusinessContactsController extends BaseController
*/ */
// @PreAuthorize("@ss.hasPermi('system:contacts:list')") // @PreAuthorize("@ss.hasPermi('system:contacts:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessContacts businessContacts) public TableDataInfo list(@RequestBody(required=false) BusinessContacts businessContacts)
{ {
startPage(); startPage();
List<BusinessContacts> list = businessContactsService.selectBusinessContactsList(businessContacts); List<BusinessContacts> list = businessContactsService.selectBusinessContactsList(businessContacts);
......
...@@ -17,6 +17,10 @@ import com.dsk.common.core.controller.BaseController; ...@@ -17,6 +17,10 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType; import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** /**
* 项目详情Controller * 项目详情Controller
...@@ -31,11 +35,17 @@ public class BusinessInfoController extends BaseController ...@@ -31,11 +35,17 @@ public class BusinessInfoController extends BaseController
@Autowired @Autowired
private IBusinessInfoService businessInfoService; 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") @PostMapping("/query/project")
public AjaxResult queryprojectName(@RequestBody BusinessListDto dto){ public AjaxResult queryprojectName(@RequestBody BusinessListDto dto){
return AjaxResult.success(businessInfoService.selectProjectName(dto)); return AjaxResult.success(businessInfoService.selectProjectName(dto));
...@@ -44,9 +54,9 @@ public class BusinessInfoController extends BaseController ...@@ -44,9 +54,9 @@ public class BusinessInfoController extends BaseController
/** /**
* 查询项目列表 * 查询项目列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:info:list')") // @PreAuthorize("@ss.hasPermi('system:business:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessListDto dto) public TableDataInfo list(@RequestBody(required=false) BusinessListDto dto)
{ {
startPage(); startPage();
List<BusinessListVo> list = businessInfoService.selectBusinessInfoList(dto); List<BusinessListVo> list = businessInfoService.selectBusinessInfoList(dto);
...@@ -56,7 +66,7 @@ public class BusinessInfoController extends BaseController ...@@ -56,7 +66,7 @@ public class BusinessInfoController extends BaseController
/** /**
* 查询项目速览 * 查询项目速览
*/ */
// @PreAuthorize("@ss.hasPermi('system:info:list')") // @PreAuthorize("@ss.hasPermi('system:business:query')")
@GetMapping("/browse/{businessId}") @GetMapping("/browse/{businessId}")
public AjaxResult browse(@PathVariable Integer id) public AjaxResult browse(@PathVariable Integer id)
{ {
...@@ -66,7 +76,7 @@ public class BusinessInfoController extends BaseController ...@@ -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}") @GetMapping(value = "/construction/{id}")
public AjaxResult getConstruction(@PathVariable("id") Integer id) public AjaxResult getConstruction(@PathVariable("id") Integer id)
{ {
...@@ -76,8 +86,8 @@ public class BusinessInfoController extends BaseController ...@@ -76,8 +86,8 @@ public class BusinessInfoController extends BaseController
/** /**
* 删除项目列表 * 删除项目列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:info:remove')") // @PreAuthorize("@ss.hasPermi('system:business:remove')")
// @Log(title = "项目详情", businessType = BusinessType.DELETE) @Log(title = "项目管理", businessType = BusinessType.DELETE)
@DeleteMapping("/remove/{ids}") @DeleteMapping("/remove/{ids}")
public AjaxResult remove(@PathVariable(value = "ids",required=false) Long[] ids) public AjaxResult remove(@PathVariable(value = "ids",required=false) Long[] ids)
{ {
...@@ -87,8 +97,8 @@ public class BusinessInfoController extends BaseController ...@@ -87,8 +97,8 @@ public class BusinessInfoController extends BaseController
/** /**
* 新增项目详情 * 新增项目详情
*/ */
// @PreAuthorize("@ss.hasPermi('system:info:add')") // @PreAuthorize("@ss.hasPermi('system:business:add')")
// @Log(title = "项目详情", businessType = BusinessType.INSERT) @Log(title = "项目管理", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody BusinessAddDto dto) public AjaxResult add(@RequestBody BusinessAddDto dto)
{ {
...@@ -98,8 +108,8 @@ public class BusinessInfoController extends BaseController ...@@ -98,8 +108,8 @@ public class BusinessInfoController extends BaseController
/** /**
* 修改项目详情 * 修改项目详情
*/ */
// @PreAuthorize("@ss.hasPermi('system:info:edit')") // @PreAuthorize("@ss.hasPermi('system:business:edit')")
// @Log(title = "项目详情", businessType = BusinessType.UPDATE) @Log(title = "项目管理", businessType = BusinessType.UPDATE)
@PostMapping("/edit") @PostMapping("/edit")
public AjaxResult edit(@RequestBody BusinessInfo businessInfo) public AjaxResult edit(@RequestBody BusinessInfo businessInfo)
{ {
......
...@@ -49,7 +49,7 @@ public class BusinessRelateCompanyController extends BaseController ...@@ -49,7 +49,7 @@ public class BusinessRelateCompanyController extends BaseController
*/ */
// @PreAuthorize("@ss.hasPermi('system:company:list')") // @PreAuthorize("@ss.hasPermi('system:company:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(BusinessRelateCompany businessRelateCompany) public TableDataInfo list(@RequestBody(required=false) BusinessRelateCompany businessRelateCompany)
{ {
startPage(); startPage();
List<BusinessRelateCompany> list = businessRelateCompanyService.selectBusinessRelateCompanyList(businessRelateCompany); List<BusinessRelateCompany> list = businessRelateCompanyService.selectBusinessRelateCompanyList(businessRelateCompany);
......
package com.dsk.web.controller.customer; package com.dsk.web.controller.customer;
import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpException; import cn.hutool.http.HttpException;
...@@ -15,6 +16,7 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto; ...@@ -15,6 +16,7 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto; import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.service.ICustomerService; import com.dsk.system.service.ICustomerService;
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService; import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -66,6 +68,17 @@ public class CustomerController extends BaseController { ...@@ -66,6 +68,17 @@ public class CustomerController extends BaseController {
@PostMapping() @PostMapping()
@RepeatSubmit @RepeatSubmit
public AjaxResult add(@RequestBody Customer customer) { 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)); return AjaxResult.success(baseService.add(customer));
} }
......
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
"highlight.js": "9.18.5", "highlight.js": "9.18.5",
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
"js-cookie": "3.0.1", "js-cookie": "3.0.1",
"js-md5": "^0.7.3",
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"quill": "1.3.7", "quill": "1.3.7",
......
...@@ -8,3 +8,29 @@ export function getList(data) { ...@@ -8,3 +8,29 @@ export function getList(data) {
params:data 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) { ...@@ -8,7 +8,6 @@ export function penalizePage(data) {
data:data data:data
}) })
} }
// 行政处罚类型 // 行政处罚类型
export function penalizeReasonType(data) { export function penalizeReasonType(data) {
return request({ return request({
...@@ -17,3 +16,22 @@ export function penalizeReasonType(data) { ...@@ -17,3 +16,22 @@ export function penalizeReasonType(data) {
data: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
})
}
...@@ -106,6 +106,12 @@ export const constantRoutes = [ ...@@ -106,6 +106,12 @@ export const constantRoutes = [
component: () => import('@/views/detail/party-b/index'), component: () => import('@/views/detail/party-b/index'),
name: 'PartyB', name: 'PartyB',
meta: { title: '已方详情' } meta: { title: '已方详情' }
},
{
path: 'structure',
component: () => import('@/views/detail/structure/index'),
name: 'Structure',
meta: { title: '企业链图' }
} }
] ]
}, },
...@@ -150,6 +156,20 @@ export const constantRoutes = [ ...@@ -150,6 +156,20 @@ export const constantRoutes = [
meta: { title: '土地交易详情', icon: 'radar' } 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> <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 <el-input
placeholder="搜索" placeholder="搜索"
class="side-input" class="side-input"
...@@ -134,7 +134,7 @@ export default { ...@@ -134,7 +134,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
#app{ #app{
.detail-container{ .sides-container{
width: 144px; width: 144px;
min-height: calc(100vh - 170px); min-height: calc(100vh - 170px);
padding-bottom: 20px; padding-bottom: 20px;
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
</el-table-column> </el-table-column>
<template v-for="item in forData"> <template v-for="item in forData">
<el-table-column <el-table-column
v-if="item.slot"
:label="item.label" :label="item.label"
:prop="item.prop" :prop="item.prop"
:width="item.width" :width="item.width"
...@@ -29,23 +28,21 @@ ...@@ -29,23 +28,21 @@
:fixed="item.fixed" :fixed="item.fixed"
:sortable="item.sortable" :sortable="item.sortable"
:resizable="false"> :resizable="false">
<template v-if="item.slotHeader" slot="header">
<slot :name="item.slotName"></slot>
</template>
<template slot-scope="scope"> <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> </template>
</el-table-column> </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> </template>
</el-table> </el-table>
</div> </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" /> <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>
</div> </div>
...@@ -83,6 +80,10 @@ export default { ...@@ -83,6 +80,10 @@ export default {
type: Object, type: Object,
default: {} default: {}
}, },
paging: {
type: Boolean,
default: true
},
}, },
data() { data() {
return { return {
...@@ -104,5 +105,7 @@ export default { ...@@ -104,5 +105,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-table__body tr.current-row > td.el-table__cell{
background-color: #ffffff;
}
</style> </style>
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
<el-dialog <el-dialog
class="popups1" class="popups1"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:before-close="cancel"
width="464px"> width="464px">
<div class="poptitle"> <div class="poptitle">
<img src="@/assets/images/economies/icon.png"> <img src="@/assets/images/economies/icon.png">
...@@ -60,8 +61,8 @@ ...@@ -60,8 +61,8 @@
<el-input v-model="addRorm.remark" placeholder="请输入"></el-input> <el-input v-model="addRorm.remark" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<div class="popbot"> <div class="popbot">
<div class="btn btn_cancel h32" @click="cancel('addRorm')">返回</div> <div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32" @click="add('addRorm')">保存</div> <div class="btn btn_primary h32" @click="add">保存</div>
</div> </div>
</el-form> </el-form>
</el-dialog> </el-dialog>
...@@ -82,23 +83,23 @@ export default { ...@@ -82,23 +83,23 @@ export default {
}, },
data() { data() {
return { return {
ifEmpty:true, ifEmpty:false,
queryParams:{ queryParams:{
customerId:6034, customerId:'f25219e73249eea0d9fddc5c7f04f97f',
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
}, },
forData: [ forData: [
{label: '姓名', prop: 'punishReason', width: '124'}, {label: '姓名', prop: 'name', width: '124'},
{label: '角色', prop: 'punishBegin', width: '110'}, {label: '角色', prop: 'role', width: '110'},
{label: '公司/机关', prop: 'punishResult', width: '268'}, {label: '公司/机关', prop: 'position', width: '268'},
{label: '职位', prop: 'fileNum', width: '110'}, {label: '职位', prop: 'workUnit', width: '110'},
{label: '联系方式', prop: 'cgrdm', width: '105'}, {label: '联系方式', prop: 'contactInformation', width: '105'},
{label: '内部维护人', prop: 'office', width: '88'}, {label: '内部维护人', prop: 'updateBy', width: '88'},
{label: '备注', prop: 'dataId'}, {label: '备注', prop: 'remark'},
], ],
addRorm: { addRorm: {
customerId:'', customerId:'f25219e73249eea0d9fddc5c7f04f97f',
name:'', name:'',
role:'', role:'',
workUnit:'', workUnit:'',
...@@ -116,9 +117,7 @@ export default { ...@@ -116,9 +117,7 @@ export default {
//列表 //列表
tableLoading:false, tableLoading:false,
tableData:[], tableData:[],
pageIndex:1, tableDataTotal:0,
pageSize:10,
tableDataTotal:50,
//弹窗 //弹窗
dialogVisible: false, dialogVisible: false,
} }
...@@ -131,26 +130,46 @@ export default { ...@@ -131,26 +130,46 @@ export default {
}, },
methods: { methods: {
list(){ list(){
this.tableLoading = true
getList(this.queryParams).then((res) => { 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
}
}) })
}, },
//分页 //分页
handleCurrentChange(e){ handleCurrentChange(e){
console.log(e) this.queryParams.pageNum = e
this.list()
}, },
add(formName){ add(){
this.$refs[formName].validate((valid) => { this.$refs.addRorm.validate((valid) => {
if (valid) { if (valid) {
this.addRorm.customerId = 11
addChain(this.addRorm).then((res) => { addChain(this.addRorm).then((res) => {
console.log(res) if(res.data){
this.$message({
message: '新增成功',
type: 'success'
});
this.cancel()
this.list()
}else{
this.$message({
message: res.msg,
type: 'error'
});
}
}) })
} }
}); });
}, },
cancel(formName){ cancel(){
this.$refs[formName].resetFields(); this.$refs.addRorm.resetFields();
this.dialogVisible = false this.dialogVisible = false
}, },
//打开新建窗口 //打开新建窗口
......
...@@ -8,11 +8,11 @@ ...@@ -8,11 +8,11 @@
<div class="part-right"> <div class="part-right">
<div id="partBox" v-if="companyId"> <div id="partBox" v-if="companyId">
<Overview v-if="currentPath.pathName=='overview'" /> <Overview v-if="currentPath.pathName=='overview'" />
<Businfo v-if="currentPath.pathName=='businfo'" /> <Businfo v-if="currentPath.pathName=='businfo'" :company-id="companyId" />
<Holderinfo v-if="currentPath.pathName=='holderinfo'" /> <Holderinfo v-if="currentPath.pathName=='holderinfo'" :company-id="companyId" />
<Execuinfo v-if="currentPath.pathName=='execuinfo'" /> <Execuinfo v-if="currentPath.pathName=='execuinfo'" :company-id="companyId" />
<Overseas v-if="currentPath.pathName=='overseas'" /> <Overseas v-if="currentPath.pathName=='overseas'" :company-id="companyId" />
<Branch v-if="currentPath.pathName=='branch'" /> <Branch v-if="currentPath.pathName=='branch'" :company-id="companyId" />
<Financial v-if="currentPath.pathName=='financial'" :company-id="companyId" /> <Financial v-if="currentPath.pathName=='financial'" :company-id="companyId" />
<Business v-if="currentPath.pathName=='business'" /> <Business v-if="currentPath.pathName=='business'" />
<!-- 投诚分析 --> <!-- 投诚分析 -->
......
<template> <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> </div>
</template> </template>
<script> <script>
import mixin from '../mixins/mixin'
export default { export default {
name: 'Overview', name: 'Branch',
mixins: [mixin],
data() { data() {
return { 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() { created() {
this.dataRegion()
}, },
methods: { 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> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.part-container{ .detail-container{
margin: 0; 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> </style>
<template> <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> </div>
</template> </template>
<script> <script>
import mixin from '../mixins/mixin'
export default { export default {
name: 'Overview', name: 'Businfo',
props: ['companyId'],
mixins: [mixin],
data() { data() {
return { 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() { created() {
this.handleData()
}, },
methods: { 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> </script>
<style lang="scss" scoped> <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; 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> </style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-container operations-container"> <div class="app-container operations-container">
<div class="common-title">公司经营</div> <div class="common-title">公司经营</div>
<div class="part-swiper"> <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"> <ul class="swiper-wrapper">
<li class="swiper-slide" v-for="(item, index) in operList" :key="index"> <li class="swiper-slide" v-for="(item, index) in operList" :key="index">
<div class="swiper-div"> <div class="swiper-div">
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="swiper-button-prev" slot="button-prev" style="left: 0;"><i class="el-icon-arrow-left"></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" slot="button-next" style="right: 0"><i class="el-icon-arrow-right"></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>
<div class="flex-box operations-list"> <div class="flex-box operations-list">
<div class="list-item" v-for="(item, index) in gsjyList" :key="index"> <div class="list-item" v-for="(item, index) in gsjyList" :key="index">
...@@ -35,7 +35,6 @@ export default { ...@@ -35,7 +35,6 @@ export default {
data() { data() {
return { return {
operList: [ 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'}, {name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
{name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'}, {name:'债务信用评级', rate:'中国标普信用', range:'AA', year:'2021'},
...@@ -57,12 +56,12 @@ export default { ...@@ -57,12 +56,12 @@ export default {
}, },
methods: { methods: {
companySwiper(){ companySwiper(){
new Swiper('.swiper-containers', { new Swiper('.swiper-oper', {
slidesPerView: 4, slidesPerView: 6,
// 设置点击箭头 // 设置点击箭头
navigation: { navigation: {
nextEl: '.swiper-button-next', nextEl: '.swiper-oper-next',
prevEl: '.swiper-button-prev', prevEl: '.swiper-oper-prev',
} }
}) })
} }
...@@ -78,7 +77,7 @@ export default { ...@@ -78,7 +77,7 @@ export default {
.part-swiper{ .part-swiper{
position: relative; position: relative;
margin-top: 16px; margin-top: 16px;
.swiper-containers{ .swiper-oper{
width: calc(100% - 38px); width: calc(100% - 38px);
height: 96px; height: 96px;
margin-top: 8px; margin-top: 8px;
...@@ -117,7 +116,7 @@ export default { ...@@ -117,7 +116,7 @@ export default {
} }
} }
} }
.swiper-button-prev, .swiper-button-next{ .swiper-oper-prev, .swiper-oper-next{
width: 16px; width: 16px;
height: 96px; height: 96px;
background: #F0F5FC; background: #F0F5FC;
......
<template> <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> </div>
</template> </template>
<script> <script>
import mixin from '../mixins/mixin'
export default { export default {
name: 'Overview', name: 'Execuinfo',
props: ['companyId'],
mixins: [mixin],
data() { data() {
return { return {
queryParams: {
cid: 6034,
pageNum: 1,
pageSize: 10
},
forData: [
{label: '姓名', prop: 'inDate'},
{label: '职位', prop: 'department'}
],
formData: [],
//列表
tableLoading:false,
tableData:[],
tableDataTotal:0,
} }
}, },
created() { created() {
this.handleData()
}, },
methods: { 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> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.part-container{ .detail-container{
margin: 0; margin: 0;
padding: 0; padding: 16px;
} background: #FFFFFF;
}
</style> </style>
<template> <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> </div>
</template> </template>
<script> <script>
import mixin from '../mixins/mixin'
export default { export default {
name: 'Overview', name: 'Holderinfo',
props: ['companyId'],
mixins: [mixin],
data() { data() {
return { 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() { created() {
this.handleData()
}, },
methods: { 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> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.part-container{ .detail-container{
margin: 0; 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> </style>
<template> <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> </div>
</template> </template>
<script> <script>
import mixin from '../mixins/mixin'
export default { export default {
name: 'Overview', name: 'Overseas',
props: ['companyId'],
mixins: [mixin],
data() { data() {
return { 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() { created() {
this.handleData()
}, },
methods: { 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> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.part-container{ .detail-container{
margin: 0; 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> </style>
<template> <template>
<div class="app-container part-container"> <div class="app-container part-container">
企业速览 <div class="view-content"><Infoheader /></div><!-- 企业信息 -->
<div class="view-content"><Operations /></div><!-- 公司经营 --> <div class="view-content"><Operations /></div><!-- 公司经营 -->
<div class="view-content"><Bidding /></div><!--招标偏好、业务往来--> <div class="view-content"><Bidding /></div><!--招标偏好、业务往来-->
<div class="view-content"><Busclue /></div><!--商机线索--> <div class="view-content"><Busclue /></div><!--商机线索-->
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
</template> </template>
<script> <script>
import Infoheader from "./component/infoheader"
import Operations from "./component/operations" import Operations from "./component/operations"
import Bidding from "./component/bidding" import Bidding from "./component/bidding"
import Busclue from './component/busclue' import Busclue from './component/busclue'
...@@ -23,6 +24,7 @@ export default { ...@@ -23,6 +24,7 @@ export default {
name: 'Overview', name: 'Overview',
props: ['companyId'], props: ['companyId'],
components: { components: {
Infoheader,
Operations, Operations,
Bidding, Bidding,
Busclue, Busclue,
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="params-item"> <div class="params-item">
<div class="flex-box item-flex"> <div class="flex-box item-flex">
<el-input <el-input
v-model="queryParams.key" v-model="queryParams.businessCharacteristic"
@focus="nowedit = 1" @focus="nowedit = 1"
placeholder="请输入商务条件特点" placeholder="请输入商务条件特点"
class="textarea" class="textarea"
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</el-input> </el-input>
<div class="flex btns" v-if="nowedit === 1"> <div class="flex btns" v-if="nowedit === 1">
<div class="flex"> <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 class="cancels " @click="nowedit = 0" style="">取消</div>
</div> </div>
</div> </div>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<div class="params-item"> <div class="params-item">
<div class="flex-box item-flex"> <div class="flex-box item-flex">
<el-input <el-input
v-model="queryParams.key" v-model="queryParams.decisionChain"
@focus="nowedit = 2" @focus="nowedit = 2"
placeholder="请输入决策链条" placeholder="请输入决策链条"
class="textarea" class="textarea"
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</el-input> </el-input>
<div class="flex btns" v-if="nowedit === 2"> <div class="flex btns" v-if="nowedit === 2">
<div class="flex"> <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 class="cancels " @click="nowedit = 0" style="">取消</div>
</div> </div>
</div> </div>
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
<div class="params-item"> <div class="params-item">
<div class="flex-box item-flex"> <div class="flex-box item-flex">
<el-input <el-input
v-model="queryParams.key" v-model="queryParams.bidCharacteristic"
@focus="nowedit = 3" @focus="nowedit = 3"
placeholder="请输入招投标流程特点" placeholder="请输入招投标流程特点"
class="textarea" class="textarea"
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</el-input> </el-input>
<div class="flex btns" v-if="nowedit === 3"> <div class="flex btns" v-if="nowedit === 3">
<div class="flex"> <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 class="cancels " @click="nowedit = 0" style="">取消</div>
</div> </div>
</div> </div>
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<div class="params-item"> <div class="params-item">
<div class="flex-box item-flex"> <div class="flex-box item-flex">
<el-input <el-input
v-model="queryParams.key" v-model="queryParams.performanceCharacteristic"
@focus="nowedit = 4" @focus="nowedit = 4"
placeholder="请输入履约阶段特点" placeholder="请输入履约阶段特点"
class="textarea" class="textarea"
...@@ -108,7 +108,36 @@ ...@@ -108,7 +108,36 @@
</el-input> </el-input>
<div class="flex btns" v-if="nowedit === 4"> <div class="flex btns" v-if="nowedit === 4">
<div class="flex"> <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 class="cancels " @click="nowedit = 0" style="">取消</div>
</div> </div>
</div> </div>
...@@ -122,6 +151,10 @@ ...@@ -122,6 +151,10 @@
</template> </template>
<script> <script>
import {
customerInfo,
customerUpdate
} from '@/api/detail/party-a/cooperate'
export default { export default {
name: 'Preference', name: 'Preference',
components: { components: {
...@@ -133,21 +166,47 @@ export default { ...@@ -133,21 +166,47 @@ export default {
minRows: 8, minRows: 8,
maxRows: 8 maxRows: 8
}, },
customerId: 'f25219e73249eea0d9fddc5c7f04f97f',
queryParams:{ queryParams:{
customerId: '',
businessCharacteristic: '',
decisionChain: '',
bidCharacteristic: '',
performanceCharacteristic: '',
otherMsCharacteistic: '',
}, },
key:'', key:'',
nowedit: 0 nowedit: 0
} }
}, },
created() { created() {
this.customerInfos()
}, },
computed: { computed: {
}, },
methods: { 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> </script>
......
...@@ -22,6 +22,10 @@ ...@@ -22,6 +22,10 @@
</template> </template>
<script> <script>
import {
abnormalPage,
abnormalYears
} from '@/api/detail/party-a/riskInformation'
import mixin from '../mixins/mixin' import mixin from '../mixins/mixin'
export default { export default {
name: 'BusinessAnomaly', name: 'BusinessAnomaly',
...@@ -45,14 +49,7 @@ export default { ...@@ -45,14 +49,7 @@ export default {
{label: '做出决定机关(移除)', prop: 'outDepartment', width: '264'} {label: '做出决定机关(移除)', prop: 'outDepartment', width: '264'}
], ],
formData: [ formData: [
{ type: 1, fieldName: 'years', value: '', placeholder: '列入时间', { type: 1, fieldName: 'years', value: '', placeholder: '列入时间', options: []}
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
}
], ],
//列表 //列表
tableLoading:false, tableLoading:false,
...@@ -63,26 +60,18 @@ export default { ...@@ -63,26 +60,18 @@ export default {
} }
}, },
created() { created() {
this.dataRegion() this.handleQuery()
}, },
computed: { computed: {
}, },
methods: { 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) { handleQuery(params) {
console.log(params) let data = params ? params : this.queryParams
} abnormalPage(data).then(res => {
})
},
} }
} }
</script> </script>
......
...@@ -19,9 +19,9 @@ ...@@ -19,9 +19,9 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="punishReason" slot-scope="scope"> <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}"> <span :class="[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)?'cell-span':'']" :style="{'-webkit-line-clamp': 5}">
{{ scope.data }} {{ scope.row.punishReason }}
<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 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> </span>
</template> </template>
</tables> </tables>
...@@ -34,7 +34,7 @@ import mixin from '../mixins/mixin' ...@@ -34,7 +34,7 @@ import mixin from '../mixins/mixin'
import { import {
penalizePage, penalizePage,
penalizeReasonType penalizeReasonType
} from '@/api/riskInformation/punish' } from '@/api/detail/party-a/riskInformation'
export default { export default {
name: 'Punish', name: 'Punish',
mixins: [mixin], mixins: [mixin],
...@@ -44,7 +44,7 @@ export default { ...@@ -44,7 +44,7 @@ export default {
data() { data() {
return { return {
queryParams: { queryParams: {
cid: 6034, cid: 382724726,
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
...@@ -58,14 +58,7 @@ export default { ...@@ -58,14 +58,7 @@ export default {
{label: '处罚结束日期', prop: 'dataId', width: '100'}, {label: '处罚结束日期', prop: 'dataId', width: '100'},
], ],
formData: [ formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '处罚类别', { type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '处罚类别', options: []},
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []}, { type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
], ],
//列表 //列表
...@@ -86,20 +79,20 @@ export default { ...@@ -86,20 +79,20 @@ export default {
} }
}, },
created() { created() {
this.dataRegion() this.getList()
this.penalizeReasonTypeData() this.penalizeReasonTypeData()
}, },
computed: { computed: {
}, },
methods: { methods: {
async dataRegion() { getList() {
penalizePage(this.queryParams).then((res) => { penalizePage(this.queryParams).then((res) => {
console.log(res) console.log(res.data.rows)
}) })
}, },
penalizeReasonTypeData(){ penalizeReasonTypeData(){
penalizeReasonType({cid:6034}).then((res) => { penalizeReasonType({cid:this.queryParams.cid}).then((res) => {
console.log(res) console.log(res)
}) })
}, },
...@@ -136,9 +129,7 @@ export default { ...@@ -136,9 +129,7 @@ export default {
::v-deep .el-form-item{ ::v-deep .el-form-item{
margin-right: 8px !important; margin-right: 8px !important;
} }
::v-deep .el-table__body tr.current-row > td.el-table__cell{
background-color: #ffffff;
}
.query-box{ .query-box{
margin: 10px 0 20px; margin: 10px 0 20px;
} }
......
...@@ -22,6 +22,10 @@ ...@@ -22,6 +22,10 @@
</template> </template>
<script> <script>
import {
landTransactionPage,
landUse
} from '@/api/detail/party-a/urbanLnvestment'
import mixin from '../mixins/mixin' import mixin from '../mixins/mixin'
export default { export default {
name: 'landAcquisition', name: 'landAcquisition',
...@@ -32,7 +36,8 @@ export default { ...@@ -32,7 +36,8 @@ export default {
data() { data() {
return { return {
queryParams: { queryParams: {
cid: 6034, cid: 3068,
sort: 3,
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
...@@ -48,54 +53,40 @@ export default { ...@@ -48,54 +53,40 @@ export default {
{label: '签订日期', prop: 'dataId', width: '120'} {label: '签订日期', prop: 'dataId', width: '120'}
], ],
formData: [ formData: [
{ type: 4, fieldName: 'penalizeReasonType', value: [], placeholder: '土地用途', { type: 4, fieldName: 'landUse', value: [], placeholder: '土地用途', options: []},
options: [
{ name: '处罚类别1', value: '1' },
{ name: '处罚类别2', value: '2' },
{ name: '处罚类别3', value: '3' },
{ name: '处罚类别4', value: '4' }
]
},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []}, { type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词', options: []},
], ],
//列表 //列表
tableLoading:false, tableLoading:false,
tableData:[], tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0, tableDataTotal:0,
} }
}, },
created() { created() {
this.dataRegion() this.getList()
this.getlandUse()
}, },
computed: { computed: {
}, },
methods: { methods: {
async dataRegion() { getList() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, { this.tableLoading = true
// headers: { landTransactionPage(this.queryParams).then(res=>{
// 'Content-Type': 'application/json' this.tableData = res.data
// } this.tableDataTotal = res.data.total
// }).then(res => { this.tableLoading = false
// if (res.data.code == 200) { })
// console.log(res.data.data)
// }
// })
},
handleQuery() {
}, },
resetQuery() { handleQuery(params) {
console.log(params)
}, },
//分页 //土地用途
handleCurrentChange(e){ getlandUse(){
landUse({cid: this.queryParams.cid}).then(res=>{
}, console.log(res)
handleSizeChange(e){ // this.formData[0].options = res.data
})
} }
} }
} }
......
...@@ -24,6 +24,9 @@ ...@@ -24,6 +24,9 @@
</template> </template>
<script> <script>
import {
regionalEconomy
} from '@/api/detail/party-a/urbanLnvestment'
export default { export default {
name: 'regionalEconomies', name: 'regionalEconomies',
components: { components: {
...@@ -31,47 +34,14 @@ export default { ...@@ -31,47 +34,14 @@ export default {
}, },
data() { data() {
return { return {
tableData: [ params: {
{ provinceId: 500000,
zb:"2023年", cityId: 500100
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',
}, },
{ tableData: [],
zb:"2018年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
],
headers: [ headers: [
{ {
prop: 'zb', prop: 'year',
label: '指标', label: '指标',
}, },
{ {
...@@ -83,51 +53,51 @@ export default { ...@@ -83,51 +53,51 @@ export default {
label: 'GDP(亿元)', label: 'GDP(亿元)',
}, },
{ {
prop: 'gdpzs', prop: 'gdpGrowth',
label: 'GDP增速', label: 'GDP增速',
}, },
{ {
prop: 'rjgdp', prop: 'gdpPerCapita',
label: '人均GDP(元)', label: '人均GDP(元)',
}, },
{ {
prop: 'rjgdp', prop: 'piAddValue',
label: '第一产业增加值(亿元)', label: '第一产业增加值(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'siAddValue',
label: '第二产业增加值(亿元)', label: '第二产业增加值(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'tiAddValue',
label: '第三产业增加值(亿元)', label: '第三产业增加值(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'population',
label: '人口(万人)', label: '人口(万人)',
}, },
{ {
prop: 'rjgdp', prop: 'industryAddValue',
label: '工业增加值(亿元)', label: '工业增加值(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'industryTotalValue',
label: '工业总产值(亿元)', label: '工业总产值(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'realEstateInvestment',
label: '房地产开发投资(亿元)', label: '房地产开发投资(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'eximTotalValue',
label: '进出口总额(亿美元)', label: '进出口总额(亿美元)',
}, },
{ {
prop: 'rjgdp', prop: 'trscg',
label: '社会消费品零售总额(亿元)', label: '社会消费品零售总额(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'urbanPcdi',
label: '城镇居民人均可支配收入(元)', label: '城镇居民人均可支配收入(元)',
}, },
{ {
...@@ -135,47 +105,47 @@ export default { ...@@ -135,47 +105,47 @@ export default {
label: '财政', label: '财政',
}, },
{ {
prop: 'rjgdp', prop: 'gbr',
label: '一般公共预算收入(亿元)', label: '一般公共预算收入(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'gbrGrowth',
label: '般公共预算收入增速', label: '般公共预算收入增速',
}, },
{ {
prop: 'rjgdp', prop: 'taxIncome',
label: '税收收入(亿元)', label: '税收收入(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'transferIncome',
label: '转移性收入(亿元)', label: '转移性收入(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'superiorSubsidyIncome',
label: '上级补助收入(亿元)', label: '上级补助收入(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'gbe',
label: '一般公共预算支出(亿元)', label: '一般公共预算支出(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'govFundIncome',
label: '政府性基金收入(亿元)', label: '政府性基金收入(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'landTransferIncome',
label: '土地出让收入(亿元)', label: '土地出让收入(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'govFundExpenditure',
label: '政府性基金支出(亿元)', label: '政府性基金支出(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'soecoi',
label: '国有资本经营收入(亿元)', label: '国有资本经营收入(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'soecoe',
label: '国有资本经营支出(亿元)', label: '国有资本经营支出(亿元)',
}, },
{ {
...@@ -183,49 +153,50 @@ export default { ...@@ -183,49 +153,50 @@ export default {
label: '债务', label: '债务',
}, },
{ {
prop: 'rjgdp', prop: 'govDebtBalance',
label: '地方政府债务余额(亿元)', label: '地方政府债务余额(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'generalDebtBalance',
label: '一般债余额(亿元)', label: '一般债余额(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'specialDebtBalance',
label: '专项债余额(亿元)', label: '专项债余额(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'govDebtLimit',
label: '地方政府债务限额(亿元)', label: '地方政府债务限额(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'uipInterestBearingDebt',
label: '城投平台有息债务(亿元)', label: '城投平台有息债务(亿元)',
}, },
{ {
prop: 'rjgdp', prop: 'fiscalSelfSufficiencyRate',
label: '财政自给率', label: '财政自给率',
}, },
{ {
prop: 'rjgdp', prop: 'govDebtToGdpRate',
label: '负债率', label: '负债率',
}, },
{ {
prop: 'rjgdp', prop: 'govDebtToGdpRateWild',
label: '负债率-宽口径', label: '负债率-宽口径',
}, },
{ {
prop: 'rjgdp', prop: 'govDebtRate',
label: '债务率', label: '债务率',
}, },
{ {
prop: 'rjgdp', prop: 'govDebtRateWild',
label: '债务率-宽口径', label: '债务率-宽口径',
}, },
], ],
} }
}, },
created() { created() {
console.log(11)
this.dataRegion() this.dataRegion()
}, },
computed: { computed: {
...@@ -240,16 +211,10 @@ export default { ...@@ -240,16 +211,10 @@ export default {
}, },
methods: { methods: {
//地区 //地区
async dataRegion() { dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, { regionalEconomy(this.params).then(res => {
// headers: { this.tableData = res.data
// 'Content-Type': 'application/json' })
// }
// }).then(res => {
// if (res.data.code == 200) {
// console.log(res.data.data)
// }
// })
}, },
} }
} }
......
...@@ -17,7 +17,11 @@ ...@@ -17,7 +17,11 @@
:queryParams="queryParams" :queryParams="queryParams"
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
@sort-change="sortChange" @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> </div>
</template> </template>
...@@ -25,6 +29,9 @@ ...@@ -25,6 +29,9 @@
<script> <script>
import mixin from '../mixins/mixin' import mixin from '../mixins/mixin'
import dataRegion from '@/assets/json/dataRegion' import dataRegion from '@/assets/json/dataRegion'
import {
urbanInvestmentPage
} from '@/api/detail/party-a/urbanLnvestment'
export default { export default {
name: 'SameRegion', name: 'SameRegion',
mixins: [mixin], mixins: [mixin],
...@@ -34,21 +41,36 @@ export default { ...@@ -34,21 +41,36 @@ export default {
data() { data() {
return { return {
queryParams: { queryParams: {
cid: 6034, provinceId: 500000,
cityId: 500100,
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 15
}, },
forData: [ forData: [
{label: '企业名称', prop: 'punishReason'}, {label: '企业名称', prop: 'companyName', width: '369', slot: true},
{label: '成员层级', prop: 'punishBegin', width: '120'}, {label: '区域', prop: 'area', width: '100'},
{label: '法定代表人', prop: 'punishResult', width: '120'}, {label: '主体评级', prop: 'bratingSubjectLevel', width: '110'},
{label: '注册资本', prop: 'fileNum', width: '120', sortable:true}, {label: '债劵余额(亿元)', prop: 'bondBalance', width: '130'},
{label: '成立日期', prop: 'cgrdm', width: '120', sortable:true}, {label: '行政级别', prop: 'uipExecutiveLevel', width: '120'},
{label: '实控人控股', prop: 'office', width: '130', sortable:true}, {label: '股东背景', prop: 'shareholderBg', width: '120'},
{label: '行业类型', prop: 'dataId', width: '120'}, {label: '股权关系', prop: 'equityRelationship', width: '120'},
{label: '所属省', prop: 'dataId', width: '120'}, {label: '平台重要性', prop: 'platformImportance', width: '120'},
{label: '所属市', prop: 'dataId', width: '120'}, {label: '城投业务类型', prop: 'uipBusinessType', width: '120'},
{label: '所属区/县', prop: 'dataId', 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: [ formData: [
{ type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选', { type: 1, fieldName: 'penalizeReasonType', value: '', placeholder: '筛选',
...@@ -68,13 +90,13 @@ export default { ...@@ -68,13 +90,13 @@ export default {
} }
}, },
created() { created() {
this.dataRegion() this.handleQuery()
}, },
computed: { computed: {
}, },
methods: { methods: {
async dataRegion() { dataRegion() {
// await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, { // await axios.post("https://files.jiansheku.com/file/json/common/dataRegion.json", {}, {
// headers: { // headers: {
// 'Content-Type': 'application/json' // 'Content-Type': 'application/json'
...@@ -126,18 +148,14 @@ export default { ...@@ -126,18 +148,14 @@ export default {
} }
this.addressList = str; this.addressList = str;
}, },
handleQuery() { handleQuery(params){
this.tableLoading = true
}, let data = params ? params : this.queryParams
resetQuery() { urbanInvestmentPage(data).then(res => {
this.tableData = res.data.list
}, this.tableDataTotal = res.data.totalCount
//分页 this.tableLoading = false
handleCurrentChange(e){ })
},
handleSizeChange(e){
} }
} }
} }
......
...@@ -15,13 +15,13 @@ export default { ...@@ -15,13 +15,13 @@ export default {
loading: false, // 是否加载中 loading: false, // 是否加载中
iframeHight: window.innerHeight, // iframe高度 iframeHight: window.innerHeight, // iframe高度
scrollTop: 0, // 滚动条距离内部页面顶部距离 scrollTop: 0, // 滚动条距离内部页面顶部距离
token: this.$store.getters.token // 需要携带的token secretid: '' // 需要携带的sdkId
} }
}, },
created() { created() {
if (this.$route.query.companyId) { // 获取companyId if (this.$route.query.companyId) { // 获取companyId
this.loading = true 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() { 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>
This diff is collapsed.
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
<ul class="bottomlist-content"> <ul class="bottomlist-content">
<li class="bottomlist-list" > <li class="bottomlist-list" >
<p class="list-titel"> <p class="list-titel">
<router-link :to="'/radar/Land/details/'+ 1" tag="a" class="list-titel-a" >绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)</router-link> <router-link :to="'/radar/Establishment/details/'+ 1" tag="a" class="list-titel-a" >绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)</router-link>
<!-- <div v-else-if="item.projectName" v-html="item.projectName"></div> --> <!-- <div v-else-if="item.projectName" v-html="item.projectName"></div> -->
</p> </p>
<div class="content-label"> <div class="content-label">
......
This diff is collapsed.
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
<Land v-if="personnelHerf=='Land'" /> <Land v-if="personnelHerf=='Land'" />
<!-- 拟建项目 --> <!-- 拟建项目 -->
<Establishment v-if="personnelHerf=='Establishment'" /> <Establishment v-if="personnelHerf=='Establishment'" />
<!-- 标讯pro -->
<bxprozbgg v-if="personnelHerf=='bxprozbgg'" />
</div> </div>
...@@ -27,10 +29,11 @@ ...@@ -27,10 +29,11 @@
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 Establishment from "./components/Establishment/index.vue";
import bxprozbgg from "./components/bxprozbgg/index.vue";
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
export default { export default {
name: 'radar', name: 'radar',
components: { debtProject,Land,Establishment }, components: { debtProject,Land,Establishment,bxprozbgg },
data() { data() {
return { return {
// tablist // tablist
...@@ -59,7 +62,7 @@ ...@@ -59,7 +62,7 @@
}, },
{ {
key: 'KeyPersonnel', key: 'bxprozbgg',
status: false, status: false,
value: '标讯pro', value: '标讯pro',
......
package com.dsk.system.domain; package com.dsk.system.domain;
import com.dsk.common.utils.StringUtils;
import lombok.Data; import lombok.Data;
/** /**
...@@ -60,6 +61,6 @@ public class BusinessAddDto { ...@@ -60,6 +61,6 @@ public class BusinessAddDto {
private String customerId; private String customerId;
public Double getInvestmentAmount() { 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; ...@@ -2,6 +2,8 @@ package com.dsk.system.domain;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author lxl * @author lxl
* @Description: * @Description:
...@@ -28,17 +30,17 @@ public class BusinessListDto { ...@@ -28,17 +30,17 @@ public class BusinessListDto {
/** /**
* 省id * 省id
*/ */
private Integer provinceId; private List<Integer> provinceId;
/** /**
* 市id * 市id
*/ */
private Integer cityId; private List<Integer> cityId;
/** /**
* 区id * 区id
*/ */
private Integer districtId; private List<Integer> districtId;
/** /**
* 项目类型 * 项目类型
......
...@@ -29,6 +29,10 @@ public class Customer implements Serializable { ...@@ -29,6 +29,10 @@ public class Customer implements Serializable {
* jsk企业id * jsk企业id
*/ */
private Integer companyId; private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/** /**
* 客户名称(企业名称) * 客户名称(企业名称)
*/ */
......
...@@ -14,6 +14,10 @@ public class CustomerListVo { ...@@ -14,6 +14,10 @@ public class CustomerListVo {
* jsk企业id * jsk企业id
*/ */
private Integer companyId; private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/** /**
* 客户名称(企业名称) * 客户名称(企业名称)
*/ */
......
package com.dsk.system.domain.customer.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 客户状态列表
*
* @author lcl
* @create 2023/5/22
*/
@Data
public class CustomerStatusListVo implements Serializable {
/**
* 客户id
*/
private String customerId;
/**
* 城投id
*/
private String uipId;
}
...@@ -26,17 +26,17 @@ public class BusinessListVo { ...@@ -26,17 +26,17 @@ public class BusinessListVo {
/** /**
* 省 * 省
*/ */
private Integer provinceName; private String provinceName;
/** /**
* 市 * 市
*/ */
private Integer cityName; private String cityName;
/** /**
* 区 * 区
*/ */
private Integer districtName; private String districtName;
/** /**
* 投资估算 * 投资估算
......
package com.dsk.system.dskService; package com.dsk.system.dskService;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*; import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
...@@ -128,4 +129,11 @@ public class EnterpriseService { ...@@ -128,4 +129,11 @@ public class EnterpriseService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financial", BeanUtil.beanToMap(body, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/financial", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
public R getUipId(String companyName) throws Exception {
Map<String, Object> params = new HashMap<>();
params.put("companyName",companyName);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/getUipId", params);
return BeanUtil.toBean(map, R.class);
}
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.system.domain.customer.Customer; import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.dto.CustomerSearchDto; import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.domain.customer.vo.CustomerListVo; import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -23,7 +24,9 @@ public interface CustomerMapper extends BaseMapper<Customer> { ...@@ -23,7 +24,9 @@ public interface CustomerMapper extends BaseMapper<Customer> {
List<Customer> selectUserList(Long userId); List<Customer> selectUserList(Long userId);
Customer selectByCompanyIdAndUserId(@Param("companyId")Integer companyId,@Param("userId")Long userId); Customer selectByCompanyNameAndUserId(@Param("companyName") String companyName, @Param("userId") Long userId);
List<CustomerStatusListVo> selectStatusList(@Param("uipIds") List<String> uipIds, @Param("userId") Long userId);
} }
...@@ -8,7 +8,9 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto; ...@@ -8,7 +8,9 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo; import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.vo.BusinessBrowseVo; import com.dsk.system.domain.vo.BusinessBrowseVo;
import com.dsk.system.domain.vo.BusinessListVo; import com.dsk.system.domain.vo.BusinessListVo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
/** /**
...@@ -56,6 +58,11 @@ public interface IBusinessInfoService ...@@ -56,6 +58,11 @@ public interface IBusinessInfoService
*/ */
List<String> selectProjectName(BusinessListDto dto); List<String> selectProjectName(BusinessListDto dto);
/**
* 项目批量导入
*/
AjaxResult batchUpload(MultipartFile file, HttpServletResponse response);
/** /**
* 新增项目详情 * 新增项目详情
* *
......
...@@ -5,6 +5,7 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto; ...@@ -5,6 +5,7 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto; import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo; import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo; import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import com.dsk.system.domain.customer.vo.CustomerVo; import com.dsk.system.domain.customer.vo.CustomerVo;
import java.util.List; import java.util.List;
...@@ -29,4 +30,6 @@ public interface ICustomerService { ...@@ -29,4 +30,6 @@ public interface ICustomerService {
List<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto); List<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto);
List<CustomerStatusListVo> selectStatusList(List<String> uipIds);
} }
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import java.util.Arrays; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.constant.HttpStatus;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessInfo; import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.core.domain.entity.BusinessLabel; import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.common.core.domain.entity.BusinessRelateCompany; import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.core.domain.entity.BusinessUser; import com.dsk.common.core.domain.entity.BusinessUser;
import com.dsk.common.dtos.BusinessInfoDto;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.SecurityUtils; import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.BusinessExcelDto;
import com.dsk.system.domain.BusinessAddDto; import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto; import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto; import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
...@@ -24,11 +27,13 @@ import com.dsk.system.mapper.BusinessLabelMapper; ...@@ -24,11 +27,13 @@ import com.dsk.system.mapper.BusinessLabelMapper;
import com.dsk.system.mapper.BusinessRelateCompanyMapper; import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.mapper.BusinessUserMapper; import com.dsk.system.mapper.BusinessUserMapper;
import com.dsk.system.service.IBusinessInfoService; import com.dsk.system.service.IBusinessInfoService;
import org.springframework.beans.factory.annotation.Autowired; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
/** /**
* 项目详情Service业务层处理 * 项目详情Service业务层处理
...@@ -37,6 +42,7 @@ import javax.annotation.Resource; ...@@ -37,6 +42,7 @@ import javax.annotation.Resource;
* @date 2023-05-17 * @date 2023-05-17
*/ */
@Service @Service
@Slf4j
public class BusinessInfoServiceImpl implements IBusinessInfoService { public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Resource @Resource
private BusinessInfoMapper businessInfoMapper; private BusinessInfoMapper businessInfoMapper;
...@@ -46,6 +52,8 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -46,6 +52,8 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
private BusinessRelateCompanyMapper businessRelateCompanyMapper; private BusinessRelateCompanyMapper businessRelateCompanyMapper;
@Resource @Resource
private BusinessLabelMapper businessLabelMapper; private BusinessLabelMapper businessLabelMapper;
@Resource
private ReadBusinessInfoExcel readBusinessInfoExcel;
/** /**
* 查询项目详情 * 查询项目详情
...@@ -97,6 +105,37 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -97,6 +105,37 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
return businessInfoMapper.selectProjectName(dto); return businessInfoMapper.selectProjectName(dto);
} }
@Override
public AjaxResult batchUpload(MultipartFile file, HttpServletResponse response) {
int row=3;//起始行数
int rowSuccess=0;//成功条数
Integer errorCount=0;//失败条数
List<String> result = new LinkedList();//导入结果汇总
List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file);
for (BusinessExcelDto businessInfo : businessInfoList) {
//查询已有的项目名称
Integer count = businessInfoMapper.selectCount(Wrappers.<BusinessInfo>lambdaQuery().eq(BusinessInfo::getProjectName, businessInfo.getProjectName()));
row++;
if(count > 0){
//如果存在,跳过该项目,不保存
result.add("第"+row+"行的"+businessInfo.getProjectName()+"的项目已存在,跳过该项目,保存下一条");
errorCount++;
}else {
//保存到数据库
BusinessAddDto businessAddDto = new BusinessAddDto();
BeanUtil.copyProperties(businessInfo,businessAddDto);
//获取当前登录用户id
businessAddDto.setUserId(SecurityUtils.getLoginUser().getUserId().intValue());
businessAddDto.setCompanyId(0);
AjaxResult add = insertBusinessInfo(businessAddDto);
if(add.get("code").equals(HttpStatus.SUCCESS))rowSuccess++;
}
}
result.add("导入项目成功条数"+rowSuccess);
result.add("导入项目失败条件"+errorCount);
return errorCount == businessInfoList.size() ? AjaxResult.error(String.join("\n",result),response) : AjaxResult.success(String.join("\n",result),response);
}
/** /**
* 新增项目详情 * 新增项目详情
* *
...@@ -106,6 +145,9 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -106,6 +145,9 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Override @Override
@Transactional @Transactional
public AjaxResult insertBusinessInfo(BusinessAddDto dto) { public AjaxResult insertBusinessInfo(BusinessAddDto dto) {
//新增前查询是否已存在
BusinessInfo selectOne = businessInfoMapper.selectOne(Wrappers.<BusinessInfo>lambdaQuery().eq(BusinessInfo::getProjectName, dto.getProjectName()));
if(ObjectUtil.isNotEmpty(selectOne)) return AjaxResult.error("项目名称已存在");
//新增项目主信息 //新增项目主信息
BusinessInfo businessInfo = new BusinessInfo(); BusinessInfo businessInfo = new BusinessInfo();
BeanUtil.copyProperties(dto, businessInfo); BeanUtil.copyProperties(dto, businessInfo);
......
...@@ -2,7 +2,9 @@ package com.dsk.system.service.impl; ...@@ -2,7 +2,9 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanException; import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.core.domain.R;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.SecurityUtils; import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.customer.Customer; import com.dsk.system.domain.customer.Customer;
...@@ -11,7 +13,9 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto; ...@@ -11,7 +13,9 @@ import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto; import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo; import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo; import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import com.dsk.system.domain.customer.vo.CustomerVo; import com.dsk.system.domain.customer.vo.CustomerVo;
import com.dsk.system.dskService.EnterpriseService;
import com.dsk.system.mapper.CustomerMapper; import com.dsk.system.mapper.CustomerMapper;
import com.dsk.system.mapper.CustomerUserMapper; import com.dsk.system.mapper.CustomerUserMapper;
import com.dsk.system.service.IBusinessInfoService; import com.dsk.system.service.IBusinessInfoService;
...@@ -41,6 +45,8 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -41,6 +45,8 @@ public class CustomerServiceImpl implements ICustomerService {
private CustomerUserMapper customerUserMapper; private CustomerUserMapper customerUserMapper;
@Autowired @Autowired
private IBusinessInfoService businessInfoService; private IBusinessInfoService businessInfoService;
@Autowired
private EnterpriseService enterpriseService;
@Override @Override
public List<CustomerListVo> selectList(CustomerSearchDto dto) { public List<CustomerListVo> selectList(CustomerSearchDto dto) {
...@@ -70,13 +76,20 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -70,13 +76,20 @@ public class CustomerServiceImpl implements ICustomerService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean add(Customer customer) { public boolean add(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空"); try {
if (ObjectUtils.isEmpty(customer.getCompanyId())) throw new BeanException("企业id不能为空"); R res = enterpriseService.getUipId(customer.getCompanyName());
final Long userId = SecurityUtils.getUserId(); if (!ObjectUtils.isEmpty(res.getData())) {
customer.setUipId(MapUtil.getStr(BeanUtil.beanToMap(res.getData()), "uipId"));
}
} catch (Exception e) {
log.error("获取城投平台企业id错误!error:{}", e.getMessage());
}
Long userId = SecurityUtils.getUserId();
customer.setCreateId(userId); customer.setCreateId(userId);
customer.setUpdateId(userId); customer.setUpdateId(userId);
//查重 //查重
Customer verifyCustomer = baseMapper.selectByCompanyIdAndUserId(customer.getCompanyId(), userId); Customer verifyCustomer = baseMapper.selectByCompanyNameAndUserId(customer.getCompanyName(), userId);
if (!ObjectUtils.isEmpty(verifyCustomer)) { if (!ObjectUtils.isEmpty(verifyCustomer)) {
throw new ServiceException("当前客户信息已存在,请勿重复添加!"); throw new ServiceException("当前客户信息已存在,请勿重复添加!");
} }
...@@ -111,4 +124,9 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -111,4 +124,9 @@ public class CustomerServiceImpl implements ICustomerService {
return businessInfoService.selectCustomerBusinessList(dto); return businessInfoService.selectCustomerBusinessList(dto);
} }
@Override
public List<CustomerStatusListVo> selectStatusList(List<String> uipIds) {
return baseMapper.selectStatusList(uipIds, SecurityUtils.getUserId());
}
} }
package com.dsk.system.service.impl;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import com.dsk.system.domain.BusinessExcelDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
/**
* @author lxl
* @Description:
* @Date 2023/6/1 下午 4:30
**/
@Slf4j
@Service
public class ReadBusinessInfoExcel {
// 总行数
private int totalRows = 0;
// 总条数
private int totalCells = 0;
public int getTotalRows() {
return totalRows;
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}
public int getTotalCells() {
return totalCells;
}
public void setTotalCells(int totalCells) {
this.totalCells = totalCells;
}
/**
* 读EXCEL文件,获取信息集合
*
* @param mFile
* @return
*/
public List<BusinessExcelDto> getExcelInfo(MultipartFile mFile) {
String fileName = mFile.getOriginalFilename();// 获取文件名
try {
// 验证文件名是否合格
if (!validateExcel(fileName)) return null;
// 根据文件名判断文件是2003版本还是2007版本
boolean isExcel2003 = true;
if (isExcel2007(fileName)) isExcel2003 = false;
return createExcel(mFile.getInputStream(), isExcel2003);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 根据excel里面的内容读取信息
*
* @param is 输入流
* @param isExcel2003 excel是2003还是2007版本
* @return
*/
public List<BusinessExcelDto> createExcel(InputStream is, boolean isExcel2003) {
try {
Workbook wb = null;
// 当excel是2003时,创建excel2003
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
// 当excel是2007时,创建excel2007
wb = new XSSFWorkbook(is);
}
return readExcelValue(wb);// 读取Excel里面客户的信息
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 读取Excel内容
*
* @param wb
* @return
*/
private List<BusinessExcelDto> readExcelValue(Workbook wb) {
//得到第一个shell
Sheet sheet = wb.getSheetAt(0);
//得到Excel的行数
this.totalRows = sheet.getPhysicalNumberOfRows();
//得到Excel的列数(前提是有行数)
if (totalRows > 1 && sheet.getRow(0) != null) {
this.totalCells = sheet.getRow(0).getPhysicalNumberOfCells();
}
// List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
ArrayList<BusinessExcelDto> list = new ArrayList<>();
//循环Excel行数
for (int r = 1; r < totalRows; r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
//循环Excel的列
// Map<String, Object> map = new HashMap<String, Object>();
BusinessExcelDto businessExcelDto = new BusinessExcelDto();
for (int c = 3; c < this.totalCells; c++) {
Cell cell = row.getCell(c);
if (null != cell) {
if (c == 0) {
//如果是纯数字,比如你写的是25,cell.getNumericCellValue()获得是25.0,通过截取字符串去掉.0获得25
if (cell.getCellType() == CellType.NUMERIC) {
String name = String.valueOf(cell.getNumericCellValue());
businessExcelDto.setProjectName(name.substring(0, name.length() - 2 > 0 ? name.length() - 2 : 1));//项目名称
} else {
businessExcelDto.setProjectName(cell.getStringCellValue());//名称
}
} else if (c == 1) {
if (cell.getCellType() == CellType.NUMERIC) {
String company = String.valueOf(cell.getNumericCellValue());
businessExcelDto.setOwnerCompany(company.substring(0, company.length() - 2 > 0 ? company.length() - 2 : 1));//业主单位
} else {
businessExcelDto.setOwnerCompany(cell.getStringCellValue());//性别
}
} else if (c == 2) {
if (cell.getCellType() == CellType.NUMERIC) {
String amount = String.valueOf(cell.getNumericCellValue());
businessExcelDto.setInvestmentAmount(amount.substring(0, amount.length() - 2 > 0 ? amount.length() - 2 : 1));//投资估算(万元)
} else {
businessExcelDto.setInvestmentAmount(cell.getStringCellValue());
}
}
}
}
//添加到list
list.add(businessExcelDto);
}
return list;
}
/**
* 验证EXCEL文件
* @param filePath
* @return
*/
public boolean validateExcel(String filePath) {
if (filePath == null || !(isExcel2003(filePath) || isExcel2007(filePath))) {
log.info("文件不是excel格式");
return false;
}
return true;
}
// @描述:是否是2003的excel,返回true是2003
public static boolean isExcel2003(String filePath) {
return filePath.matches("^.+\\.(?i)(xls)$");
}
// @描述:是否是2007的excel,返回true是2007
public static boolean isExcel2007(String filePath) {
return filePath.matches("^.+\\.(?i)(xlsx)$");
}
}
...@@ -80,15 +80,6 @@ ...@@ -80,15 +80,6 @@
LEFT JOIN business_user bu on bu.business_id = i.id LEFT JOIN business_user bu on bu.business_id = i.id
LEFT JOIN sys_user u on u.user_id = f.user_id LEFT JOIN sys_user u on u.user_id = f.user_id
<where> <where>
<if test="provinceId != null">
and i.province_id = #{provinceId}
</if>
<if test="cityId != null">
and i.city_id = #{cityId}
</if>
<if test="districtId != null">
and i.district_id = #{districtId}
</if>
<if test="projectType != null and projectType != ''"> <if test="projectType != null and projectType != ''">
and i.project_type = #{projectType} and i.project_type = #{projectType}
</if> </if>
...@@ -116,6 +107,77 @@ ...@@ -116,6 +107,77 @@
<if test="deptId != null"> <if test="deptId != null">
and bu.dept_id = #{deptId} and i.is_private = 1 and bu.dept_id = #{deptId} and i.is_private = 1
</if> </if>
<if test="provinceId != null and provinceId.size > 0 and cityId == null and districtId == null">
and i.province_id in
<foreach collection="provinceId" item="provinceId" open="(" separator="," close=")">
#{provinceId}
</foreach>
</if>
<if test="cityId != null and cityId.size > 0 and provinceId == null and districtId == null">
and i.city_id in
<foreach collection="cityId" item="cityId" open="(" separator="," close=")">
#{cityId}
</foreach>
</if>
<if test="districtId != null and districtId.size > 0 and provinceId == null and cityId == null">
and i.district_id in
<foreach collection="districtId" item="districtId" open="(" separator="," close=")">
#{districtId}
</foreach>
</if>
<if test="provinceId != null and provinceId.size > 0 and cityId != null and cityId.size > 0 and districtId == null">
and (
i.province_id in
<foreach collection="provinceId" item="provinceId" open="(" separator="," close=")">
#{provinceId}
</foreach>
or i.city_id in
<foreach collection="cityId" item="cityId" open="(" separator="," close=")">
#{cityId}
</foreach>
)
</if>
<if test="provinceId != null and provinceId.size > 0 and districtId != null and districtId.size > 0 and cityId == null">
and (
i.province_id in
<foreach collection="provinceId" item="provinceId" open="(" separator="," close=")">
#{provinceId}
</foreach>
or i.district_id in
<foreach collection="districtId" item="districtId" open="(" separator="," close=")">
#{districtId}
</foreach>
)
</if>
<if test="cityId != null and cityId.size > 0 and districtId != null and districtId.size > 0 and provinceId ==null">
and (
i.city_id in
<foreach collection="cityId" item="cityId" open="(" separator="," close=")">
#{cityId}
</foreach>
or i.district_id in
<foreach collection="districtId" item="districtId" open="(" separator="," close=")">
#{districtId}
</foreach>
)
</if>
<if test="provinceId != null and provinceId.size > 0 and cityId != null and cityId.size > 0 and districtId != null and districtId.size > 0">
and (
i.province_id in
<foreach collection="provinceId" item="provinceId" open="(" separator="," close=")">
#{provinceId}
</foreach>
or i.city_id in
<foreach collection="cityId" item="cityId" open="(" separator="," close=")">
#{cityId}
</foreach>
or i.district_id in
<foreach collection="districtId" item="districtId" open="(" separator="," close=")">
#{districtId}
</foreach>
)
</if>
</where> </where>
GROUP BY i.id GROUP BY i.id
ORDER BY i.create_time DESC ORDER BY i.create_time DESC
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<mapper namespace="com.dsk.system.mapper.CustomerMapper"> <mapper namespace="com.dsk.system.mapper.CustomerMapper">
<sql id="Base_Bean"> <sql id="Base_Bean">
ct.customer_id, ct.company_id, ct.company_name, ct.legal_person, ct.credit_code, ct.register_capital, ct.customer_id, ct.company_id, ct.uip_id, ct.company_name, ct.legal_person, ct.credit_code, ct.register_capital,
ct.province_id, ct.city_id, ct.district_id, ct.register_address, ct.company_nature, ct.company_level, ct.province_id, ct.city_id, ct.district_id, ct.register_address, ct.company_nature, ct.company_level,
ct.credit_level, ct.super_company, ct.is_on, ct.is_major, ct.company_attribute, ct.main_business, ct.credit_level, ct.super_company, ct.is_on, ct.is_major, ct.company_attribute, ct.main_business,
ct.business_scope, ct.customer_level, ct.business_characteristic, ct.decision_chain, ct.bid_characteristic, ct.business_scope, ct.customer_level, ct.business_characteristic, ct.decision_chain, ct.bid_characteristic,
...@@ -29,12 +29,23 @@ ...@@ -29,12 +29,23 @@
where ctu.user_id = #{userId} where ctu.user_id = #{userId}
</select> </select>
<select id="selectByCompanyIdAndUserId" resultType="com.dsk.system.domain.customer.Customer"> <select id="selectByCompanyNameAndUserId" resultType="com.dsk.system.domain.customer.Customer">
select select
<include refid="Base_Bean"></include> <include refid="Base_Bean"></include>
from customer ct from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id join customer_user ctu on ct.customer_id = ctu.customer_id
where ct.company_id = ${companyId} and ctu.user_id = #{userId} where ct.company_name = #{companyName} and ctu.user_id = #{userId}
</select>
<select id="selectStatusList" resultType="com.dsk.system.domain.customer.vo.CustomerStatusListVo">
select
ct.customer_id, ct.uip_id
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId} and ct.uip_id in
<foreach collection="uipIds" item="uipId" open="(" separator="," close=",">
#{uipId}
</foreach>
</select> </select>
</mapper> </mapper>
......
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