Commit 1b27f490 authored by caixingbing's avatar caixingbing
parents dac8bcd8 06cc01ac
...@@ -83,7 +83,7 @@ public class CustomerController extends BaseController { ...@@ -83,7 +83,7 @@ public class CustomerController extends BaseController {
return AjaxResult.success(baseService.add(customer)); return AjaxResult.success(baseService.add(customer));
} }
private void dealWithcustomerData(Customer customer){ private void dealWithcustomerData(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空"); if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
if (ObjectUtils.isEmpty(customer.getCompanyId())) { if (ObjectUtils.isEmpty(customer.getCompanyId())) {
try { try {
...@@ -131,6 +131,7 @@ public class CustomerController extends BaseController { ...@@ -131,6 +131,7 @@ public class CustomerController extends BaseController {
public AjaxResult importData(@RequestPart("file") MultipartFile file) throws Exception { public AjaxResult importData(@RequestPart("file") MultipartFile file) throws Exception {
List<Customer> customerList = new ExcelUtil<>(Customer.class).importExcel(file.getInputStream(), 2); List<Customer> customerList = new ExcelUtil<>(Customer.class).importExcel(file.getInputStream(), 2);
List<String> resultList = new ArrayList<>(); List<String> resultList = new ArrayList<>();
int successCount = 0;
for (Customer customer : customerList) { for (Customer customer : customerList) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) { if (ObjectUtils.isEmpty(customer.getCompanyName())) {
continue; continue;
...@@ -152,10 +153,13 @@ public class CustomerController extends BaseController { ...@@ -152,10 +153,13 @@ public class CustomerController extends BaseController {
customer.setCreditCode(MapUtil.getStr(obj, "creditCode")); customer.setCreditCode(MapUtil.getStr(obj, "creditCode"));
} }
baseService.add(customer); baseService.add(customer);
successCount++;
} catch (Exception e) { } catch (Exception e) {
resultList.add(customer.getCompanyName().concat(":").concat(e.getMessage())); resultList.add(customer.getCompanyName().concat(":").concat(e.getMessage()));
} }
} }
return AjaxResult.success(resultList); AjaxResult success = AjaxResult.success(resultList);
success.put("successCount", successCount);
return success;
} }
} }
...@@ -95,7 +95,7 @@ public class EnterpriseController { ...@@ -95,7 +95,7 @@ public class EnterpriseController {
@ApiOperation(value = "工商股东信息(openApi)") @ApiOperation(value = "工商股东信息(openApi)")
@PostMapping(value = "bestStockPage") @PostMapping(value = "bestStockPage")
public TableDataInfo bestStockPage(@RequestBody @Valid EnterpriseKeymembersBody vo) throws Exception { public TableDataInfo bestStockPage(@RequestBody @Valid EnterpriseBestStockPageBody vo) throws Exception {
return enterpriseService.bestStockPage(vo); return enterpriseService.bestStockPage(vo);
} }
......
...@@ -73,19 +73,19 @@ public class EnterpriseProjectController { ...@@ -73,19 +73,19 @@ public class EnterpriseProjectController {
@ApiOperation(value = "专项债项目列表") @ApiOperation(value = "专项债项目列表")
@RequestMapping(value = "/specialDebtProjectPage", method = RequestMethod.POST) @RequestMapping(value = "/specialDebtProjectPage", method = RequestMethod.POST)
public TableDataInfo specialDebtProjectPage(@RequestBody @Valid Object body) throws Exception { public TableDataInfo specialDebtProjectPage(@RequestBody @Valid EnterpriseProjectSpecialDebtProjectPageBody body) throws Exception {
return enterpriseProjectService.specialDebtProjectPage(body); return enterpriseProjectService.specialDebtProjectPage(body);
} }
@ApiOperation(value = "专项债项目详情") @ApiOperation(value = "专项债项目详情")
@RequestMapping(value = "/specialDebtProjectDetail", method = RequestMethod.POST) @RequestMapping(value = "/specialDebtProjectDetail", method = RequestMethod.POST)
public R specialDebtProjectDetail(@RequestBody @Valid Object body) throws Exception { public R specialDebtProjectDetail(@RequestBody @Valid EnterpriseProjectSpecialDebtProjectDetailBody body) throws Exception {
return enterpriseProjectService.specialDebtProjectDetail(body); return enterpriseProjectService.specialDebtProjectDetail(body);
} }
@ApiOperation(value = "专项债列表") @ApiOperation(value = "专项债列表")
@RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST) @RequestMapping(value = "/specialDebtPage", method = RequestMethod.POST)
public TableDataInfo specialDebtPage(@RequestBody @Valid Object body) throws Exception { public TableDataInfo specialDebtPage(@RequestBody @Valid EnterpriseProjectSpecialDebtPageBody body) throws Exception {
return enterpriseProjectService.specialDebtPage(body); return enterpriseProjectService.specialDebtPage(body);
} }
......
...@@ -20,14 +20,14 @@ ...@@ -20,14 +20,14 @@
<!-- 日志文件名格式 --> <!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/operate-sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/operate-sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>10</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
</encoder> </encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter"> <filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 --> <!-- 过滤的级别 -->
<level>INFO</level> <level>DEBUG</level>
<!-- 匹配时的操作:接收(记录) --> <!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch> <onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) --> <!-- 不匹配时的操作:拒绝(不记录) -->
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<!-- 日志文件名格式 --> <!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/operate-sys-error.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/operate-sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>10</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
<!-- 按天回滚 daily --> <!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/operate-sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> <fileNamePattern>${log.path}/operate-sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 --> <!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory> <maxHistory>10</maxHistory>
</rollingPolicy> </rollingPolicy>
<encoder> <encoder>
<pattern>${log.pattern}</pattern> <pattern>${log.pattern}</pattern>
......
...@@ -17,6 +17,8 @@ public class EnterpriseAffiliatesBody extends BasePage { ...@@ -17,6 +17,8 @@ public class EnterpriseAffiliatesBody extends BasePage {
//企业Id //企业Id
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer cid; private Integer cid;
private Integer hasBid;
} }
...@@ -17,6 +17,9 @@ public class EnterpriseInvestmentBody extends BasePage { ...@@ -17,6 +17,9 @@ public class EnterpriseInvestmentBody extends BasePage {
//企业Id //企业Id
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer cid; private Integer cid;
private Integer hasBid;
private double stockPercentageMin;
private double stockPercentageMax;
} }
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectSpecialDebtPageBody extends BasePage {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectSpecialDebtProjectDetailBody {
/**
* id
*/
@NotNull(message = "id不能为空")
private String id;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseProjectSpecialDebtProjectPageBody extends BasePage {
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
/**
* 查询关键字
*/
private String keys;
/*
* 排序字段:1总投资金额倒序,2总投资金额正序,17项目资本金倒序,18项目资本金正序,19专项债用作资本金倒序,20专项债用作资本金正序
*/
@NotNull(message = "排序条件不能为空")
private Integer sort;
}
...@@ -42,6 +42,15 @@ let uipSerach= function uipSerach(param) { ...@@ -42,6 +42,15 @@ let uipSerach= function uipSerach(param) {
data: param data: param
}) })
} }
// 认领用户
let claim= function claim(param) {
return request({
url: '/customer/claim',
method: 'post',
data: param
})
}
export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach} export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim}
\ No newline at end of file \ No newline at end of file
...@@ -174,6 +174,31 @@ export function enterprise(param) { ...@@ -174,6 +174,31 @@ export function enterprise(param) {
}) })
} }
//城投平台-企业查询选项
export function uipGroupData() {
return request({
url: '/enterprise/uipGroupData',
method: 'POST'
})
}
//城投平台-分页列表
export function urbanInvestmentPage(param) {
return request({
url: '/urbanInvestment/page',
method: 'POST',
data: param
})
}
//城投平台-城投平台统计
export function urbanInvestmentStatistics(param) {
return request({
url: '/urbanInvestment/statistics',
method: 'POST',
data: param
})
}
......
dsk-operate-ui/src/assets/images/add.png

148 Bytes | W: | H:

dsk-operate-ui/src/assets/images/add.png

140 Bytes | W: | H:

dsk-operate-ui/src/assets/images/add.png
dsk-operate-ui/src/assets/images/add.png
dsk-operate-ui/src/assets/images/add.png
dsk-operate-ui/src/assets/images/add.png
  • 2-up
  • Swipe
  • Onion skin
dsk-operate-ui/src/assets/images/delete.png

327 Bytes | W: | H:

dsk-operate-ui/src/assets/images/delete.png

531 Bytes | W: | H:

dsk-operate-ui/src/assets/images/delete.png
dsk-operate-ui/src/assets/images/delete.png
dsk-operate-ui/src/assets/images/delete.png
dsk-operate-ui/src/assets/images/delete.png
  • 2-up
  • Swipe
  • Onion skin
dsk-operate-ui/src/assets/images/edit.png

245 Bytes | W: | H:

dsk-operate-ui/src/assets/images/edit.png

488 Bytes | W: | H:

dsk-operate-ui/src/assets/images/edit.png
dsk-operate-ui/src/assets/images/edit.png
dsk-operate-ui/src/assets/images/edit.png
dsk-operate-ui/src/assets/images/edit.png
  • 2-up
  • Swipe
  • Onion skin
dsk-operate-ui/src/assets/images/follow.png

260 Bytes | W: | H:

dsk-operate-ui/src/assets/images/follow.png

312 Bytes | W: | H:

dsk-operate-ui/src/assets/images/follow.png
dsk-operate-ui/src/assets/images/follow.png
dsk-operate-ui/src/assets/images/follow.png
dsk-operate-ui/src/assets/images/follow.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -244,6 +244,7 @@ ...@@ -244,6 +244,7 @@
>img{ >img{
float: left; float: left;
margin-right: 8px; margin-right: 8px;
width: 56px;
} }
.i{ .i{
font-size: 18px; font-size: 18px;
...@@ -337,6 +338,7 @@ ...@@ -337,6 +338,7 @@
>img{ >img{
float:left; float:left;
margin: 2px 4px 0 0; margin: 2px 4px 0 0;
width: 16px;
} }
} }
.bottems{ .bottems{
...@@ -572,6 +574,16 @@ ...@@ -572,6 +574,16 @@
position: relative; position: relative;
padding-top: 25px; padding-top: 25px;
display: flex; display: flex;
.sels{
position: relative;
>img{
position: absolute;
left: 10px;
z-index: 1;
top: 8px;
width: 16px;
}
}
.el-input{ .el-input{
display: inline-block; display: inline-block;
margin-right: 12px; margin-right: 12px;
...@@ -610,6 +622,7 @@ ...@@ -610,6 +622,7 @@
position: absolute; position: absolute;
left: 8px; left: 8px;
top: 8px; top: 8px;
width: 16px;
z-index: 1; z-index: 1;
} }
.el-input{ .el-input{
...@@ -960,6 +973,7 @@ ...@@ -960,6 +973,7 @@
} }
.up_img{ .up_img{
margin: 56px auto 13px; margin: 56px auto 13px;
width: 50px;
} }
.up_text{ .up_text{
color: #666; color: #666;
......
...@@ -492,6 +492,7 @@ export default { ...@@ -492,6 +492,7 @@ export default {
.img.img1{ .img.img1{
margin-right: 2px; margin-right: 2px;
background: url('../../../../src/assets/images/project/add_2.png')no-repeat center center; background: url('../../../../src/assets/images/project/add_2.png')no-repeat center center;
background-size: 100%;
} }
.w88{ .w88{
width: 88px; width: 88px;
...@@ -528,7 +529,8 @@ export default { ...@@ -528,7 +529,8 @@ export default {
} }
>img{ >img{
float: right; float: right;
margin: 3px 0 0 4px margin: 3px 0 0 4px;
width: 14px;
} }
} }
} }
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
<template v-if="form.type==4"> <template v-if="form.type==4">
<el-select <el-select
class="form-content-width" class="form-content-width"
:class="form.value.length > 1 ? 'selectTag' : ''"
v-model="form.value" v-model="form.value"
multiple multiple
collapse-tags collapse-tags
...@@ -247,6 +248,22 @@ export default { ...@@ -247,6 +248,22 @@ export default {
::v-deep .form-content-width{ ::v-deep .form-content-width{
width: 170px; width: 170px;
} }
::v-deep .selectTag{
.el-select__tags{
.el-tag{
&:first-child{
width: 90px;
}
}
}
}
::v-deep .el-select__tags{
.el-tag{
&:first-child{
width: 100%;
}
}
}
} }
.ability-total{ .ability-total{
font-size: 12px; font-size: 12px;
......
...@@ -143,12 +143,7 @@ export default { ...@@ -143,12 +143,7 @@ export default {
components: { components: {
Detail Detail
}, },
props: { props: ['customerIds'],
customerIds: {
type: String,
default: ''
}
},
data() { data() {
return { return {
ifEmpty:false, ifEmpty:false,
...@@ -522,7 +517,7 @@ export default { ...@@ -522,7 +517,7 @@ export default {
::v-deep .cooperate-detail{ ::v-deep .cooperate-detail{
.miantitle, .app-container{ .miantitle, .app-container{
margin: 12px 0; //margin: 12px 0;
} }
} }
......
...@@ -81,12 +81,7 @@ export default { ...@@ -81,12 +81,7 @@ export default {
components: { components: {
Tables Tables
}, },
props: { props: ['customerIds'],
customerIds: {
type: String,
default: ''
}
},
data() { data() {
return { return {
ifEmpty:false, ifEmpty:false,
......
...@@ -160,12 +160,7 @@ export default { ...@@ -160,12 +160,7 @@ export default {
components: { components: {
}, },
props: { props: ['customerIds'],
customerIds: {
type: String,
default: ''
}
},
data() { data() {
return { return {
autosize: { autosize: {
......
...@@ -33,12 +33,7 @@ export default { ...@@ -33,12 +33,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -35,12 +35,7 @@ export default { ...@@ -35,12 +35,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -33,12 +33,7 @@ export default { ...@@ -33,12 +33,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -32,12 +32,7 @@ export default { ...@@ -32,12 +32,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -41,12 +41,7 @@ export default { ...@@ -41,12 +41,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -41,12 +41,7 @@ export default { ...@@ -41,12 +41,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -41,12 +41,7 @@ export default { ...@@ -41,12 +41,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -37,12 +37,7 @@ export default { ...@@ -37,12 +37,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId'],
companyId: {
type: Number,
default: 0
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -35,16 +35,7 @@ export default { ...@@ -35,16 +35,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId','companyInfo'],
companyId: {
type: Number,
default: 0
},
companyInfo: {
type: Object,
default: {}
}
},
data() { data() {
return { return {
addressList:'', addressList:'',
......
...@@ -118,16 +118,7 @@ export default { ...@@ -118,16 +118,7 @@ export default {
components: { components: {
}, },
props: { props: ['companyId', 'companyInfo'],
companyId: {
type: Number,
default: 0
},
companyInfo: {
type: Object,
default: {}
}
},
data() { data() {
return { return {
queryParams: { queryParams: {
......
...@@ -24,7 +24,11 @@ ...@@ -24,7 +24,11 @@
highlight-current-row highlight-current-row
@sort-change="sortChange" @sort-change="sortChange"
> >
<el-table-column prop="province" label="下辖区" width="100" :formatter="formatStatus"/> <el-table-column prop="province" label="下辖区" width="170" :formatter="formatStatus">
<template slot-scope="scope">
{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}
</template>
</el-table-column>
<el-table-column prop="gdp" label="GDP(亿元)" sortable width="120" :formatter="formatStatus"/> <el-table-column prop="gdp" label="GDP(亿元)" sortable width="120" :formatter="formatStatus"/>
<el-table-column prop="gdpGrowth" label="GDP增速" sortable width="100" :formatter="formatStatus"/> <el-table-column prop="gdpGrowth" label="GDP增速" sortable width="100" :formatter="formatStatus"/>
<el-table-column prop="gdpPerCapita" label="人均GDP(元)" sortable width="130" :formatter="formatStatus"/> <el-table-column prop="gdpPerCapita" label="人均GDP(元)" sortable width="130" :formatter="formatStatus"/>
......
...@@ -182,10 +182,11 @@ export default { ...@@ -182,10 +182,11 @@ export default {
var year = date.getFullYear() var year = date.getFullYear()
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() // var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() // var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() // var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds // return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
return year + '-' + month + '-' + day
} }
} }
} }
......
...@@ -139,6 +139,7 @@ export default { ...@@ -139,6 +139,7 @@ export default {
let arr=this.tableData.sort((old,New)=>{ let arr=this.tableData.sort((old,New)=>{
return New.value - old.value return New.value - old.value
}) })
console.log(arr)
let data=[] let data=[]
for(let i=0; i<10; i++){ for(let i=0; i<10; i++){
data.push(arr[i]) data.push(arr[i])
...@@ -215,13 +216,12 @@ export default { ...@@ -215,13 +216,12 @@ export default {
for(var i=0;i<res.data.length;i++){ for(var i=0;i<res.data.length;i++){
var obj={}; var obj={};
obj.name=res.data[i].projectType; obj.name=res.data[i].projectType;
obj.value=res.data[i].count; obj.value=res.data[i].totalInvestment;
obj.totalInvestment=res.data[i].totalInvestment; obj.number=res.data[i].count;
obj.proportion=res.data[i].proportion; obj.proportion=res.data[i].proportion;
list.push(obj) list.push(obj)
} }
this.tableData=list; this.tableData=list;
}) })
}, },
......
...@@ -41,9 +41,9 @@ ...@@ -41,9 +41,9 @@
<el-table-column label="序号" width="50" align="left" fixed> <el-table-column label="序号" width="50" align="left" fixed>
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column label="地区" min-width="70" align="left" fixed> <el-table-column label="地区" min-width="150" align="left" fixed>
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="{path:'/macro/economies',query:{id:scope.row.id,provinceId:scope.row.provinceId}}" tag="a" class="a-link">{{ scope.row.province}}</router-link> <router-link :to="{path:'/macro/economies',query:{id:scope.row.id,provinceId:scope.row.provinceId}}" tag="a" class="a-link">{{ scope.row.province}}{{scope.row.city ? '-': ''}}{{ scope.row.city}}{{scope.row.area ? '-': ''}}{{ scope.row.area}}</router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="年度明细" prop="id" width="90" align="center" fixed> <el-table-column label="年度明细" prop="id" width="90" align="center" fixed>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</div> </div>
<div class="top-icons"> <div class="top-icons">
<img class="top-img" src="@/assets/images/project/icon_8.png"> <img class="top-img" src="@/assets/images/project/icon_8.png">
<div class="name">即将开项目</div> <div class="name">即将开项目</div>
<div class="number">39</div> <div class="number">39</div>
<div class="compare">较上月<span class="ss">+3 <img src="@/assets/images/project/ss.png"></span></div> <div class="compare">较上月<span class="ss">+3 <img src="@/assets/images/project/ss.png"></span></div>
</div> </div>
...@@ -504,10 +504,18 @@ export default { ...@@ -504,10 +504,18 @@ export default {
.ss{ .ss{
color: #0CBC6D; color: #0CBC6D;
padding-left: 3px; padding-left: 3px;
>img{
width: 8px;
margin-top: -3px;
}
} }
.xj{ .xj{
color: #FF3C3C; color: #FF3C3C;
padding-left: 3px; padding-left: 3px;
>img{
width: 8px;
margin-top: -3px;
}
} }
} }
} }
...@@ -642,6 +650,9 @@ export default { ...@@ -642,6 +650,9 @@ export default {
text-align: center; text-align: center;
font-size: 12px; font-size: 12px;
padding-top: 16px; padding-top: 16px;
>img{
height: 48px;
}
>div{ >div{
line-height: 14px; line-height: 14px;
} }
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<div class="p3"> <div class="p3">
<img src="@/assets/images/project/success.png">查询成功 <img src="@/assets/images/project/success.png">查询成功
</div> </div>
<div class="p2">成功导入{{titletext}}信息</div> <div class="p2">成功导入{{successCount}}{{titletext}}信息</div>
<div class="btns"> <div class="btns">
<div class="btn btn_primary h32" @click="getmsg">查看</div> <div class="btn btn_primary h32" @click="getmsg">查看</div>
</div> </div>
...@@ -73,10 +73,10 @@ ...@@ -73,10 +73,10 @@
}, },
downloadhref:'',//样例地址 downloadhref:'',//样例地址
titletext:'', titletext:'',
successCount:0,//成功条数
} }
}, },
created(){ created(){
console.log(this.importtype )
if(this.importtype == 'project'){//项目管理 if(this.importtype == 'project'){//项目管理
this.downloadhref = '/file/projectTemplate.xlsx' this.downloadhref = '/file/projectTemplate.xlsx'
this.titletext = '商机' this.titletext = '商机'
...@@ -93,15 +93,35 @@ ...@@ -93,15 +93,35 @@
this.$emit('getdatas') this.$emit('getdatas')
}, },
handleFileListChange(file, fileList) { handleFileListChange(file, fileList) {
var testmsg = file.name.substring(file.name.lastIndexOf(".") + 1);
const extension = testmsg === "xlsx";
const extension1 = testmsg === "xls";
if (!extension && !extension1 ) {
this.$message({
message: "上传文件只能是.xls,.xlsx格式!",
type: "warning",
});
return false;
}
const isLt2M = file.size / 1024 / 1024 < 2
if (!isLt2M) {
this.$refs.upload.clearFiles()
this.$message({
message: '上传文件大小不能超过 2MB!',
type: 'warning'
})
return false
}
if (fileList.length > 0) { if (fileList.length > 0) {
this.fileList = [fileList[fileList.length - 1]]; this.fileList = [fileList[fileList.length - 1]];
this.isUpload = true this.isUpload = true
} }
}, },
onSuccess(res, file, fileList) { onSuccess(res, file, fileList) {
if(res.code == 200 ) if (res.code == 200) {
this.successCount = res.successCount
this.addsuccess = true this.addsuccess = true
else { }else {
this.importCancel() this.importCancel()
this.$message.error({ message: res.msg, showClose: true }) this.$message.error({ message: res.msg, showClose: true })
} }
......
...@@ -15,26 +15,34 @@ ...@@ -15,26 +15,34 @@
<el-input v-model="addParam.content" placeholder="新建一条跟进记录,如:周五上午预约客户上门拜访"></el-input> <el-input v-model="addParam.content" placeholder="新建一条跟进记录,如:周五上午预约客户上门拜访"></el-input>
</div> </div>
<div class="wr_bot"> <div class="wr_bot">
<el-select v-model="addParam.visitMode" class="w128" placeholder="拜访方式"> <div class="sels" v-model="addParam.visitMode">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_1.png"></i> <img src="@/assets/images/project/ico_1.png">
<el-select class="w128" placeholder="拜访方式">
<el-option v-for="(item,index) in bffslist" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in bffslist" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select>
<template v-if="!customerIds">
<el-select v-if="showtype == 'gjdt'" v-model="addParam.customerId" class="w128" placeholder="关联企业">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_1.png"></i>
<el-option v-for="(item,index) in glqylist" :key="index" :label="item.companyName" :value="item.customerId"></el-option>
</el-select> </el-select>
</template> </div>
<el-select v-if="showtype == 'projectgjdt'" v-model="projectId" class="w128" placeholder="关联项目"> <div class="sels" v-if="!customerIds && showtype == 'gjdt'">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_1.png"></i> <img src="@/assets/images/project/ico_1.png">
<el-option v-for="(item,index) in projectList" :key="index" :label="item.projectName" :value="item.id"></el-option> <el-select v-model="addParam.customerId" class="w128" placeholder="关联企业">
</el-select> <el-option v-for="(item,index) in glqylist" :key="index" :label="item.companyName" :value="item.customerId"></el-option>
<el-input v-model="addParam.name" placeholder="拜访对象" style="width: 100px;"> </el-select>
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_2.png"></i> </div>
</el-input> <div class="sels" v-if="showtype == 'projectgjdt'">
<el-input v-model="addParam.position" placeholder="客户职位" style="width: 100px;"> <img src="@/assets/images/project/ico_1.png">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_3.png"></i> <el-select v-model="projectId" class="w128" placeholder="关联项目">
</el-input> <el-option v-for="(item,index) in projectList" :key="index" :label="item.projectName" :value="item.id"></el-option>
</el-select>
</div>
<div class="sels">
<img src="@/assets/images/project/ico_2.png">
<el-input v-model="addParam.name" placeholder="拜访对象" style="width: 100px;">
</el-input>
</div>
<div class="sels">
<img src="@/assets/images/project/ico_3.png">
<el-input v-model="addParam.position" placeholder="客户职位" style="width: 100px;">
</el-input>
</div>
<div class="times"><img src="@/assets/images/project/ico_4.png"> <div class="times"><img src="@/assets/images/project/ico_4.png">
<el-date-picker class="w128" <el-date-picker class="w128"
v-model="addParam.nextVisitTime" v-model="addParam.nextVisitTime"
......
...@@ -209,5 +209,6 @@ ...@@ -209,5 +209,6 @@
.img.img1{ .img.img1{
margin-right: 8px; margin-right: 8px;
background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center; background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center;
background-size: 100%;
} }
</style> </style>
...@@ -286,10 +286,12 @@ ...@@ -286,10 +286,12 @@
.img.img1{ .img.img1{
margin-right: 4px; margin-right: 4px;
background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center; background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center;
background-size: 100%;
} }
.img.img2{ .img.img2{
margin-right: 4px; margin-right: 4px;
background: url('../../../../../src/assets/images/upload.png')no-repeat center center; background: url('../../../../../src/assets/images/upload.png')no-repeat center center;
background-size: 100%;
} }
.box-card{ .box-card{
position: relative; position: relative;
......
...@@ -276,6 +276,8 @@ ...@@ -276,6 +276,8 @@
} }
</script> </script>
<style scoped> <style scoped lang="scss">
.select-popper{
top: 3px;
}
</style> </style>
...@@ -301,6 +301,7 @@ ...@@ -301,6 +301,7 @@
margin-right: 4px; margin-right: 4px;
transform: rotateX(180deg); transform: rotateX(180deg);
background: url('../../../../../src/assets/images/import.png')no-repeat center center; background: url('../../../../../src/assets/images/import.png')no-repeat center center;
background-size: 100%;
} }
.box-card{ .box-card{
position: relative; position: relative;
......
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
} }
}, },
created(){ created(){
this.thistag = this.$route.query.tag this.thistag = this.$route.query.tag ? this.$route.query.tag : this.thistag
this.prvinceTree() this.prvinceTree()
this.id = this.detailId ? this.detailId : this.$route.query.id this.id = this.detailId ? this.detailId : this.$route.query.id
//项目阶段 //项目阶段
...@@ -347,6 +347,9 @@ ...@@ -347,6 +347,9 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.select-popper{
top: 0;
}
.head{ .head{
.titles{ .titles{
line-height: 31px; line-height: 31px;
...@@ -376,7 +379,7 @@ ...@@ -376,7 +379,7 @@
&:hover{ &:hover{
background-color: #DFE0E2; background-color: #DFE0E2;
} }
>img{ img{
float: left; float: left;
width: 16px; width: 16px;
margin-top: 3px; margin-top: 3px;
...@@ -417,6 +420,7 @@ ...@@ -417,6 +420,7 @@
width: 10px; width: 10px;
height: 32px; height: 32px;
background: url("../../../assets/images/project/icol1.png") no-repeat top center #fff; background: url("../../../assets/images/project/icol1.png") no-repeat top center #fff;
background-size: 100%;
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
...@@ -428,14 +432,17 @@ ...@@ -428,14 +432,17 @@
width: 10px; width: 10px;
height: 32px; height: 32px;
background: url("../../../assets/images/project/icor1.png") no-repeat top center #fff; background: url("../../../assets/images/project/icor1.png") no-repeat top center #fff;
background-size: 100%;
} }
&:hover{ &:hover{
background: #E3E6EA; background: #E3E6EA;
.left{ .left{
background: url("../../../assets/images/project/icol2.png") no-repeat top center #fff; background: url("../../../assets/images/project/icol2.png") no-repeat top center #fff;
background-size: 100%;
} }
.right{ .right{
background: url("../../../assets/images/project/icor2.png") no-repeat top center #fff; background: url("../../../assets/images/project/icor2.png") no-repeat top center #fff;
background-size: 100%;
} }
} }
...@@ -444,9 +451,11 @@ ...@@ -444,9 +451,11 @@
color: #fff; color: #fff;
.left{ .left{
background: url("../../../assets/images/project/icol3.png") no-repeat top center #fff; background: url("../../../assets/images/project/icol3.png") no-repeat top center #fff;
background-size: 100%;
} }
.right{ .right{
background: url("../../../assets/images/project/icor3.png") no-repeat top center #fff; background: url("../../../assets/images/project/icor3.png") no-repeat top center #fff;
background-size: 100%;
} }
} }
} }
......
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
<el-divider v-if="index != datalist.length-1"></el-divider> <el-divider v-if="index != datalist.length-1"></el-divider>
<div class="operates" v-if="activeName=='first'"> <div class="operates" v-if="activeName=='first'">
<div class="i1"><img src="@/assets/images/follow.png" @click="toDetail(item.id,'gjjl')">跟进</div> <div class="i1"><img src="@/assets/images/follow.png" @click="toDetail(item.id,'gjjl')">跟进</div>
<div class="i2"><img src="@/assets/images/edit.png" @click="toDetail(item.id,'xmsl')">编辑</div> <div class="i2"><img src="@/assets/images/edit1.png" @click="toDetail(item.id,'xmsl')">编辑</div>
<div class="i3" @click="deldetail(index)"><img src="@/assets/images/delete.png">删除</div> <div class="i3" @click="deldetail(index)"><img src="@/assets/images/delete.png">删除</div>
</div> </div>
<div class="delform" v-if="activeName=='first' && ondel == index"> <div class="delform" v-if="activeName=='first' && ondel == index">
...@@ -447,14 +447,17 @@ export default { ...@@ -447,14 +447,17 @@ export default {
z-index: 2; z-index: 2;
.img.img1{ .img.img1{
background: url('../../../../src/assets/images/add.png')no-repeat center center; background: url('../../../../src/assets/images/add.png')no-repeat center center;
background-size: 100%;
} }
.btn_default:hover{ .btn_default:hover{
.img1{ .img1{
background: url('../../../../src/assets/images/add_1.png')no-repeat center center; background: url('../../../../src/assets/images/add_1.png')no-repeat center center;
background-size: 100%;
} }
} }
.img.img2{ .img.img2{
background: url('../../../../src/assets/images/import.png')no-repeat center center; background: url('../../../../src/assets/images/import.png')no-repeat center center;
background-size: 100%;
} }
} }
.scbtns{ .scbtns{
...@@ -536,6 +539,7 @@ export default { ...@@ -536,6 +539,7 @@ export default {
>img{ >img{
float: left; float: left;
margin-right: 5px; margin-right: 5px;
width: 16px;
} }
} }
.i1:hover{ .i1:hover{
......
...@@ -61,6 +61,6 @@ public class BusinessAddDto { ...@@ -61,6 +61,6 @@ public class BusinessAddDto {
private String customerId; private String customerId;
public Double getInvestmentAmount() { public Double getInvestmentAmount() {
return StringUtils.isEmpty(investmentAmount) ? 0 :Double.parseDouble(investmentAmount); return StringUtils.isEmpty(investmentAmount) ? null :Double.parseDouble(investmentAmount);
} }
} }
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