Commit 13fe9995 authored by MyName's avatar MyName
parents 29a15c50 144cc399
......@@ -89,8 +89,7 @@ public class BusinessFileController extends BaseController {
@PostMapping("/upload")
public AjaxResult uploadFolder(@RequestPart("file") MultipartFile file,HttpServletRequest request){
try {
// String businessFileName = request.getHeader("FilePath");
String businessFileName = "10";
String businessFileName = request.getHeader("FilePath");
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath()+businessFileName+"/";
// 上传并返回文件全路径
......
......@@ -117,4 +117,10 @@ public class EnterpriseController {
return enterpriseService.uipGroupData();
}
@ApiOperation(value = "建设库企业id解码)")
@PostMapping(value = "remark")
public R remark(@RequestBody @Valid EnterpriseRemarkBody vo) throws Exception {
return enterpriseService.remark(vo);
}
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseRemarkBody {
@NotNull(message = "解码值不能为空")
public String mark;
}
......@@ -42,9 +42,9 @@ public class EnterpriseUipSearchBody extends BasePage {
private List<Integer> areaIds;
/**
* 地区级别 1 省级,2 地市级,3区县级
* 行政级别
*/
private Integer regionLevel;
private List<String> uipExecutiveLevel;
/**
* 城投业务类型
......
package com.dsk.common.utils;
import java.util.HashMap;
public class EncodeIdUtil {
private static String table = "VyB2Kz79QWYjpiD5lRCIMwJEhqFSx0GN1cveZfU4gs6rk8dPbLtAomOnT3";
private static HashMap<String, Integer> mp = new HashMap<>();
private static HashMap<Integer, String> mp2 = new HashMap<>();
static int[] ss = {2, 7, 5, 1, 4, 8, 3, 0, 6};
static long xor = 177451812;
static long add = 8728348608L;
/**
* 解码
* @param s 编码的随机字符串
* @return 原自增ID
*/
public static String avDecode(String s) {
long r = 0;
for (int i = 0; i < table.length(); i++) {
String s1 = table.substring(i, i + 1);
mp.put(s1, i);
}
for (int i = 0; i < 9; i++) {
r = r + mp.get(s.substring(ss[i], ss[i] + 1)) * power(58, i);
}
return String.valueOf((r - add) ^ xor);
}
/**
* 编码
* @param st 原自增ID
* @return 编码后的随机字符串
*/
public static String bvEncode(String st) {
StringBuilder sb = new StringBuilder(" ");
long s = Long.parseLong(st);
s = (s ^ xor) + add;
for (int i = 0; i < table.length(); i++) {
String s1 = table.substring(i, i + 1);
mp2.put(i, s1);
}
// mp2.forEach((inx, str) -> System.out.print(str));
for (int i = 0; i < 9; i++) {
String r = mp2.get((int) (s / power(table.length(), i) % table.length()));
sb.replace(ss[i], ss[i] + 1, r);
}
return sb.toString();
}
private static long power(int a, int b) {
long power = 1;
for (int c = 0; c < b; c++)
power *= a;
return power;
}
/**
* 把unicode编码转换成正常字符
*
* @param hex
* @return
*/
public static String binaryToUnicode(String hex) {
int i;
int n;
int j;
n = hex.length() / 2;
j = 0;
char[] content = new char[n];
for (i = 0; i < n; i++) {
j = i * 2;
content[i] = (char) Integer.parseInt(hex.substring(j, j + 2), 16);
}
return new String(content);
}
/**
* 把字符转换成unicode编码
*
* @param content
* @return
*/
public static String unicodeToBinary(String content) {
String hexStr = "";
char[] contentBuffer = content.toCharArray();
String s;
int n;
for (int i = 0; i < content.length(); i++) {
n = (int) contentBuffer[i];
s = Integer.toHexString(n);
// if (s.length() > 4) {
// s = s.substring(0, 4);
// } else {
// s = "0000".substring(0, 4 - s.length()) + s;
// }
hexStr = hexStr + s;
}
return hexStr;
}
}
package com.dsk.framework.config;
import com.dsk.framework.config.properties.PermitAllUrlProperties;
import com.dsk.framework.security.filter.JwtAuthenticationTokenFilter;
import com.dsk.framework.security.handle.AuthenticationEntryPointImpl;
import com.dsk.framework.security.handle.LogoutSuccessHandlerImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.http.HttpMethod;
......@@ -16,9 +19,6 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.security.web.authentication.logout.LogoutFilter;
import org.springframework.web.filter.CorsFilter;
import com.dsk.framework.security.filter.JwtAuthenticationTokenFilter;
import com.dsk.framework.security.handle.AuthenticationEntryPointImpl;
import com.dsk.framework.security.handle.LogoutSuccessHandlerImpl;
/**
* spring security配置
......@@ -115,6 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
// .antMatchers("/business/**").permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated()
.and()
......
......@@ -3,7 +3,7 @@ import request from '@/utils/request'
// id解密
export const idRemark = (data) => {
return request({
url: '/user/jsk/change/remark',
url: '/enterprise/remark',
method: 'post',
data: data
})
......
import request from "@/utils/request";
// 企业头部信息
// 甲方详情-公司概要
export function infoHeader(data) {
return request({
url: '/api-module-data/enterprise/infoHeader',
url: '/enterprise/infoHeader',
method: 'post',
data: data
})
......
import request from "@/utils/request";
// 甲方详情-公司概要
export function infoHeader(data) {
return request({
url: '/enterprise/infoHeader',
method: 'post',
data: data
})
}
// 企业数据统计
export function statistic(data) {
return request({
......
......@@ -3,10 +3,10 @@
<div class="financial-header">
<div class="common-title">财务简析</div>
<div class="flex-box header-box">
<div class="header-item">总资产<div class="header-item-amount"><span>{{financialDetail.totalAssets || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header01_ico.png"></div>
<div class="header-item">净资产<div class="header-item-amount"><span>{{financialDetail.belongNetAssets || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header02_ico.png"></div>
<div class="header-item">营业收入<div class="header-item-amount"><span>{{financialDetail.operatingIncome || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header03_ico.png"></div>
<div class="header-item">授信余额<div class="header-item-amount"><span>{{financialDetail.creditBalance || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header04_ico.png"></div>
<div class="header-item">总资产<div class="header-item-amount" v-if="financialDetail.totalAssets"><span>{{financialDetail.totalAssets || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header01_ico.png"></div>
<div class="header-item">净资产<div class="header-item-amount" v-if="financialDetail.belongNetAssets"><span>{{financialDetail.belongNetAssets || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header02_ico.png"></div>
<div class="header-item">营业收入<div class="header-item-amount" v-if="financialDetail.operatingIncome"><span>{{financialDetail.operatingIncome || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header03_ico.png"></div>
<div class="header-item">授信余额<div class="header-item-amount" v-if="financialDetail.creditBalance"><span>{{financialDetail.creditBalance || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header04_ico.png"></div>
</div>
</div>
<div class="financial-zcqk">
......@@ -115,7 +115,7 @@ export default {
methods: {
async handleQuery() {
this.tableLoading = true
let res = await financial({cid:90669031})
let res = await financial({cid:this.companyId})
this.tableLoading = false
if(res.code==200){
this.financialDetail = res.data
......
......@@ -61,6 +61,7 @@
<script>
import { idRemark } from '@/api/common'
import { infoHeader } from '@/api/detail/party-a/index'
import elementResizeDetectorMaker from "element-resize-detector"
import Header from "./component/Header"
import SideBar from "./component/Sidebar"
......@@ -140,6 +141,7 @@ export default {
},
data() {
return {
companyInfo: {},
companyId: 10361319, //企业Id(测试默认3068)
customerId: '', //企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
currentPath: {
......@@ -177,6 +179,13 @@ export default {
let { data } = await idRemark({companyId})
if( data.code == 200){
this.companyId = data.data
this.handleQuery()
}
},
async handleQuery() {
let res = await infoHeader({companyId:this.companyId})
if(res.code==200){
this.companyInfo = res.data
}
}
}
......
......@@ -24,7 +24,7 @@ export default {
let condtion = {}
let reqData = {}
this.formData.forEach(item => {
if(item.value || (item.value && item.value.length)) {
if(item.value || (item.value && item.value.length) || item.value===0) {
if(item.fieldName == 'time') {
condtion[item.startTime] = item.value[0];
condtion[item.endTime] = item.value[1];
......@@ -39,7 +39,7 @@ export default {
}
})
Object.keys(condtion).forEach(key => {
if(condtion[key]) {
if(condtion[key] || condtion[key]===0) {
if(Array.isArray(condtion[key]) && condtion[key].length == 0){
delete condtion[key]
}
......
......@@ -18,10 +18,12 @@
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.projectName}}</router-link>
<div class="tags" v-if="scope.row.tag">
<span class="tag style1">{{scope.row.tag}}</span>
<template slot="name" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.name " v-html="scope.row.name"></router-link>
<div v-else v-html="scope.row.name || '--'"></div>
<div class="tags" v-if="scope.row.status || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.status">{{scope.row.status}}</span>
<span class="tag style1" v-if="scope.row.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span>
</div>
</template>
</tables>
......@@ -30,7 +32,7 @@
<script>
import mixin from '../mixins/mixin'
import {getList, getOption} from '@/api/detail/party-a/overview'
import {affiliates} from '@/api/detail/party-a/overview'
export default {
name: 'Branch',
props: ['companyId'],
......@@ -40,15 +42,19 @@ export default {
queryParams: {
cid: this.companyId,
pageNum: 1,
pageSize: 10
pageSize: 20
},
forData: [
{label: '被投资企业名称', prop: 'projectName', slot: true},
{label: '负责人', prop: 'type'},
{label: '成立日期', prop: 'date'}
{label: '被投资企业名称', prop: 'name', slot: true},
{label: '负责人', prop: 'operName'},
{label: '成立日期', prop: 'startDate'}
],
formData: [
{ type: 1, fieldName: 'zbgg', value: '', placeholder: '招标公告', options: []
{ type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [
{name:'不限',value:''},
{name:'有招标公告',value:1},
{name:'无招标公告',value:0}
]
}
],
//列表
......@@ -58,42 +64,18 @@ export default {
}
},
created() {
this.handleOption()
this.handleQuery()
},
methods: {
handleOption(){
getOption().then((res) => {
this.setFormData('zbgg', [
{ name: '类别1', value: '1' },
{ name: '类别2', value: '2' },
{ name: '类别3', value: '3' },
{ name: '类别4', value: '4' }
])
})
},
handleQuery(params) {
async handleQuery(params) {
this.tableLoading = true
let param = params?params:this.queryParams
getList(param).then((res) => {
let res = await affiliates(param)
this.tableLoading = false
this.tableData = [
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
if(res.code==200){
this.tableData = res.rows
}
]
this.tableDataTotal = 100
})
this.tableDataTotal = res.total
}
}
}
......
......@@ -7,14 +7,15 @@
<info-table class="info-tab" :list="defaultList" :obj="forInfo" :labelWidth="labelWidth" v-if="activeName=='first'">
<template slot="provinceCode" slot-scope="scope">
<span>{{showRegion(scope.data.provinceCode)}}</span>
</template>
</info-table>
<tables
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:queryParams="queryParams"
:paging="false"
v-if="activeName=='second'"
/>
</div>
......@@ -22,8 +23,9 @@
<script>
import mixin from '../mixins/mixin'
import dataRegion from '@/assets/json/dataRegion'
import InfoTable from '../component/infoTable'
import {getList} from "@/api/detail/party-a/overview";
import {icInfo, changeInfo} from "@/api/detail/party-a/overview"
export default {
name: 'Businfo',
props: ['companyId'],
......@@ -34,39 +36,42 @@ export default {
data() {
return {
activeName: 'first',
baseParams: {
cid: this.companyId
},
queryParams: {
cid: this.companyId,
pageNum: 1,
pageSize: 10
pageSize: 20
},
labelWidth: 250,
forInfo: {projectType: 'aaa', projectPurposes: '222', projectInvestmentAmounts: '222'},
forInfo: {},
defaultList: [
{ name: '企业名称', prop: 'projectTypes' },
{ name: '社会信用代码', prop: 'projectPurposes' },
{ name: '法定代表人', prop: 'projectInvestmentAmounts' },
{ name: '登记状态', prop: 'projectInvestmentAmounts' },
{ name: '成立日期', prop: 'projectInvestmentAmounts' },
{ name: '注册资本', prop: 'projectInvestmentAmounts' },
{ name: '实缴资本', prop: 'projectInvestmentAmounts' },
{ name: '核准日期', prop: 'projectInvestmentAmounts' },
{ name: '组织机构代码', prop: 'projectInvestmentAmounts' },
{ name: '工商注册号', prop: 'projectInvestmentAmounts' },
{ name: '纳税人识别号', prop: 'projectInvestmentAmounts' },
{ name: '企业类型', prop: 'projectInvestmentAmounts' },
{ name: '营业期限', prop: 'projectInvestmentAmounts' },
{ name: '纳税人资质', prop: 'projectInvestmentAmounts' },
{ name: '所属地区', prop: 'projectInvestmentAmounts' },
{ name: '登记机关', prop: 'projectInvestmentAmounts' },
{ name: '人员规模', prop: 'projectInvestmentAmounts' },
{ name: '参保人数', prop: 'projectInvestmentAmounts' },
{ name: '经营范围', prop: 'projectInvestmentAmounts', style: true }
{ name: '企业名称', prop: 'name' },
{ name: '社会信用代码', prop: 'creditNo' },
{ name: '法定代表人', prop: 'operName' },
{ name: '登记状态', prop: 'status' },
{ name: '成立日期', prop: 'startDate' },
{ name: '注册资本', prop: 'registCapi' },
{ name: '实缴资本', prop: 'actualCapi' },
{ name: '核准日期', prop: 'checkDate' },
{ name: '组织机构代码', prop: 'orgNo' },
{ name: '工商注册号', prop: 'regNo' },
{ name: '纳税人识别号', prop: 'creditNo' },
{ name: '企业类型', prop: 'econKind' },
{ name: '营业期限', prop: 'termEnd' },
{ name: '纳税人资质', prop: 'qualification' },
{ name: '所属地区', prop: 'provinceCode', slot: true },
{ name: '登记机关', prop: 'belongOrg' },
{ name: '人员规模', prop: 'colleguesNum' },
{ name: '参保人数', prop: 'colleguesNum' },
{ name: '经营范围', prop: 'scope', style: true }
],
forData: [
{label: '变更日期', prop: 'inReason', width: '90', slot: true},
{label: '变更事项', prop: 'inDate'},
{label: '变更前', prop: 'department'},
{label: '变更后', prop: 'department'}
{label: '变更日期', prop: 'changeDate', width: '90'},
{label: '变更事项', prop: 'type'},
{label: '变更前', prop: 'beforeContent'},
{label: '变更后', prop: 'afterContent'}
],
//列表
tableLoading:false,
......@@ -80,28 +85,29 @@ export default {
handleClick(){
this.handleQuery()
},
handleQuery() {
console.log('索引:',this.activeName)
async handleQuery() {
this.tableLoading = true
getList(this.queryParams).then((res) => {
let param = this.activeName == 'first' ? this.baseParams : this.queryParams
let res = this.activeName == 'first' ? await icInfo(param) : await changeInfo(param)
this.tableLoading = false
this.tableData = [
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
if(res.code==200){
this.activeName == 'first' ? this.forInfo = res.data : this.tableData = res.rows
}
this.activeName == 'first' ? '' : this.tableDataTotal = res.total
},
showRegion(region){
if(region) {
let list = dataRegion
let areaText = ''
list.forEach(item => {
if(item.id == region) {
areaText = item.regionName
}
]
this.tableDataTotal = 100
})
return areaText
}else {
return '--'
}
}
}
}
......
......@@ -19,7 +19,7 @@
<script>
import mixin from '../mixins/mixin'
import {getList} from '@/api/detail/party-a/overview'
import {keymembers} from '@/api/detail/party-a/overview'
export default {
name: 'Execuinfo',
props: ['companyId'],
......@@ -29,11 +29,11 @@ export default {
queryParams: {
cid: this.companyId,
pageNum: 1,
pageSize: 10
pageSize: 20
},
forData: [
{label: '姓名', prop: 'projectName'},
{label: '职位', prop: 'type'}
{label: '姓名', prop: 'name'},
{label: '职位', prop: 'jobTitle'}
],
formData: [],
//列表
......@@ -46,27 +46,15 @@ export default {
this.handleQuery()
},
methods: {
handleQuery() {
async handleQuery(params) {
this.tableLoading = true
getList(this.queryParams).then((res) => {
let param = params?params:this.queryParams
let res = await keymembers(param)
this.tableLoading = false
this.tableData = [
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
if(res.code==200){
this.tableData = res.rows
}
]
this.tableDataTotal = 100
})
this.tableDataTotal = res.total
}
}
}
......
......@@ -19,19 +19,23 @@
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.projectName}}</router-link>
<div class="tags" v-if="scope.row.tag">
<span class="tag style1">{{scope.row.tag}}</span>
<template slot="stockName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.stockId&&scope.row.stockName " v-html="scope.row.stockName"></router-link>
<div v-else v-html="scope.row.stockName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span>
</div>
</template>
<template slot="stockPercent" slot-scope="scope">
<span>{{scope.row.stockPercent?parseFloat(Number(scope.row.stockPercent*100).toFixed(4))+'%':'--'}}</span>
</template>
</tables>
</div>
</template>
<script>
import mixin from '../mixins/mixin'
import {getList} from '@/api/detail/party-a/overview'
import {bestStockPage} from '@/api/detail/party-a/overview'
export default {
name: 'Holderinfo',
props: ['companyId'],
......@@ -41,16 +45,17 @@ export default {
activeName: 'first',
queryParams: {
cid: this.companyId,
isHistory: 0,
pageNum: 1,
pageSize: 10
pageSize: 20
},
forData: [
{label: '发起人/股东', prop: 'projectName', minWidth: '230', slot: true},
{label: '持股比例', prop: 'inDate'},
{label: '认缴出资(万)', prop: 'department'},
{label: '实缴出资额', prop: 'department'},
{label: '认缴出资额', prop: 'department'},
{label: '参股日期', prop: 'department', width: '150'}
{label: '发起人/股东', prop: 'stockName', minWidth: '230', slot: true},
{label: '持股比例', prop: 'stockPercent', slot: true},
{label: '认缴出资(万)', prop: 'shouldCapiConv'},
{label: '实缴出资额', prop: 'realCapi'},
{label: '认缴出资日期', prop: 'conDate'},
{label: '参股日期', prop: 'realCapiDate', width: '150'}
],
formData: [],
//列表
......@@ -66,28 +71,16 @@ export default {
handleClick(){
this.handleQuery()
},
handleQuery() {
console.log('索引:',this.activeName)
async handleQuery(params) {
this.tableLoading = true
getList(this.queryParams).then((res) => {
let param = params?params:this.queryParams
param.isHistory = this.activeName == 'first' ? 0 : 1
let res = await bestStockPage(param)
this.tableLoading = false
this.tableData = [
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
if(res.code==200){
this.tableData = res.rows
}
]
this.tableDataTotal = 100
})
this.tableDataTotal = res.total
}
}
}
......
......@@ -18,7 +18,15 @@
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="gqzb">
<template slot="investName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.investName " v-html="scope.row.investName"></router-link>
<div v-else v-html="scope.row.investName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span>
<span class="tag style1" v-if="scope.row.biddingAnnouncement">招标数{{scope.row.biddingAnnouncement}}</span>
</div>
</template>
<template slot="proportion">
<div class="tab-header">股权占比 <el-popover placement="top-start" width="280" trigger="hover">
<div style="font-size: 12px;">
控股67%:绝对控制权67%,相当于100%的权力,修改公司章程/分立、合并、变更主营项目、重大决策<br />
......@@ -27,11 +35,8 @@
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference">
</el-popover></div>
</template>
<template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{scope.row.projectName}}</router-link>
<div class="tags" v-if="scope.row.tag">
<span class="tag style1">{{scope.row.tag}}</span>
</div>
<template slot="stockPercentage" slot-scope="scope">
<span>{{scope.row.stockPercentage?parseFloat(Number(scope.row.stockPercentage*100).toFixed(4))+'%':'--'}}</span>
</template>
</tables>
</div>
......@@ -39,7 +44,7 @@
<script>
import mixin from '../mixins/mixin'
import {getList, getOption} from '@/api/detail/party-a/overview'
import {investment} from '@/api/detail/party-a/overview'
export default {
name: 'Overseas',
props: ['companyId'],
......@@ -49,19 +54,33 @@ export default {
queryParams: {
cid: this.companyId,
pageNum: 1,
pageSize: 10
pageSize: 20
},
forData: [
{label: '被投资企业名称', prop: 'projectName', minWidth: '180', slot: true},
{label: '法定代表人', prop: 'inDate'},
{label: '注册资本(万元)', prop: 'department'},
{label: '成立日期', prop: 'department'},
{label: '股权占比', prop: 'department', slotHeader: true, slotName: 'gqzb'},
{label: '认缴出资额(万元)', prop: 'department'}
{label: '被投资企业名称', prop: 'investName', minWidth: '180', slot: true},
{label: '法定代表人', prop: 'investOperName'},
{label: '注册资本(万元)', prop: 'investRegistCapi'},
{label: '成立日期', prop: 'investStartDate'},
{label: '股权占比', prop: 'stockPercentage', slot: true, slotHeader: true, slotName: 'proportion'},
{label: '认缴出资额(万元)', prop: 'shouldCapi'}
],
formData: [
{ type: 1, fieldName: 'zbgg', value: '', placeholder: '招标公告', options: [] },
{ type: 1, fieldName: 'gqzb', value: '', placeholder: '股权占比', options: [] }
{ type: 1, fieldName: 'hasBid', value: '', placeholder: '招标公告', options: [
{name:'不限',value:''},
{name:'有招标公告',value:1},
{name:'无招标公告',value:0}
]
},
{ type: 1, fieldName: 'proportion', value: '', placeholder: '股权占比', options: [
{name:'不限',value:''},
{name:'100%',value:'1~1'},
{name:'66.66%以上',value:'0.6666~1'},
{name:'50%以上',value:'0.4~1'},
{name:'33.33%以上',value:'0.3333~1'},
{name:'25%以上',value:'0.05~0.25'},
{name:'不到5%',value:'0~0.05'}
]
}
],
//列表
tableLoading:false,
......@@ -70,48 +89,29 @@ export default {
}
},
created() {
this.handleOption()
this.handleQuery()
},
methods: {
handleOption(){
getOption().then((res) => {
this.setFormData('zbgg', [
{ name: '类别1', value: '1' },
{ name: '类别2', value: '2' },
{ name: '类别3', value: '3' },
{ name: '类别4', value: '4' }
])
this.setFormData('gqzb', [
{ name: '类别1', value: '1' },
{ name: '类别2', value: '2' },
{ name: '类别3', value: '3' },
{ name: '类别4', value: '4' }
])
})
},
handleQuery(params) {
async handleQuery(params) {
this.tableLoading = true
let param = params?params:this.queryParams
getList(param).then((res) => {
let res = await investment(param)
this.tableLoading = false
this.tableData = [
{
projectId: '1',
tag: '在业',
projectName:'滨州医学院口腔医学大楼铝合金门窗供货及安装',
use:'城镇住宅用地',
type:'房地产业',
way:'挂牌出让',
state:'重庆',
money:'11234万元',
scale:'222平米',
unit:'江苏省住房和城乡建设厅',
date:'2015-08-06',
if(res.code==200){
this.tableData = res.rows
}
]
this.tableDataTotal = 100
})
this.tableDataTotal = res.total
},
handleSearch(){
let params = this.formParams()
if(params.proportion){
params.stockPercentageMin = parseFloat(params.proportion.split('~')[0])
params.stockPercentageMax = parseFloat(params.proportion.split('~')[1])
delete params.proportion
}
params.pageNum = 1
this.queryParams.pageNum = 1
this.handleQuery(params)
}
}
}
......
......@@ -49,7 +49,7 @@ export default {
margin: 0;
padding: 0;
.view-content{
margin-top: 12px;
//margin-top: 12px;
}
}
</style>
......@@ -32,7 +32,7 @@ import {
} from '@/api/detail/party-a/urbanLnvestment'
import {
infoHeader
} from '@/api/detail/party-a/overview'
} from '@/api/detail/party-a/index'
export default {
name: 'regionalEconomies',
components: {
......
......@@ -114,7 +114,7 @@ import {
} from '@/api/detail/party-a/urbanLnvestment'
import {
infoHeader
} from '@/api/detail/party-a/overview'
} from '@/api/detail/party-a/index'
export default {
name: 'SameRegion',
mixins: [mixin],
......
......@@ -8,6 +8,7 @@ import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.model.*;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.EncodeIdUtil;
import com.dsk.system.domain.customer.vo.CustomerStatusListVo;
import com.dsk.system.service.ICustomerService;
import org.apache.commons.collections4.CollectionUtils;
......@@ -188,4 +189,8 @@ public class EnterpriseService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/uipGroupData", null);
return BeanUtil.toBean(map, R.class);
}
public R remark(EnterpriseRemarkBody vo) throws Exception {
return R.ok(EncodeIdUtil.avDecode(EncodeIdUtil.binaryToUnicode(vo.mark)));
}
}
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