Commit 281f1983 authored by caixingbing's avatar caixingbing
parents 863b3a70 ed02fd1a
...@@ -33,8 +33,8 @@ public class EnterpriseController { ...@@ -33,8 +33,8 @@ public class EnterpriseController {
return enterpriseService.infoHeader(body); return enterpriseService.infoHeader(body);
} }
@ApiOperation(value = "企业统计信息") @ApiOperation(value = "企业统计信息(建设库)")
@PostMapping(value = "statistic(建设库)") @PostMapping(value = "statistic")
public R statistic(@RequestBody @Valid EnterpriseStatisticBody vo) throws Exception { public R statistic(@RequestBody @Valid EnterpriseStatisticBody vo) throws Exception {
return enterpriseService.statistic(vo); return enterpriseService.statistic(vo);
} }
......
...@@ -12,6 +12,11 @@ import lombok.Data; ...@@ -12,6 +12,11 @@ import lombok.Data;
@Data @Data
public class SpecialPurposeBondsDto { public class SpecialPurposeBondsDto {
/**
* 省Id
*/
private Integer provinceId;
/** /**
* 项目类型 * 项目类型
*/ */
......
...@@ -12,4 +12,8 @@ import lombok.Data; ...@@ -12,4 +12,8 @@ import lombok.Data;
*/ */
@Data @Data
public class SpecialPurposeBondsPageDto extends BasePage { public class SpecialPurposeBondsPageDto extends BasePage {
/**
* 省Id
*/
private Integer provinceId;
} }
...@@ -27,5 +27,21 @@ let regionWebList= function regionWebList(param) { ...@@ -27,5 +27,21 @@ let regionWebList= function regionWebList(param) {
method: 'get', method: 'get',
}) })
} }
// 查甲方选项
let uipGroupData= function uipGroupData(param) {
return request({
url: '/enterprise/uipGroupData',
method: 'post',
})
}
// 查甲方列表
let uipSerach= function uipSerach(param) {
return request({
url: '/enterprise/uipSerach',
method: 'post',
data: param
})
}
export default {aptitudeCode,personCert,searchDic,regionWebList} export default {aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach}
\ No newline at end of file \ No newline at end of file
...@@ -10,6 +10,11 @@ ...@@ -10,6 +10,11 @@
>span{ >span{
opacity: 0.4; opacity: 0.4;
&:last-child{opacity:0.8} &:last-child{opacity:0.8}
&.on:hover{
color: #0081FF;
opacity: 1;
cursor: pointer;
}
} }
} }
.overflows{ .overflows{
...@@ -71,6 +76,8 @@ ...@@ -71,6 +76,8 @@
.con{ .con{
>span{ >span{
opacity: 0.8; opacity: 0.8;
float: left;
margin-top: 3px;
} }
.inputxt{ .inputxt{
display: inline-block; display: inline-block;
......
...@@ -416,7 +416,7 @@ select { ...@@ -416,7 +416,7 @@ select {
} }
.toolbar-right-download { .toolbar-right-download {
padding: 8px 21px; padding: 6px 18px;
margin: 0px; margin: 0px;
cursor: pointer; cursor: pointer;
font-weight: 400; font-weight: 400;
...@@ -425,6 +425,8 @@ select { ...@@ -425,6 +425,8 @@ select {
border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px;
border: 1px solid #D9D9D9; border: 1px solid #D9D9D9;
text-align: center; text-align: center;
font-size:14px;
font-weight: 400;
} }
.toolbar-right-download .el-icon-arrow-down{ .toolbar-right-download .el-icon-arrow-down{
margin-left: 8px; margin-left: 8px;
...@@ -692,3 +694,24 @@ select { ...@@ -692,3 +694,24 @@ select {
.select-list .el-radio__input { .select-list .el-radio__input {
display: none; display: none;
} }
.checkbox{
display: flex;
align-items: center;
}
.checkbox .checkbox-titel{
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
margin-right:24px;
}
.checkbox .checkbox-content{
display: flex;
align-items: center;
}
.checkbox .el-checkbox__label{
padding-left: 8px;
color: #232323;
}
.checkbox .checkbox-content .checkbox-content-qx{
margin-right: 30px;
}
\ No newline at end of file
...@@ -72,7 +72,8 @@ export default { ...@@ -72,7 +72,8 @@ export default {
data: params, data: params,
headers: { 'Authorization': 'Bearer ' + getToken() } headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => { }).then(res => {
const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) console.log(res)
const blob = new Blob([res.data], { type: 'application/octet-stream/pdf/doc/xlsx/xls/docx' })
this.saveAs(blob, decodeURI(res.headers['download-filename'])) this.saveAs(blob, decodeURI(res.headers['download-filename']))
}) })
}, },
......
...@@ -142,7 +142,7 @@ export const constantRoutes = [ ...@@ -142,7 +142,7 @@ export const constantRoutes = [
path: '/macro/financing/details/:id(\\d+)', path: '/macro/financing/details/:id(\\d+)',
component: () => import('@/views/macro/financing/details'), component: () => import('@/views/macro/financing/details'),
name: 'financingDetails', name: 'financingDetails',
meta: { title: '区域专项债详情',icon: ''} meta: { title: '区域专项债详情',icon: 'radar'}
} }
] ]
}, },
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <div class="btn" @click="handleCurrentChange(1)">搜索</div>
</div> </div>
<div class="dc"> <div class="dc">
<div class="total">126</div> <div class="total">{{tableData.total}}</div>
<div class="btn-export" @click="pldrs"><img src="@/assets/images/project/import.png">批量导入</div> <div class="btn-export" @click="pldrs"><img src="@/assets/images/project/import.png">批量导入</div>
<div class="btn btn_primary h32 p10" @click="opennew"><div class="img img1"></div>添加客户</div> <div class="btn btn_primary h32 p10" @click="opennew"><div class="img img1"></div>添加客户</div>
</div> </div>
...@@ -47,8 +47,8 @@ ...@@ -47,8 +47,8 @@
<div class="ps1"> <div class="ps1">
<div class="wordprimary ps2" @click="toDetail(scope.row.companyId,'')">{{scope.row.companyName}}</div> <div class="wordprimary ps2" @click="toDetail(scope.row.companyId,'')">{{scope.row.companyName}}</div>
<div class="ps3"> <div class="ps3">
<div @click="toDetail(scope.row.companyId,1)">写跟进<img src="@/assets/images/project/edit_1.png"></div> <div @click="toDetail(scope.row,'gjjl')">写跟进<img src="@/assets/images/project/edit_1.png"></div>
<div @click="toDetail(scope.row.companyId,2)">编辑信息<img src="@/assets/images/project/edit_2.png"></div> <div @click="toDetail(scope.row,'preference')">编辑信息<img src="@/assets/images/project/edit_2.png"></div>
</div> </div>
</div> </div>
</template> </template>
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
label="注册资本金(万元)" label="注册资本金(万元)"
width="140"> width="140">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.registerCapitalStr || '--'}} {{scope.row.registerCapital || '--'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -227,7 +227,7 @@ ...@@ -227,7 +227,7 @@
</el-dialog> </el-dialog>
</el-card> </el-card>
</div> </div>
<batchimport v-if="pldr" :importtype="types" @cancels="importCancel" @getdatas="handleCurrentChange(1)"></batchimport> <batchimport v-if="pldr" :importtype="types" @cancels="cancelimport" @getdatas="handleCurrentChange(1)"></batchimport>
</div> </div>
</template> </template>
...@@ -304,7 +304,7 @@ export default { ...@@ -304,7 +304,7 @@ export default {
pldrs(){ pldrs(){
this.pldr = true this.pldr = true
}, },
importCancel(){ cancelimport(){
this.pldr = false this.pldr = false
}, },
//获取客户列表 //获取客户列表
...@@ -314,12 +314,11 @@ export default { ...@@ -314,12 +314,11 @@ export default {
}) })
}, },
//跳转到客户详情 //跳转到客户详情
toDetail(id,type){ toDetail(row,type){
if(type == 1){//跟进 let customerId = row.customerId
let companyId = row.companyId
}else if(type == 2){//编辑信息 let path = type
this.$router.push({path:'/party/party-a',query:{customerId:customerId,companyId:companyId,path:path}})
}
}, },
//翻页 //翻页
handleCurrentChange(val) { handleCurrentChange(val) {
......
...@@ -31,9 +31,9 @@ ...@@ -31,9 +31,9 @@
<Hiscontract v-if="currentPath.pathName=='hiscontract'" :company-id="companyId" /> <Hiscontract v-if="currentPath.pathName=='hiscontract'" :company-id="companyId" />
<Bidrecords v-if="currentPath.pathName=='bidrecords'" :company-id="companyId" /> <Bidrecords v-if="currentPath.pathName=='bidrecords'" :company-id="companyId" />
<!-- 投诚分析 --> <!-- 投诚分析 -->
<RegionalEconomies v-if="currentPath.pathName=='regionalEconomies'" :company-id="companyId" :companyInfo="companyInfo" />
<LandAcquisition v-if="currentPath.pathName=='landAcquisition'" :company-id="companyId" /> <LandAcquisition v-if="currentPath.pathName=='landAcquisition'" :company-id="companyId" />
<RegionalEconomies v-if="currentPath.pathName=='regionalEconomies'" :company-id="companyId" /> <SameRegion v-if="currentPath.pathName=='sameRegion'" :company-id="companyId" :companyInfo="companyInfo" />
<SameRegion v-if="currentPath.pathName=='sameRegion'" :company-id="companyId" />
<!-- 风险信息 --> <!-- 风险信息 -->
<Punish v-if="currentPath.pathName=='punish'" :company-id="companyId" /> <Punish v-if="currentPath.pathName=='punish'" :company-id="companyId" />
<BusinessAnomaly v-if="currentPath.pathName=='businessAnomaly'" :company-id="companyId" /> <BusinessAnomaly v-if="currentPath.pathName=='businessAnomaly'" :company-id="companyId" />
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="projectName" slot-scope="data"> <template slot="projectName" slot-scope="data">
<router-link :to="''+ data.row.id" style="color: #0081FF">{{ data.row.projectName }}</router-link> <router-link to="" tag="a" class="a-link">{{ data.row.projectName }}</router-link>
</template> </template>
</tables> </tables>
......
...@@ -30,9 +30,6 @@ import dataRegion from '@/assets/json/dataRegion' ...@@ -30,9 +30,6 @@ import dataRegion from '@/assets/json/dataRegion'
import { import {
regionalEconomy regionalEconomy
} from '@/api/detail/party-a/urbanLnvestment' } from '@/api/detail/party-a/urbanLnvestment'
import {
infoHeader
} from '@/api/detail/party-a/index'
export default { export default {
name: 'regionalEconomies', name: 'regionalEconomies',
components: { components: {
...@@ -42,14 +39,18 @@ export default { ...@@ -42,14 +39,18 @@ export default {
companyId: { companyId: {
type: Number, type: Number,
default: 0 default: 0
},
companyInfo: {
type: Object,
default: {}
} }
}, },
data() { data() {
return { return {
addressList:'', addressList:'',
params: { params: {
provinceId: 500000, provinceId: this.companyInfo.provinceId,
cityId: 500100 cityId: this.companyInfo.cityId
}, },
labels: [ labels: [
'指标', '指标',
...@@ -231,16 +232,13 @@ export default { ...@@ -231,16 +232,13 @@ export default {
//地区 //地区
regionalEconomys() { regionalEconomys() {
this.tableLoading = true this.tableLoading = true
infoHeader({companyId: this.companyId}).then(res => { if(this.companyInfo){
regionalEconomy({ regionalEconomy(this.params).then(res => {
provinceId: res.data.provinceId,
cityId: res.data.cityId
}).then(res => {
this.tableData = res.data this.tableData = res.data
this.tableLoading = false this.tableLoading = false
}) })
this.dataRegion(res.data.provinceId, res.data.cityId) this.dataRegion(this.companyInfo.provinceId, this.companyInfo.cityId)
}) }
}, },
dataRegion(p,c) { dataRegion(p,c) {
var str = []; var str = [];
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="companyName" slot-scope="data"> <template slot="companyName" slot-scope="data">
<router-link :to="''+ data.row.companyId" style="color: #0081FF">{{ data.row.companyName }}</router-link> <router-link to="" tag="a" class="a-link">{{ data.row.companyName }}</router-link>
</template> </template>
</tables> </tables>
...@@ -112,9 +112,6 @@ import { ...@@ -112,9 +112,6 @@ import {
urbanInvestmentPage, urbanInvestmentPage,
uipGroupData uipGroupData
} from '@/api/detail/party-a/urbanLnvestment' } from '@/api/detail/party-a/urbanLnvestment'
import {
infoHeader
} from '@/api/detail/party-a/index'
export default { export default {
name: 'SameRegion', name: 'SameRegion',
mixins: [mixin], mixins: [mixin],
...@@ -125,6 +122,10 @@ export default { ...@@ -125,6 +122,10 @@ export default {
companyId: { companyId: {
type: Number, type: Number,
default: 0 default: 0
},
companyInfo: {
type: Object,
default: {}
} }
}, },
data() { data() {
...@@ -200,12 +201,12 @@ export default { ...@@ -200,12 +201,12 @@ export default {
} }
}, },
created() { created() {
infoHeader({companyId: this.companyId}).then(res => { if(this.companyInfo){
this.queryParams.provinceId = res.data.provinceId this.queryParams.provinceId = this.companyInfo.provinceId
this.queryParams.cityId = res.data.cityId this.queryParams.cityId = this.companyInfo.cityId
this.handleQuery() this.handleQuery()
this.getScreen() this.getScreen()
}) }
}, },
computed: { computed: {
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 企业专项债 --> <!-- 查业主单位 -->
<!-- <debtProject v-if="personnelHerf=='debtProject'" /> --> <Owner v-if="personnelHerf=='Owner'" />
<!-- 查企业 --> <!-- 查企业 -->
<SearchEnterprise v-if="personnelHerf=='SearchEnterprise'" /> <SearchEnterprise v-if="personnelHerf=='SearchEnterprise'" />
...@@ -25,28 +25,29 @@ ...@@ -25,28 +25,29 @@
</template> </template>
<script> <script>
import SearchEnterprise from "./components/SearchEnterprise/index.vue"; import SearchEnterprise from "./components/SearchEnterprise/index.vue";
import Owner from "./components/Owner/index.vue";
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
export default { export default {
name: 'enterpriseData', name: 'enterpriseData',
components: { SearchEnterprise }, components: { SearchEnterprise,Owner },
data() { data() {
return { return {
// tablist // tablist
personnelList: [{ personnelList: [{
key: '1', key: 'Owner',
status: false, status: true,
value: '查业主单位', value: '查业主单位',
}, },
{ {
key: 'SearchEnterprise', key: 'SearchEnterprise',
status: true, status: false,
value: '查建筑企业', value: '查建筑企业',
}, },
], ],
personnelHerf:'SearchEnterprise' personnelHerf:'Owner'
} }
}, },
created() {}, created() {},
......
...@@ -86,6 +86,8 @@ export default { ...@@ -86,6 +86,8 @@ export default {
if(this.queryParams.order){ if(this.queryParams.order){
params.order=this.queryParams.order params.order=this.queryParams.order
} }
params.provinceIds=[this.dataQuery.provinceId]
nationalPage(params).then(res => { nationalPage(params).then(res => {
this.tableData = res.data.list this.tableData = res.data.list
this.tableDataTotal = res.data.totalCount this.tableDataTotal = res.data.totalCount
......
<template> <template>
<div class="app-container enterprises"> <div class="app-container enterprises">
<div class="flex-box eco-header"> <div class="flex-box eco-header">
<el-tabs v-model="activeName"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="本地企业" name="first"></el-tab-pane> <el-tab-pane label="本地企业" name="first"></el-tab-pane>
<el-tab-pane label="异地备案" name="second"></el-tab-pane> <el-tab-pane label="异地备案" name="second"></el-tab-pane>
</el-tabs> </el-tabs>
<div class="location"><i class="el-icon-location"></i>重庆市</div> <div class="location"><i class="el-icon-location"></i>{{province}}</div>
</div> </div>
<div class="content"> <div class="content">
<div class="search"> <div class="search">
<el-cascader <el-cascader
ref="address" ref="aptitudeCode"
:options="aptitudeCodeList" :options="aptitudeCodeList"
:props="props" :props="props"
v-model="queryParams.codeStr" v-model="queryParams.codeStr"
@change="handleChange"
placeholder="资质资格" placeholder="资质资格"
collapse-tags collapse-tags
clearable></el-cascader> clearable></el-cascader>
<el-input placeholder="输入企业名称关键词" v-model="queryParams.key"> <el-input placeholder="输入企业名称关键词" v-model="queryParams.ename">
<el-button slot="append">搜索</el-button> <el-button slot="append" @click="querySubmit()">搜索</el-button>
</el-input> </el-input>
<span class="total">{{tableDataTotal}}</span> <span class="total">{{tableDataTotal}}</span>
</div> </div>
...@@ -36,22 +37,22 @@ ...@@ -36,22 +37,22 @@
</el-table-column> </el-table-column>
<el-table-column label="公司名称" align="left" width="300"> <el-table-column label="公司名称" align="left" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ scope.row.name}}</router-link> <router-link to="" tag="a" class="a-link" v-html="scope.row.name"></router-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="注册地区" prop="address" width="80"/> <el-table-column label="注册地址" prop="domicile" width="150"/>
<el-table-column label="资质资格" prop="aptitudeCountNew" sortable width="120" align="right" /> <el-table-column label="资质资格" prop="aptitudeCountNew" sortable width="100"/>
<el-table-column label="专业人员" prop="persionCount" sortable width="130" align="right" /> <el-table-column label="专业人员" prop="persionCount" sortable width="100"/>
<el-table-column label="中标业绩" prop="recentlyCount" sortable width="130" align="right" /> <el-table-column label="中标业绩" prop="recentlyCount" sortable width="100"/>
<el-table-column label="最大中标金额(万元)" prop="cgfs" sortable width="160" align="right" /> <el-table-column label="最大中标金额(万元)" prop="cgfs" sortable width="160"/>
<el-table-column label="中标总金额(万元)" prop="cgfs" sortable width="160" align="right" /> <el-table-column label="中标总金额(万元)" prop="cgfs" sortable width="160"/>
<el-table-column label="四库业绩" prop="skyCount" sortable width="130" align="right" /> <el-table-column label="四库业绩" prop="skyCount" sortable width="100"/>
<el-table-column label="公路业绩" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="公路业绩" prop="cgfs" sortable width="100"/>
<el-table-column label="水利业绩" prop="cgfs" sortable width="130" align="right" /> <el-table-column label="水利业绩" prop="cgfs" sortable width="100"/>
<el-table-column label="常合作业主" prop="cgfs" width="280" align="right" /> <el-table-column label="常合作业主" prop="cgfs" width="130"/>
<el-table-column label="客户(个)" prop="customerCount" sortable width="130" align="right" /> <el-table-column label="客户(个)" prop="customerCount" sortable width="100"/>
<el-table-column label="供应商(个)" prop="supplierCount" sortable width="130" align="right" /> <el-table-column label="供应商(个)" prop="supplierCount" sortable width="130" />
<el-table-column label="常合作供应商" prop="cgfs" width="280" align="right" /> <el-table-column label="常合作供应商" prop="supplierCount" width="120"/>
</el-table> </el-table>
</div> </div>
<div class="pagination-box"> <div class="pagination-box">
...@@ -68,7 +69,7 @@ ...@@ -68,7 +69,7 @@
// import LocalEnterprises from './component/localEnterprises' // import LocalEnterprises from './component/localEnterprises'
// import Offsite from './component/offsite' // import Offsite from './component/offsite'
import aptitudeCode from '@/assets/json/aptitudeCode' import aptitudeCode from '@/assets/json/aptitudeCode'
import { enterprise } from '@/api/macro/macro' import { enterprise,location } from '@/api/macro/macro'
export default { export default {
name: 'Enterprises', name: 'Enterprises',
// components: {LocalEnterprises,Offsite}, // components: {LocalEnterprises,Offsite},
...@@ -76,36 +77,36 @@ export default { ...@@ -76,36 +77,36 @@ export default {
return { return {
activeName: 'first', activeName: 'first',
queryParams:{ queryParams:{
key:'', ename:'',
codeStr:'' codeStr:'',
}, },
props: { props: {
value: 'id', value: 'id',
multiple: true, multiple: true,
// checkStrictly:true, checkStrictly:true,
label:'name', label:'name',
children:'list', children:'list',
expandTrigger:'hover' expandTrigger:'hover'
}, },
tableData: [ tableData: [],
{
dataId:'1',
cgrssqy:'100',
cgfs:'200',
address:'江北区',
name:'重庆市江北区国有资本投资运营管理集团有限公司'
}
],
tableLoading: false, tableLoading: false,
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
tableDataTotal: 1, tableDataTotal: 1,
aptitudeCodeList:[], aptitudeCodeList:[],
aptitudeType:'',
province:'',
provinceId:''
} }
}, },
created() { created() {
location({provinceId:'500000'}).then(res => {
this.province=res.data.currentProvince.regionName;
this.provinceId=res.data.currentProvince.id;
this.querySubmit()
})
this.aptitudeCode() this.aptitudeCode()
this.querySubmit()
}, },
methods: { methods: {
//资质Json //资质Json
...@@ -129,8 +130,32 @@ export default { ...@@ -129,8 +130,32 @@ export default {
if(this.queryParams.order){ if(this.queryParams.order){
params.order=this.queryParams.order params.order=this.queryParams.order
} }
params.aptitudeQueryDto={
filePlaceType:this.activeName === 'first' ? 3 : 2,
aptitudeSource:'new',
aptitudeQueryType:'or',
filePlaceCode:this.provinceId
}
if(this.queryParams.ename){
params.aptitudeQueryDto.ename=this.queryParams.ename
}
if(this.aptitudeType){
let aptitudeType=[];
aptitudeType.push({
codeStr:this.aptitudeType,
queryType: "and",
aptitudeType: "qualification"
})
params.aptitudeQueryDto.aptitudeDtoList=aptitudeType
}
if(this.aptitudeType || this.queryParams.ename){
}
console.log(params)
enterprise(params).then(res => { enterprise(params).then(res => {
console.log(res.data) console.log(res.data)
this.tableData=res.data.list;
this.tableDataTotal=res.data.total;
}) })
}, },
// 重置页数 // 重置页数
...@@ -144,6 +169,28 @@ export default { ...@@ -144,6 +169,28 @@ export default {
this.pageIndex = val this.pageIndex = val
this.querySubmit() this.querySubmit()
}, },
handleChange(){
// console.log(this.queryParams.codeStr)
let codeStr=this.queryParams.codeStr;
let arr=[]
for(let i=0; i<codeStr.length; i++){
arr.push(codeStr[i][codeStr[i].length - 1])
}
this.aptitudeType=arr.join(',')
console.log(this.aptitudeType)
this.$refs.aptitudeCode.toggleDropDownVisible(false)
this.querySubmit()
},
handleClick(){
this.queryParams.codeStr=[]
this.aptitudeType='';
this.queryParams={
ename:'',
codeStr:'',
}
this.pageIndex=1;
this.querySubmit()
}
} }
} }
</script> </script>
......
...@@ -2,10 +2,8 @@ ...@@ -2,10 +2,8 @@
<div class="app-container qyzx-details"> <div class="app-container qyzx-details">
<p class="tab">区域专项债 <span>/ 专项债项目详情</span></p> <p class="tab">区域专项债 <span>/ 专项债项目详情</span></p>
<div class="content main1"> <div class="content main1">
<div class="title"><img src="@/assets/images/financing/head_icon.png" />重庆至黔江高速铁路项目一项目详情</div> <div class="cont-title"><img src="@/assets/images/financing/head_icon.png" />{{details.projectName}}</div>
<p>本项目是厦渝高铁通道的重要组成部分,是成渝地区、海西经济区间高速客运交流的主通道;是成渝地区与华南、华东地区间客运交流的辅助通道;是以重庆主城为核心的城际客流的快速客运通道; <p>{{details.projectScale}}</p>
是整合区域旅游资源,促进沿线旅游资源开发的黄金旅游通道。线路起自重庆站,经巴南、南川、武隆、彭水,终至江,正线全长265公里,设8座,其中新建6座。
同步建设重庆东动车所动车出入段,重庆枢纽东环联络线。</p>
</div> </div>
<div class="content main2"> <div class="content main2">
<div class="common-title">项目筹资</div> <div class="common-title">项目筹资</div>
...@@ -13,28 +11,28 @@ ...@@ -13,28 +11,28 @@
<div class="list"> <div class="list">
<div class="item color1"> <div class="item color1">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿</span></h4> <h4>{{details.projectTotalInvestment || '-'}}<span>{{details.projectTotalInvestment ? '亿' : ''}}</span></h4>
<p>项目总投资额</p> <p>项目总投资额</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon1.png" /> <img class="img" src="@/assets/images/financing/icon1.png" />
</div> </div>
<div class="item color2"> <div class="item color2">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿</span></h4> <h4>{{details.projectCapital || '-'}}<span>{{details.projectCapital ? '亿' : ''}}</span></h4>
<p>项目资本金</p> <p>项目资本金</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon2.png" /> <img class="img" src="@/assets/images/financing/icon2.png" />
</div> </div>
<div class="item color3"> <div class="item color3">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿</span></h4> <h4>{{details.specialBondFinancing || '-'}}<span>{{details.specialBondFinancing ? '亿' : ''}}</span></h4>
<p>专项债融资</p> <p>专项债融资</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon3.png" /> <img class="img" src="@/assets/images/financing/icon3.png" />
</div> </div>
<div class="item color4"> <div class="item color4">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿</span></h4> <h4>{{details.specialCapital || '-'}}<span>{{details.specialCapital ? '亿' : ''}}</span></h4>
<p>专项债用作资本金</p> <p>专项债用作资本金</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon4.png" /> <img class="img" src="@/assets/images/financing/icon4.png" />
...@@ -43,28 +41,28 @@ ...@@ -43,28 +41,28 @@
<div class="list"> <div class="list">
<div class="item color4"> <div class="item color4">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿</span></h4> <h4>{{details.otherFunds || '-'}}<span>{{details.otherFunds ? '亿' : ''}}</span></h4>
<p>其他资金</p> <p>其他资金</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon5.png" /> <img class="img" src="@/assets/images/financing/icon5.png" />
</div> </div>
<div class="item color3"> <div class="item color3">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿 / 10只</span></h4> <h4>{{details.specialBondFinancingAmount || '-'}}<span>{{details.specialBondFinancingAmount ? '亿' : ''}} / {{details.specialBondIssueNumber || '-'}}{{details.specialBondIssueNumber ? '只' : ''}}</span></h4>
<p>专项债融资额/专项债只数</p> <p>专项债融资额/专项债只数</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon6.png" /> <img class="img" src="@/assets/images/financing/icon6.png" />
</div> </div>
<div class="item color4"> <div class="item color4">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿</span></h4> <h4>{{details.otherFinancing || '-'}}<span>{{details.otherFinancing ? '亿' : ''}}</span></h4>
<p>其他融资</p> <p>其他融资</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon7.png" /> <img class="img" src="@/assets/images/financing/icon7.png" />
</div> </div>
<div class="item color2"> <div class="item color2">
<div class="item-left"> <div class="item-left">
<h4>535.00<span>亿</span></h4> <h4>{{details.govSupportFunds || '-'}}<span>{{details.govSupportFunds ? '亿' : ''}}</span></h4>
<p>政府安排资金</p> <p>政府安排资金</p>
</div> </div>
<img class="img" src="@/assets/images/financing/icon8.png" /> <img class="img" src="@/assets/images/financing/icon8.png" />
...@@ -77,27 +75,27 @@ ...@@ -77,27 +75,27 @@
<div class="main3-box"> <div class="main3-box">
<p> <p>
<label class="label">项目总收益/项目总债务融资本息(覆盖倍数)</label> <label class="label">项目总收益/项目总债务融资本息(覆盖倍数)</label>
<span>1.36</span> <span>{{details.econData007}}</span>
</p> </p>
<p> <p>
<label class="label">项目总收益/项目总地方债券融资本息</label> <label class="label">项目总收益/项目总地方债券融资本息</label>
<span>1.96</span> <span>{{details.econData008}}</span>
</p> </p>
<p> <p>
<label class="label">项目总收益/项目总投资</label> <label class="label">项目总收益/项目总投资</label>
<span>1.96</span> <span>{{details.econData009}}</span>
</p> </p>
<p> <p>
<label class="label">项目总收益/项目总地方债券融资本金</label> <label class="label">项目总收益/项目总地方债券融资本金</label>
<span>1.96</span> <span>{{details.econData010}}</span>
</p> </p>
<p> <p>
<label class="label">项目总收益/项目总债务融资本金</label> <label class="label">项目总收益/项目总债务融资本金</label>
<span>2.45</span> <span>{{details.econData011}}</span>
</p> </p>
<p> <p>
<label class="label">项目预测总收益</label> <label class="label">项目预测总收益</label>
<span>2.45倍</span> <span>{{details.projectForecastTotalRevenue}}亿</span>
</p> </p>
</div> </div>
</div> </div>
...@@ -105,11 +103,11 @@ ...@@ -105,11 +103,11 @@
<div class="common-title">项目当事人</div> <div class="common-title">项目当事人</div>
<div class="main4-box"> <div class="main4-box">
<label class="label">项目主体</label> <label class="label">项目主体</label>
<span>重庆铁路投资集团有限公司</span> <span>{{details.projectEntity || '-'}}</span>
<label class="label">主管部门</label> <label class="label">主管部门</label>
<span>-</span> <span>{{details.chargeDepartment || '-'}}</span>
<label class="label">实施单位</label> <label class="label">实施单位</label>
<span>重庆铁路投资集团有限公司</span> <span>{{details.piu || '-'}}</span>
</div> </div>
</div> </div>
<div class="content main5"> <div class="content main5">
...@@ -122,15 +120,19 @@ ...@@ -122,15 +120,19 @@
fit fit
highlight-current-row highlight-current-row
> >
<el-table-column prop="name" label="债券简称"> <el-table-column prop="bondAbbreviation" label="债券简称">
<!--<template slot-scope="scope">-->
<!--<router-link :to="'/macro/financing/details/'+ scope.row.id" tag="a" class="a-link">{{ scope.row.bondAbbreviation}}</router-link>-->
<!--</template>-->
</el-table-column>
<el-table-column label="招标日期" width="220">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="'/macro/financing/details/'+ scope.row.id" tag="a" class="a-link">{{ scope.row.name}}</router-link> {{formatDate(scope.row.tenderDate)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="招标日期" width="220" /> <el-table-column prop="actualBondIssueScale" label="专项债规模(亿)" width="260" />
<el-table-column prop="gm" label="专项债规模(亿)" width="260" /> <el-table-column prop="isUsedProjectScale" label="用于项目规模(亿)" width="260" />
<el-table-column prop="gm" label="用于项目规模(亿)" width="260" /> <el-table-column prop="isUsedCapital" label="是否资本金" width="200" />
<el-table-column prop="zj" label="是否资本金" width="200" />
</el-table> </el-table>
</div> </div>
</div> </div>
...@@ -138,28 +140,53 @@ ...@@ -138,28 +140,53 @@
</template> </template>
<script> <script>
import { details,bondPage } from '@/api/macro/macro'
export default { export default {
name: 'financingDetails', name: 'financingDetails',
data() { data() {
return { return {
id:'', id:'',
tableData:[ tableData:[],
{ details:{},
id:0, tableLoading: false,
name:'20重庆债14(2005938)', pageIndex: 1,
time:'2020-09-18', pageSize: 10,
gm:'285.24', tableDataTotal: 1,
zj:'否',
}
]
} }
}, },
created() { created() {
console.log(this.$route.params) console.log(this.$route.params)
this.id=this.$route.params.id this.id=this.$route.params.id;
this.getDetails()
}, },
methods: { methods: {
getDetails(){
details({id:this.id}).then(res => {
this.details=res.data;
this.getData()
})
},
getData(){
const params = { pageNum: this.pageIndex, pageSize: this.pageSize,specialBondUuid:'2e59fca0-21a6-47db-975d-5481e1c52f45_74'}
// const params = { pageNum: this.pageIndex, pageSize: this.pageSize,specialBondUuid:this.details.specialBondUuid}
bondPage(params).then(res => {
console.log(res.data)
this.tableData=res.data.list;
this.tableDataTotal=res.data.totalCount;
})
},
formatDate(cellValue) {
if (cellValue == null || cellValue == "") return "";
var date = new Date(cellValue)
var year = date.getFullYear()
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
}
} }
} }
</script> </script>
...@@ -186,7 +213,7 @@ export default { ...@@ -186,7 +213,7 @@ export default {
margin-bottom: 8px; margin-bottom: 8px;
} }
.main1{ .main1{
.title{ .cont-title{
color: #232323; color: #232323;
font-size: 16px; font-size: 16px;
line-height: 28px; line-height: 28px;
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<el-table-column prop="projectCapital" label="项目资本金(亿)" sortable="custom" width="155" /> <el-table-column prop="projectCapital" label="项目资本金(亿)" sortable="custom" width="155" />
<el-table-column prop="econData007" label="项目收益倍数(倍)" sortable="custom" width="150" /> <el-table-column prop="econData007" label="项目收益倍数(倍)" sortable="custom" width="150" />
<el-table-column prop="zxz" label="专项债金额(亿)" sortable="custom" width="150" /> <el-table-column prop="zxz" label="专项债金额(亿)" sortable="custom" width="150" />
<el-table-column prop="specialCapital" label="专项债用作资本金(亿)" width="170" /> <el-table-column prop="specialBondCapital" label="专项债用作资本金(亿)" width="170" />
<el-table-column prop="projectEntity" label="项目主体"> <el-table-column prop="projectEntity" label="项目主体">
<!--<template slot-scope="scope">--> <!--<template slot-scope="scope">-->
<!--<router-link :to="'/macro/financing/details/'+ scope.row.projectEntityId" tag="a" class="a-link">{{ scope.row.projectEntity}}</router-link>--> <!--<router-link :to="'/macro/financing/details/'+ scope.row.projectEntityId" tag="a" class="a-link">{{ scope.row.projectEntity}}</router-link>-->
......
...@@ -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">成功导入客户信息</div> <div class="p2">成功导入{{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>
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
console.log(this.importtype ) 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 = '商机'
this.action = process.env.VUE_APP_BASE_API + '/business/info/upload' this.action = process.env.VUE_APP_BASE_API + '/business/info/upload'
} }
if(this.importtype == 'custom'){//客户管理 if(this.importtype == 'custom'){//客户管理
...@@ -101,8 +101,10 @@ ...@@ -101,8 +101,10 @@
onSuccess(res, file, fileList) { onSuccess(res, file, fileList) {
if(res.code == 200 ) if(res.code == 200 )
this.addsuccess = true this.addsuccess = true
else else {
this.$message.error({message:res.msg,showClose:true}) this.importCancel()
this.$message.error({ message: res.msg, showClose: true })
}
}, },
downloadClick() { downloadClick() {
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
<span v-if="showtype == 'gjdt' && item.companyName != ''">关联企业:{{item.companyName}}</span> <span v-if="showtype == 'gjdt' && item.companyName != ''">关联企业:{{item.companyName}}</span>
<span v-if="item.position">职位:{{item.position}}</span> <span v-if="item.position">职位:{{item.position}}</span>
<span v-if="item.createTime">拜访时间:{{item.createTime.slice(0, 10)}}</span> <span v-if="item.createTime">拜访时间:{{item.createTime.slice(0, 10)}}</span>
<span v-if="item.nextVisitTime">下次拜访时间:{{item.createTime.slice(0, 10)}}</span> <span v-if="item.nextVisitTime">下次拜访时间:{{item.nextVisitTime.slice(0, 10)}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -342,8 +342,11 @@ ...@@ -342,8 +342,11 @@
let day = times.getDate() let day = times.getDate()
day = day<10?"0"+day:day day = day<10?"0"+day:day
let hour = times.getHours() let hour = times.getHours()
hour = hour<10?"0"+hour:hour
let minute = times.getMinutes() let minute = times.getMinutes()
minute = minute<10?"0"+minute:minute
let second = times.getSeconds() let second = times.getSeconds()
second = second<10?"0"+second:second
return year+'-'+month+'-'+day+' '+hour+":"+minute+":"+second return year+'-'+month+'-'+day+' '+hour+":"+minute+":"+second
} }
} }
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="tasktitle"><strong>我的任务</strong><span @click="getYQ">4条已逾期</span><!--<span class="on">4条已逾期</span>--></div> <div class="tasktitle"><strong>我的任务</strong><span @click="getYQ">{{yqnum}}条已逾期</span><!--<span class="on">4条已逾期</span>--></div>
<div class="tasklist" v-for="(item,index) in datalist.rows"> <div class="tasklist" v-for="(item,index) in datalist.rows">
<div class="task_name">{{item.task}}</div> <div class="task_name">{{item.task}}</div>
<div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.finishTime">完成时间:{{item.finishTime}}</span></div> <div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.finishTime">完成时间:{{item.finishTime}}</span></div>
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select placeholder="请选择" v-model="item.state" class="select-multiple" @change="changes(item.id,$event)"> <el-select placeholder="请选择" v-model="item.state" class="select-multiple" @change="changes(item.id,$event)">
<el-option label="未完成" value="0"></el-option>
<el-option label="未完成" value="1"></el-option> <el-option label="未完成" value="1"></el-option>
<el-option label="已完成" value="2"></el-option> <el-option label="已完成" value="2"></el-option>
</el-select> </el-select>
...@@ -94,6 +93,7 @@ ...@@ -94,6 +93,7 @@
state:null, state:null,
}, },
datalist:[], datalist:[],
yqnum:0,//已逾期数量
} }
}, },
created(){ created(){
...@@ -117,6 +117,12 @@ ...@@ -117,6 +117,12 @@
getList(){ getList(){
getGZDB(this.searchPram).then(result=>{ getGZDB(this.searchPram).then(result=>{
this.datalist = result.code == 200?result:[] this.datalist = result.code == 200?result:[]
let num = 0
this.datalist.rows.forEach(item=>{
if(item.state == 0)
num++;
})
this.yqnum = num
}) })
}, },
handleCurrentChange(val){ handleCurrentChange(val){
......
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
<div class="flex" v-if="nowedit == 6"> <div class="flex" v-if="nowedit == 6">
<el-input placeholder="待添加" v-model="xmsldata.supervisorPhone"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorPhone"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" @click="isphone(1,$event)" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="isphone(1,xmsldata.supervisorPhone)" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
...@@ -123,7 +123,7 @@ ...@@ -123,7 +123,7 @@
<div class="flex" v-if="nowedit == 7"> <div class="flex" v-if="nowedit == 7">
<el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPhone"></el-input>
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" @click="isphone(2,$event)" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="isphone(2,xmsldata.constructionPhone)" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div> <div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div> </div>
</div> </div>
...@@ -214,16 +214,16 @@ ...@@ -214,16 +214,16 @@
}, },
//验证电话号码 //验证电话号码
isphone(type,value){ isphone(type,value){
var regPartton = /1[3-8]+\d{9}/; var regPartton = /1[3-9]+\d{9}/;
var regPartton1 = /^(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)$/; var regPartton1 = /^(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)$/;
if (!regPartton.test(value) && !regPartton1.test(value)) { if (!regPartton.test(value) && !regPartton1.test(value)) {
this.$message.error("请输入正确的电话"); this.$message.error("请输入正确的电话");
} else { } else {
if (type == 1) { if (type == 1) {
this.editXMSL({ supervisorPhone: this.xmsldata.supervisorPhone }) this.editXMSL({ supervisorPhone: value })
} }
if (type == 2) { if (type == 2) {
this.editXMSL({ constructionPhone: this.xmsldata.constructionPhone }) this.editXMSL({ constructionPhone: value })
} }
} }
}, },
......
...@@ -198,9 +198,7 @@ ...@@ -198,9 +198,7 @@
}, },
downnlod(row){ downnlod(row){
let param = {filePath:row.filePath} let param = {filePath:row.filePath}
// this.$download.saveAs(row.filePath,row.name);
this.$download.exportByPost('/business/file/download',param); this.$download.exportByPost('/business/file/download',param);
// // this.$download()
// let a = document.createElement("a"); // let a = document.createElement("a");
// a.setAttribute("href", row.filePath); // a.setAttribute("href", row.filePath);
// a.setAttribute("download", row.name); // a.setAttribute("download", row.name);
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<div class="miantitle"> <div class="miantitle">
<template v-if="!detailId"> <template v-if="!detailId">
<span>项目管理</span> <span>项目管理</span>
<span> / 商机列表</span> <span class="on" @click="tolist"> / 商机列表</span>
</template> </template>
<span v-else @click="cooperateList">合作情况</span> <span class="on" v-else @click="cooperateList">合作情况</span>
<span> / 项目详情</span> <span> / 项目详情</span>
</div> </div>
<div class="app-container" v-if="ProjectData"> <div class="app-container" v-if="ProjectData">
...@@ -89,11 +89,10 @@ ...@@ -89,11 +89,10 @@
</div> </div>
</div> </div>
<div class="schedule"> <div class="schedule">
<div class="child" v-for="(item,index) in projectStage" @mouseover="hover(item.dictValue)" @mouseleave="hover(-1)" @click="choose(item.dictValue)"> <div class="child" v-for="(item,index) in projectStage" @click="choose(item.dictValue)" :class="{'on':item.dictValue == thisindex}">
<img v-if="item.dictValue == lastindex" src="@/assets/images/project/pro_2.png"> <div class="left"></div>
<img v-else-if="item.dictValue == thisindex" src="@/assets/images/project/pro_3.png"> <span>{{item.dictLabel}}</span>
<img v-else src="@/assets/images/project/pro_1.png"> <div class="right"></div>
<span :class="{'now':item.dictValue == thisindex}">{{item.dictLabel}}</span>
</div> </div>
</div> </div>
...@@ -179,6 +178,7 @@ ...@@ -179,6 +178,7 @@
} }
}, },
created(){ created(){
this.thistag = this.$route.query.tag
this.prvinceTree() this.prvinceTree()
this.id = this.detailId ? this.detailId : this.$route.query.id this.id = this.detailId ? this.detailId : this.$route.query.id
//项目阶段 //项目阶段
...@@ -232,7 +232,8 @@ ...@@ -232,7 +232,8 @@
locks(isPrivate){ locks(isPrivate){
isPrivate = isPrivate==0?1:0 isPrivate = isPrivate==0?1:0
this.editXMSL({isPrivate:isPrivate}) this.editXMSL({isPrivate:isPrivate})
this.lock = false this.islock = false
this.ProjectData.isPrivate = isPrivate
}, },
editXMSL(param){ editXMSL(param){
let params = param let params = param
...@@ -337,7 +338,10 @@ ...@@ -337,7 +338,10 @@
// 跳转到企业详情合作情况 // 跳转到企业详情合作情况
cooperateList(){ cooperateList(){
this.$emit('close-detail') this.$emit('close-detail')
} },
tolist(){
this.$router.push({path:'/project/projectList'})
},
} }
} }
</script> </script>
...@@ -395,30 +399,54 @@ ...@@ -395,30 +399,54 @@
} }
} }
.schedule{ .schedule{
display: flex; width: 100%;
padding-bottom: 8px;
.child{ .child{
cursor: pointer; cursor: pointer;
margin-right: 4px; margin-right: 4px;
color: #4f4f4f; color: rgba(35, 35, 35, 0.80);
/*color: rgb(79,79,79);*/
position: relative; position: relative;
width: 137px; min-width: 137px;
padding: 0 20px;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
text-align: center; text-align: center;
>img{ background: #F3F4F5;
margin-bottom: 8px;
display: inline-block;
.left{
width: 10px;
height: 32px;
background: url("../../../assets/images/project/icol1.png") no-repeat top center #fff;
position: absolute;
left: 0; left: 0;
top: 0; top: 0;
}
.right{
position: absolute; position: absolute;
width: 100%; top: 0;
z-index: 0; right: 0;
width: 10px;
height: 32px;
background: url("../../../assets/images/project/icor1.png") no-repeat top center #fff;
}
&:hover{
background: #E3E6EA;
.left{
background: url("../../../assets/images/project/icol2.png") no-repeat top center #fff;
}
.right{
background: url("../../../assets/images/project/icor2.png") no-repeat top center #fff;
}
} }
>span{
position: relative; &.on{
z-index: 1; background: #0081FF;
&.now{ color: #fff;
color: #fff; .left{
background: url("../../../assets/images/project/icol3.png") no-repeat top center #fff;
}
.right{
background: url("../../../assets/images/project/icor3.png") no-repeat top center #fff;
} }
} }
} }
......
...@@ -113,16 +113,16 @@ ...@@ -113,16 +113,16 @@
</div> </div>
<div class="datalist"> <div class="datalist">
<div class="datali" v-for="(item,index) in datalist"> <div class="datali" v-for="(item,index) in datalist">
<div class="det-title" @click="toDetail(item.id)">{{item.projectName}}<span v-if="activeName!='first' && item.followTime" class="people"><i>{{item.nickName1}}</i>{{item.nickName}} <font color="#FA8A00">正在跟进</font></span></div> <div class="det-title" @click="toDetail(item.id,'xmsl')">{{item.projectName}}<span v-if="activeName!='first' && item.followTime" class="people"><i>{{item.nickName1}}</i>{{item.nickName}} <font color="#FA8A00">正在跟进</font></span></div>
<div class="det-tips"><span class="tips tip1" v-if="item.label">{{item.label}}</span><span v-if="item.address" class="tips tip2">{{item.address}}</span></div> <div class="det-tips"><span class="tips tip1" v-if="item.label">{{item.label}}</span><span v-if="item.address" class="tips tip2">{{item.address}}</span></div>
<div class="det-contets"> <div class="det-contets">
<div class="det-con"> <div class="det-con">
<span>项目类型:</span> <span>项目类型:</span>
<span>{{item.projectType}}</span> <span>{{item.projectType || '--'}}</span>
</div> </div>
<div class="det-con"> <div class="det-con">
<span>投资估算(万元):</span> <span>投资估算(万元):</span>
<span>{{item.investmentAmount}}</span> <span>{{item.investmentAmount || '--'}}</span>
</div> </div>
<div class="det-con"> <div class="det-con">
<span>最后跟进时间:</span> <span>最后跟进时间:</span>
...@@ -130,13 +130,13 @@ ...@@ -130,13 +130,13 @@
</div> </div>
<div class="det-con"> <div class="det-con">
<span>业主单位:</span> <span>业主单位:</span>
<span class="wordprimary">{{item.ownerCompany}}</span> <span class="wordprimary">{{item.ownerCompany || '--'}}</span>
</div> </div>
</div> </div>
<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">跟进</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">编辑</div> <div class="i2"><img src="@/assets/images/edit.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">
...@@ -355,8 +355,8 @@ export default { ...@@ -355,8 +355,8 @@ export default {
this.isshow = false this.isshow = false
this.getList(1) this.getList(1)
}, },
toDetail(id){ toDetail(id,tag){
this.$router.push({ path: '/project/projectList/detail', query: {id:id} }); this.$router.push({ path: '/project/projectList/detail', query: {id:id,tag:tag} });
}, },
handleClick(){ handleClick(){
......
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.dsk.common.config.RuoYiConfig; import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.constant.HttpStatus; import com.dsk.common.constant.HttpStatus;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
...@@ -125,6 +126,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -125,6 +126,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
Integer errorCount = 0;//失败条数 Integer errorCount = 0;//失败条数
List<String> result = new LinkedList();//导入结果汇总 List<String> result = new LinkedList();//导入结果汇总
List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file); List<BusinessExcelDto> businessInfoList = readBusinessInfoExcel.getExcelInfo(file);
if(CollectionUtil.isEmpty(businessInfoList))return AjaxResult.error("文档中无项目信息!");
for (BusinessExcelDto businessInfo : businessInfoList) { for (BusinessExcelDto businessInfo : businessInfoList) {
//查询已有的项目名称 //查询已有的项目名称
Integer count = businessInfoMapper.isRepetitionProjectName(businessInfo.getProjectName(), userId.intValue()); Integer count = businessInfoMapper.isRepetitionProjectName(businessInfo.getProjectName(), userId.intValue());
......
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