Commit e160bbd1 authored by zhangyi's avatar zhangyi

Merge remote-tracking branch 'origin/master'

parents b45bbb32 7e25454f
...@@ -72,4 +72,9 @@ public class UrbanInvestmentPlatformDto extends BasePage { ...@@ -72,4 +72,9 @@ public class UrbanInvestmentPlatformDto extends BasePage {
* 字段 desc asc * 字段 desc asc
*/ */
private String order; private String order;
/**
* 含下属区:1 本级:2
*/
private Integer type =1;
} }
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
"file-saver": "2.0.5", "file-saver": "2.0.5",
"fuse.js": "6.4.3", "fuse.js": "6.4.3",
"highlight.js": "9.18.5", "highlight.js": "9.18.5",
"jquery": "^3.7.0",
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
"js-cookie": "3.0.1", "js-cookie": "3.0.1",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
......
...@@ -32,6 +32,7 @@ let uipGroupData= function uipGroupData(param) { ...@@ -32,6 +32,7 @@ let uipGroupData= function uipGroupData(param) {
return request({ return request({
url: '/enterprise/uipGroupData', url: '/enterprise/uipGroupData',
method: 'post', method: 'post',
data: param
}) })
} }
// 查甲方列表 // 查甲方列表
......
...@@ -175,10 +175,11 @@ export function enterprise(param) { ...@@ -175,10 +175,11 @@ export function enterprise(param) {
} }
//城投平台-企业查询选项 //城投平台-企业查询选项
export function uipGroupData() { export function uipGroupData(param) {
return request({ return request({
url: '/enterprise/uipGroupData', url: '/enterprise/uipGroupData',
method: 'POST' method: 'POST',
data: param
}) })
} }
......
...@@ -15,5 +15,13 @@ let searchDic= function searchDic(param) { ...@@ -15,5 +15,13 @@ let searchDic= function searchDic(param) {
}) })
} }
// 专项债项目查询
let bondProjectPage= function bondProjectPage(param) {
return request({
url: '/radar/bondProjectPage',
method: 'post',
data: param
})
}
export default {importData,searchDic} export default {importData,searchDic,bondProjectPage}
\ No newline at end of file \ No newline at end of file
...@@ -86,6 +86,14 @@ ...@@ -86,6 +86,14 @@
border-radius: 2px; border-radius: 2px;
line-height: 28px; line-height: 28px;
cursor: pointer; cursor: pointer;
.rig {
position: absolute;
left: 0;
padding: 0;
white-space: nowrap;
visibility: hidden;
height: 0;
}
&:hover{ &:hover{
background: #F3F4F5; background: #F3F4F5;
} }
...@@ -155,18 +163,26 @@ ...@@ -155,18 +163,26 @@
display: inline-block; display: inline-block;
margin-top: 1px; margin-top: 1px;
width: calc(100% - 116px); width: calc(100% - 116px);
.spanText {
position: absolute;
left: 0;
padding: 0;
white-space: nowrap;
visibility: hidden;
height: 0;
}
.el-input{ .el-input{
float: left; float: left;
margin-right: 8px; margin-right: 8px;
width: 70px; min-width: 70px;
width: auto;
margin-bottom: 10px; margin-bottom: 10px;
.el-input__inner{ .el-input__inner{
width: 70px; min-width: 70px;
padding: 0 14px;
height: 24px; height: 24px;
background: #F3F4F5; background: #F3F4F5;
border-radius: 2px; border-radius: 2px;
padding: 0;
text-indent: 14px;
border: 0; border: 0;
} }
} }
...@@ -472,7 +488,7 @@ ...@@ -472,7 +488,7 @@
padding-top: 8px; padding-top: 8px;
padding-right: 0; padding-right: 0;
.btn{ .btn{
border-radius: 0; border-radius: 2px;
width: 80px; width: 80px;
} }
} }
...@@ -569,6 +585,7 @@ ...@@ -569,6 +585,7 @@
border: 0; border: 0;
padding: 0; padding: 0;
text-indent: 8px; text-indent: 8px;
float: left;
} }
} }
.wr_bot{ .wr_bot{
...@@ -1105,3 +1122,6 @@ ...@@ -1105,3 +1122,6 @@
} }
.none{display: none} .none{display: none}
.el-popper[x-placement^=bottom]{
margin-top: 0 !important;
}
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
width="441"> width="441">
<template slot-scope="scope"> <template slot-scope="scope">
<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,'')">{{scope.row.companyName}}</div>
<div class="ps3"> <div class="ps3">
<div @click="toDetail(scope.row,'gjjl')">写跟进<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,'preference')">编辑信息<img src="@/assets/images/project/edit_2.png"></div> <div @click="toDetail(scope.row,'preference')">编辑信息<img src="@/assets/images/project/edit_2.png"></div>
...@@ -239,11 +239,13 @@ ...@@ -239,11 +239,13 @@
import prvinceTree from '@/assets/json/provinceTree' import prvinceTree from '@/assets/json/provinceTree'
import batchimport from '../../project/projectList/component/batchImport' import batchimport from '../../project/projectList/component/batchImport'
import axios from 'axios' import axios from 'axios'
import {encodeStr} from "@/assets/js/common"
export default { export default {
name: 'CustomList', name: 'CustomList',
components:{batchimport}, components:{batchimport},
data() { data() {
return{ return{
encodeStr,
pldr: false, pldr: false,
types:'custom', types:'custom',
searchParam:{ searchParam:{
...@@ -318,7 +320,7 @@ export default { ...@@ -318,7 +320,7 @@ export default {
let customerId = row.customerId let customerId = row.customerId
let companyId = row.companyId let companyId = row.companyId
let path = type let path = type
this.$router.push({path:'/party/party-a',query:{customerId:customerId,companyId:companyId,path:path}}) this.$router.push({path:'/enterprise/'+encodeStr(companyId),query:{customerId:customerId,path:path}})
}, },
//翻页 //翻页
handleCurrentChange(val) { handleCurrentChange(val) {
......
...@@ -223,13 +223,19 @@ export default { ...@@ -223,13 +223,19 @@ export default {
type: 'category', type: 'category',
data: ['地方单位', '事业单位', '政府机关', '中央企业', '上市公司', '军队', '民营企业','其他'], data: ['地方单位', '事业单位', '政府机关', '中央企业', '上市公司', '军队', '民营企业','其他'],
axisTick: { axisTick: {
alignWithLabel: true alignWithLabel: true,
show: false
} }
} }
], ],
yAxis: [ yAxis: [
{ {
type: 'value' type: 'value',
splitLine : { //网格线
lineStyle: {
type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线
},
}
} }
], ],
series: [ series: [
...@@ -267,13 +273,19 @@ export default { ...@@ -267,13 +273,19 @@ export default {
type: 'category', type: 'category',
data: ['AA', 'AA+', 'AA-', 'A', 'A+', 'A', 'A-','其他'], data: ['AA', 'AA+', 'AA-', 'A', 'A+', 'A', 'A-','其他'],
axisTick: { axisTick: {
alignWithLabel: true alignWithLabel: true,
show: false
} }
} }
], ],
yAxis: [ yAxis: [
{ {
type: 'value' type: 'value',
splitLine : { //网格线
lineStyle: {
type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线
},
}
} }
], ],
series: [ series: [
...@@ -301,10 +313,18 @@ export default { ...@@ -301,10 +313,18 @@ export default {
this.option1 = { this.option1 = {
xAxis: { xAxis: {
type: 'category', type: 'category',
data: labels data: labels,
axisTick: {
show: false
},
}, },
yAxis: { yAxis: {
type: 'value' type: 'value',
splitLine : { //网格线
lineStyle: {
type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线
},
}
}, },
grid:{ grid:{
left:'8%', left:'8%',
...@@ -349,6 +369,7 @@ export default { ...@@ -349,6 +369,7 @@ export default {
global: false global: false
} }
}, },
symbolSize:8,
} }
] ]
} }
...@@ -509,6 +530,7 @@ export default { ...@@ -509,6 +530,7 @@ export default {
&.on{ &.on{
background: #0081FF; background: #0081FF;
color: #FFFFFF; color: #FFFFFF;
border-color: #0081FF;
} }
&:first-child{ &:first-child{
border-radius: 2px 0px 0px 2px; border-radius: 2px 0px 0px 2px;
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<!-- 输入框 --> <!-- 输入框 -->
<template v-if="form.type==3"> <template v-if="form.type==3">
<div class="cooperate-name"> <div class="cooperate-name">
<el-input @focus="clickFocus('focus'+i)" @blur="clickFocus('focus'+i)" v-model="form.value" :placeholder="form.placeholder"></el-input> <el-input clearable @focus="clickFocus('focus'+i)" @blur="clickFocus('focus'+i)" v-model="form.value" :placeholder="form.placeholder"></el-input>
<span :id="'focus'+i" @click="changeSelect">搜索</span> <span :id="'focus'+i" @click="changeSelect">搜索</span>
</div> </div>
</template> </template>
......
...@@ -81,6 +81,7 @@ export default { ...@@ -81,6 +81,7 @@ export default {
this.tableLoading = false this.tableLoading = false
}) })
}, },
// 公告
noticesTypes(){ noticesTypes(){
noticesType({cid: this.queryParams.cid}).then(res => { noticesType({cid: this.queryParams.cid}).then(res => {
let data = res.data let data = res.data
...@@ -94,12 +95,13 @@ export default { ...@@ -94,12 +95,13 @@ export default {
} }
}) })
}, },
// 身份
noticesRoles(){ noticesRoles(){
noticesRole({cid: this.queryParams.cid}).then(res => { noticesRole({cid: this.queryParams.cid}).then(res => {
let data = res.data let data = res.data
if(data.length > 0){ if(data.length > 0){
for (var i=0;i<data.length;i++){ for (var i=0;i<data.length;i++){
this.formData[1].options.push({ this.formData[2].options.push({
name: data[i].role + '(' + data[i].count + ')', name: data[i].role + '(' + data[i].count + ')',
value: data[i].role, value: data[i].role,
}) })
...@@ -107,12 +109,13 @@ export default { ...@@ -107,12 +109,13 @@ export default {
} }
}) })
}, },
// 案由
noticesCaseReasons(){ noticesCaseReasons(){
noticesCaseReason({cid: this.queryParams.cid}).then(res => { noticesCaseReason({cid: this.queryParams.cid}).then(res => {
let data = res.data let data = res.data
if(data.length > 0){ if(data.length > 0){
for (var i=0;i<data.length;i++){ for (var i=0;i<data.length;i++){
this.formData[2].options.push({ this.formData[1].options.push({
name: data[i].caseReason + '(' + data[i].count + ')', name: data[i].caseReason + '(' + data[i].count + ')',
value: data[i].caseReason, value: data[i].caseReason,
}) })
......
...@@ -62,7 +62,7 @@ export default { ...@@ -62,7 +62,7 @@ export default {
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由', options: []}, { type: 1, fieldName: 'causeAction', value: '', placeholder: '案由', options: []},
{ type: 1, fieldName: 'role', value: '', placeholder: '身份', options: []}, { type: 1, fieldName: 'role', value: '', placeholder: '身份', options: []},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo'}, { type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo'},
{ type: 3, fieldName: 'keys', value: '', placeholder: '搜索关键字'} { type: 3, fieldName: 'keys', value: '', placeholder: '请输入执行案号'}
], ],
//列表 //列表
tableLoading:false, tableLoading:false,
......
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
{ type: 1, fieldName: 'causeAction', value: '', placeholder: '案由', options: []}, { type: 1, fieldName: 'causeAction', value: '', placeholder: '案由', options: []},
{ type: 1, fieldName: 'pureRole', value: '', placeholder: '身份', options: []}, { type: 1, fieldName: 'pureRole', value: '', placeholder: '身份', options: []},
{ type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo'}, { type: 2, fieldName: 'time', value: '', placeholder: '',startTime: 'dateFrom',endTime: 'dateTo'},
{ type: 3, fieldName: 'keys', value: '', placeholder: '请输入关键词'}, { type: 3, fieldName: 'keys', value: '', placeholder: '请输入案号'},
], ],
//列表 //列表
tableLoading:false, tableLoading:false,
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
> >
<template slot="punishReason" slot-scope="scope"> <template slot="punishReason" slot-scope="scope">
<span :class="[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)?'cell-span':'']" :style="{'-webkit-line-clamp': 5}"> <span :class="[isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)?'cell-span':'']" :style="{'-webkit-line-clamp': 5}">
{{ scope.row.punishReason }} <div v-html="scope.row.punishReason"></div>
<span v-if="isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)" @click="changeShowAll(scope.index, 0)">...<span style="color: #0081FF;">更多</span></span> <span v-if="isOverHiddenFlag(scope.data.width, showList, scope.index, 0, scope.row.punishReason)" @click="changeShowAll(scope.index, 0)">...<span style="color: #0081FF;">更多</span></span>
</span> </span>
</template> </template>
......
...@@ -17,8 +17,9 @@ ...@@ -17,8 +17,9 @@
:queryParams="queryParams" :queryParams="queryParams"
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="projectName" slot-scope="data"> <template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ data.row.projectName }}</router-link> <router-link :to="`/radar/Land/details/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
</tables> </tables>
......
...@@ -97,8 +97,9 @@ ...@@ -97,8 +97,9 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="companyName" slot-scope="data"> <template slot="companyName" slot-scope="scope">
<router-link to="" tag="a" class="a-link">{{ data.row.companyName }}</router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName " v-html="scope.row.companyName"></router-link>
<div v-else v-html="scope.row.companyName || '--'"></div>
</template> </template>
</tables> </tables>
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
<div class="content_item"> <div class="content_item">
<div class="label">项目名称</div> <div class="label">项目名称</div>
<div class="content_right item_ckquery_list"> <div class="content_right item_ckquery_list">
<el-input class="ename_input" placeholder="请输入项目名称关键字" v-model="keys" @input="projectNamebtn('keys',keys,'关键字:')"> <el-input class="ename_input" placeholder="请输入项目名称关键字" v-model="keys" >
<div slot="append" class="btn-search" @click="">搜索</div> <div slot="append" class="btn-search" @click="search">搜索</div>
</el-input> </el-input>
</div> </div>
...@@ -151,7 +151,7 @@ ...@@ -151,7 +151,7 @@
<el-table-column label="公司名称" width="430" > <el-table-column label="公司名称" width="430" >
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<router-link :to="'/radar/bxprozbgg/details/'+ 1" tag="a" class="list-titel-a" >{{scope.row.companyName}}</router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.agencyId)}`" tag="a" class="list-titel-a" v-html="scope.row.companyName" ></router-link>
<div class="renling-btn"> <div class="renling-btn">
<img src="@/assets/images/owner/renling1.png" alt=""> <img src="@/assets/images/owner/renling1.png" alt="">
<span v-if="scope.row.claimStatus" class="renling-hui"> <span v-if="scope.row.claimStatus" class="renling-hui">
...@@ -237,10 +237,10 @@ ...@@ -237,10 +237,10 @@
</el-table-column> </el-table-column>
<el-table-column label="实控人" width="290" > <el-table-column label="实控人" width="290" >
<template slot-scope="scope"> <template slot-scope="scope">
<router-link v-if="scope.row.actualController" :to="'/radar/bxprozbgg/details/'+ 1" tag="a" class="list-titel-a" > <!-- <router-link v-if="scope.row.actualController" :to="'/radar/bxprozbgg/details/'+ 1" tag="a" class="list-titel-a" >
{{scope.row.actualController}} {{scope.row.actualController}}
</router-link> </router-link> -->
<template v-else> <template >
{{scope.row.actualController||"--"}} {{scope.row.actualController||"--"}}
</template> </template>
</template> </template>
...@@ -461,12 +461,14 @@ ...@@ -461,12 +461,14 @@
</template> </template>
<script> <script>
import {encodeStr} from "@/assets/js/common.js"
import jsk_data from '../../../../../public/jsk.json'; import jsk_data from '../../../../../public/jsk.json';
import api from '@/api/enterpriseData/enterpriseData.js'; import api from '@/api/enterpriseData/enterpriseData.js';
export default { export default {
name: 'Owner', name: 'Owner',
data() { data() {
return { return {
encodeStr,
keys:'', keys:'',
addressList: [], addressList: [],
addressType: [], addressType: [],
...@@ -586,7 +588,6 @@ export default { ...@@ -586,7 +588,6 @@ export default {
}).catch(error=>{ }).catch(error=>{
}); });
}, },
mounted() { mounted() {
...@@ -774,10 +775,11 @@ export default { ...@@ -774,10 +775,11 @@ export default {
}); });
}, },
claimbtn(item){ claimbtn(item){
console.log(item.companyName);
var params={ var params={
companyId:item.companyId, companyId:item.companyId,
uipId:item.uipId, uipId:item.uipId,
companyName:item.companyName, companyName:item.companyName.replace(/<font color='red'>/g,'').replace(/<\/font>/g,''),
// creditLevel:item.bratingSubjectLevel, // creditLevel:item.bratingSubjectLevel,
// legalPerson:item.legalPerson, // legalPerson:item.legalPerson,
// registerCapital:item.registerCapital, // registerCapital:item.registerCapital,
...@@ -875,6 +877,7 @@ export default { ...@@ -875,6 +877,7 @@ export default {
}, },
renlin(){ renlin(){
this.dialogVisible=false; this.dialogVisible=false;
// this.$router.push({path:'/home',query: {id:'1'}})
// 跳转地址 // 跳转地址
}, },
......
...@@ -12,14 +12,14 @@ ...@@ -12,14 +12,14 @@
</el-form> </el-form>
</div> </div>
<div class="flex-box query-ability"> <div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span> <!--<span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span>-->
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<div class="table-item"> <div class="table-item">
<div class="table-title"> <div class="table-title">
<span class="title">指标</span> <span class="span-tit">指标</span>
<span class="title"> <span class="span-tit">
<span class="address" v-if="value1Flag">{{addressValue1}}<i class="el-icon-circle-close" @click="handleDelete(1)"></i></span> <span class="address" v-if="value1Flag">{{addressValue1}}<i class="el-icon-circle-close" @click="handleDelete(1)"></i></span>
<el-cascader <el-cascader
v-else v-else
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
@change="handleChange(1)" @change="handleChange(1)"
placeholder="添加地区"></el-cascader> placeholder="添加地区"></el-cascader>
</span> </span>
<span class="title"> <span class="span-tit">
<span class="address" v-if="value2Flag">{{addressValue2}}<i class="el-icon-circle-close" @click="handleDelete(2)"></i></span> <span class="address" v-if="value2Flag">{{addressValue2}}<i class="el-icon-circle-close" @click="handleDelete(2)"></i></span>
<el-cascader <el-cascader
v-else v-else
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
@change="handleChange(2)" @change="handleChange(2)"
placeholder="添加地区"></el-cascader> placeholder="添加地区"></el-cascader>
</span> </span>
<span class="title"> <span class="span-tit">
<span class="address" v-if="value3Flag">{{addressValue3}}<i class="el-icon-circle-close" @click="handleDelete(3)"></i></span> <span class="address" v-if="value3Flag">{{addressValue3}}<i class="el-icon-circle-close" @click="handleDelete(3)"></i></span>
<el-cascader <el-cascader
v-else v-else
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
@change="handleChange(3)" @change="handleChange(3)"
placeholder="添加地区"></el-cascader> placeholder="添加地区"></el-cascader>
</span> </span>
<span class="title"> <span class="span-tit">
<span class="address" v-if="value4Flag">{{addressValue4}}<i class="el-icon-circle-close" @click="handleDelete(4)"></i></span> <span class="address" v-if="value4Flag">{{addressValue4}}<i class="el-icon-circle-close" @click="handleDelete(4)"></i></span>
<el-cascader <el-cascader
v-else v-else
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
@change="handleChange(4)" @change="handleChange(4)"
placeholder="添加地区"></el-cascader> placeholder="添加地区"></el-cascader>
</span> </span>
<span class="title"> <span class="span-tit">
<span class="address" v-if="value5Flag">{{addressValue5}}<i class="el-icon-circle-close" @click="handleDelete(5)"></i></span> <span class="address" v-if="value5Flag">{{addressValue5}}<i class="el-icon-circle-close" @click="handleDelete(5)"></i></span>
<el-cascader <el-cascader
v-else v-else
...@@ -289,10 +289,17 @@ export default { ...@@ -289,10 +289,17 @@ export default {
}, },
created() { created() {
this.dataRegion(); this.dataRegion();
console.log(this.dataQuery)
// this.getData(); // this.getData();
getYears({}).then(res => { getYears({}).then(res => {
this.yearOptions=res.data.reverse(); this.yearOptions=res.data.reverse();
this.queryParams.year = this.yearOptions[0].year; this.queryParams.year = this.yearOptions[0].year;
if(this.dataQuery.pId){
const params = { year: this.queryParams.year,type:3,provinceId:this.dataQuery.provinceId }
this.value1Flag=true
this.addressValue1=this.dataQuery.province
this.getData(params,1)
}
}) })
}, },
computed: { computed: {
...@@ -370,39 +377,40 @@ export default { ...@@ -370,39 +377,40 @@ export default {
}, },
handleVisibleChange(flag,index){ handleVisibleChange(flag,index){
if(!flag){ if(!flag){
switch (index) { if(this.value1 || this.value2 || this.value3 || this.value4 || this.value5){
case 1: switch (index) {
this.value1Flag=true case 1:
break; this.value1Flag=true
case 2: break;
this.value2Flag=true case 2:
break; this.value2Flag=true
case 3: break;
this.value3Flag=true case 3:
break; this.value3Flag=true
case 4: break;
this.value4Flag=true case 4:
break; this.value4Flag=true
case 5: break;
this.value5Flag=true case 5:
break; this.value5Flag=true
} break;
const params = { pageNum: this.pageIndex, pageSize: this.pageSize, year: this.queryParams.year,type:3 } }
let code=[]; const params = { year: this.queryParams.year,type:3 }
for (var i in this.regionData) { let code=[];
code=this.regionData[i].path for (var i in this.regionData) {
} code=this.regionData[i].path
if(code.length >= 1){ }
params.provinceId=code[0] if(code.length >= 1){
} params.provinceId=code[0]
if(code.length >= 2){ }
params.cityId=code[1] if(code.length >= 2){
} params.cityId=code[1]
if(code.length >= 3){ }
params.areaId=code[2] if(code.length >= 3){
params.areaId=code[2]
}
this.getData(params,index)
} }
this.getData(params,index)
} }
}, },
handleChange(index) { handleChange(index) {
...@@ -487,20 +495,33 @@ export default { ...@@ -487,20 +495,33 @@ export default {
switch (index) { switch (index) {
case 1: case 1:
this.addressValue1=''; this.addressValue1='';
this.value1='';
this.value1Flag=false
break; break;
case 2: case 2:
this.addressValue2=''; this.addressValue2='';
this.value2='';
this.value2Flag=false
break; break;
case 3: case 3:
this.addressValue3=''; this.addressValue3='';
this.value3='';
this.value3Flag=false
break; break;
case 4: case 4:
this.addressValue4=''; this.addressValue4='';
this.value4='';
this.value4Flag=false
break; break;
case 5: case 5:
this.addressValue5=''; this.addressValue5='';
this.value5='';
this.value5Flag=false
break; break;
} }
this.tableData.splice(index-1,1,{})
this.$forceUpdate();
}, },
formatStatus: function(row, column, cellValue) { formatStatus: function(row, column, cellValue) {
if(row.title === '经济'||row.title === '财政'||row.title === '债务'){ if(row.title === '经济'||row.title === '财政'||row.title === '债务'){
...@@ -517,6 +538,12 @@ export default { ...@@ -517,6 +538,12 @@ export default {
fontWeight: 'bold' fontWeight: 'bold'
} }
} }
},
handleMessage(){
this.$message({
message: '功能正在开发中',
type: 'warning'
});
} }
} }
} }
...@@ -557,7 +584,7 @@ export default { ...@@ -557,7 +584,7 @@ export default {
/*justify-content:space-around;*/ /*justify-content:space-around;*/
border: 1px solid #E6EAF1; border: 1px solid #E6EAF1;
border-bottom: 0; border-bottom: 0;
.title{ .span-tit{
display: inline-block; display: inline-block;
width: 16.7%; width: 16.7%;
height: 50px; height: 50px;
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</el-form> </el-form>
</div> </div>
<div class="flex-box query-ability"> <div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<div class="content"> <div class="content">
...@@ -129,7 +129,6 @@ export default { ...@@ -129,7 +129,6 @@ export default {
this.initChart() this.initChart()
}) })
}, },
initChart() { initChart() {
let myChart = echarts.init(document.getElementById("echarts")) let myChart = echarts.init(document.getElementById("echarts"))
let option ={ let option ={
...@@ -172,6 +171,12 @@ export default { ...@@ -172,6 +171,12 @@ export default {
} }
myChart.setOption(option); myChart.setOption(option);
}, },
handleMessage(){
this.$message({
message: '功能正在开发中',
type: 'warning'
});
}
} }
} }
......
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
<span class="common-title">经济数据</span> <span class="common-title">经济数据</span>
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small"> <el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item prop="year"> <el-form-item prop="year">
<el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择年度" @change="getData"> <el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择" @change="getData">
<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.year" :value="item.year" /> <el-option v-for="(item, index) in yearOptions" :key="index" :label="item.year" :value="item.year" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="flex-box query-ability"> <div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<div class="table-item"> <div class="table-item">
...@@ -124,6 +124,12 @@ export default { ...@@ -124,6 +124,12 @@ export default {
this.pageIndex = 1; this.pageIndex = 1;
this.getData() this.getData()
}, },
handleMessage(){
this.$message({
message: '功能正在开发中',
type: 'warning'
});
}
} }
} }
</script> </script>
......
...@@ -77,8 +77,8 @@ ...@@ -77,8 +77,8 @@
<span class="common-title">主要指标</span> <span class="common-title">主要指标</span>
</div> </div>
<div class="flex-box query-ability"> <div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span> <span class="flex-box" @click="childMethod"><img src="@/assets/images/ability_vs.png">地区经济对比</span>
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<div class="table-item"> <div class="table-item">
...@@ -638,6 +638,17 @@ export default { ...@@ -638,6 +638,17 @@ export default {
fontWeight: 'bold' fontWeight: 'bold'
} }
} }
},
handleMessage(){
this.$message({
message: '功能正在开发中',
type: 'warning'
});
},
childMethod() {
let data=this.dataQuery
data.pId=this.dataQuery.provinceId
this.$parent.handleClick('four',data);
} }
} }
} }
......
...@@ -44,15 +44,25 @@ export default { ...@@ -44,15 +44,25 @@ export default {
this.provinceId=res.data.currentProvince.id; this.provinceId=res.data.currentProvince.id;
if(!this.dataQuery.provinceId){ if(!this.dataQuery.provinceId){
this.dataQuery.provinceId=this.provinceId this.dataQuery.provinceId=this.provinceId
this.dataQuery.province=this.province
} }
}) })
console.log(this.dataQuery)
if(this.dataQuery.activeName){
this.activeName=this.dataQuery.activeName;
}
// let name = sessionStorage.getItem('currentTab') // let name = sessionStorage.getItem('currentTab')
// if (name != "undefined" && name){ // if (name != "undefined" && name){
// this.activeName = name; // this.activeName = name;
// } // }
}, },
methods: { methods: {
handleClick() { handleClick(key,item) {
console.log(item)
if(key === 'four'){
this.activeName='four'
}
// sessionStorage.setItem('currentTab', this.activeName) // sessionStorage.setItem('currentTab', this.activeName)
} }
} }
......
...@@ -155,7 +155,6 @@ export default { ...@@ -155,7 +155,6 @@ export default {
} }
}, },
created() { created() {
console.log(this.$route.params)
this.id=this.$route.params.id; this.id=this.$route.params.id;
this.getDetails() this.getDetails()
...@@ -171,7 +170,6 @@ export default { ...@@ -171,7 +170,6 @@ export default {
const params = { pageNum: this.pageIndex, pageSize: this.pageSize,specialBondUuid:'2e59fca0-21a6-47db-975d-5481e1c52f45_74'} 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} // const params = { pageNum: this.pageIndex, pageSize: this.pageSize,specialBondUuid:this.details.specialBondUuid}
bondPage(params).then(res => { bondPage(params).then(res => {
console.log(res.data)
this.tableData=res.data.list; this.tableData=res.data.list;
this.tableDataTotal=res.data.totalCount; this.tableDataTotal=res.data.totalCount;
}) })
......
...@@ -139,7 +139,6 @@ export default { ...@@ -139,7 +139,6 @@ 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])
......
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
</el-form> </el-form>
</div> </div>
<div class="flex-box query-ability"> <div class="flex-box query-ability">
<router-link to="/macro/economies" tag="a" class="a-link"><span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span></router-link> <router-link to="/macro/economies?activeName=four" tag="a" class="a-link"><span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span></router-link>
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<div class="table-item"> <div class="table-item">
...@@ -279,6 +279,12 @@ ...@@ -279,6 +279,12 @@
this.pageIndex = 1 this.pageIndex = 1
this.querySubmit() this.querySubmit()
}, },
handleMessage(){
this.$message({
message: '功能正在开发中',
type: 'warning'
});
}
} }
} }
</script> </script>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="zb-content content1"> <div class="zb-content content1">
<div class="flex-box query-box"> <div class="flex-box query-box">
<div class="flex-box query-params"> <div class="flex-box query-params">
<span class="common-title">近五年全国招标数量</span> <span class="common-title">全国招标数量分析</span>
</div> </div>
</div> </div>
<div class="text">{{value}}全国项目招标数量达到{{totalCount}}万个,招标数量前五的地区分别是 <div class="text">{{value}}全国项目招标数量达到{{totalCount}}万个,招标数量前五的地区分别是
...@@ -80,10 +80,10 @@ ...@@ -80,10 +80,10 @@
<span class="common-title">全国招标项目概览</span> <span class="common-title">全国招标项目概览</span>
</div> </div>
</div> </div>
<div class="text">通过对近年全国招标数据进行分析,发现该企业主要集中在{{dataSort[0].label}}({{dataSort[0].count}}个)、{{dataSort[1].label}}({{dataSort[1].count}}个)进行招标。</div> <div class="text">通过对近{{year}}年全国招标数据进行分析,发现该企业主要集中在{{dataSort[0].label}}({{dataSort[0].count}}个)、{{dataSort[1].label}}({{dataSort[1].count}}个)进行招标。</div>
<div class="main1"> <div class="main1">
<div id="gl-echarts" style="height: 250px"></div> <div id="gl-echarts" style="height: 250px"></div>
<p class="tips"><i class="el-icon-info"></i>数据来源大司空建筑大数据平台,统计范围为近年全国公开的招标项目,未公开的不含在内</p> <p class="tips"><i class="el-icon-info"></i>数据来源大司空建筑大数据平台,统计范围为近{{year}}年全国公开的招标项目,未公开的不含在内</p>
</div> </div>
<div class="main2"> <div class="main2">
<div class="selectYear"> <div class="selectYear">
...@@ -119,7 +119,7 @@ export default { ...@@ -119,7 +119,7 @@ export default {
name: 'NationalEconomies', name: 'NationalEconomies',
data() { data() {
return { return {
year:'', year:'2023',
yearOptions: [ yearOptions: [
{ label: '近五年', value: '近五年' }, { label: '近五年', value: '近五年' },
{ label: '近三年', value: '近三年' }, { label: '近三年', value: '近三年' },
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<span class="common-title">全国建筑企业概览</span> <span class="common-title">全国建筑企业概览</span>
</div> </div>
</div> </div>
<div class="text">截止{{currentdate}},全国共有建筑工程施工总承包资质的企业{{total}}家,其中特级资质企业{{glDetail.tjCount}}家,占比{{glDetail.tjRate}}%;一级资质企业{{glDetail.tjCount}}家,占比{{glDetail.oneRate}}%;二级资质企业{{glDetail.twoCount}}家,占比{{glDetail.twoRate}}%;三级资质企业{{glDetail.threeCount}}家,占比{{glDetail.threeRate}}%</div> <div class="text">截止{{currentdate}},全国共有{{glDetail.major}}资质的企业{{total}}家,其中特级资质企业{{glDetail.tjCount}}家,占比{{glDetail.tjRate}}%;一级资质企业{{glDetail.tjCount}}家,占比{{glDetail.oneRate}}%;二级资质企业{{glDetail.twoCount}}家,占比{{glDetail.twoRate}}%;三级资质企业{{glDetail.threeCount}}家,占比{{glDetail.threeRate}}%</div>
<div class="main1"> <div class="main1">
<div style="height: 300px;"> <div style="height: 300px;">
<div class="left"> <div class="left">
......
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
<span class="common-title">主要指标</span> <span class="common-title">主要指标</span>
</div> </div>
<div class="flex-box query-ability"> <div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span> <span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div> </div>
</div> </div>
<div class="table-item"> <div class="table-item">
...@@ -288,7 +288,7 @@ export default { ...@@ -288,7 +288,7 @@ export default {
}, },
methods: { methods: {
getType(){ getType(){
uipGroupData().then(res => { uipGroupData({}).then(res => {
this.typeList=res.data; this.typeList=res.data;
}) })
}, },
...@@ -527,6 +527,12 @@ export default { ...@@ -527,6 +527,12 @@ export default {
this.pageIndex = 1; this.pageIndex = 1;
this.querySubmit() this.querySubmit()
}, },
handleMessage(){
this.$message({
message: '功能正在开发中',
type: 'warning'
});
}
}, },
} }
</script> </script>
......
...@@ -305,10 +305,19 @@ export default { ...@@ -305,10 +305,19 @@ export default {
this.option = { this.option = {
xAxis: { xAxis: {
type: 'category', type: 'category',
data: labels data: labels,
axisTick: {
show: false
},
}, },
yAxis: { yAxis: {
type: 'value' type: 'value',
splitNumber: 5,
splitLine : { //网格线
lineStyle: {
type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线
},
}
}, },
grid:{ grid:{
left:'4%', left:'4%',
...@@ -325,7 +334,10 @@ export default { ...@@ -325,7 +334,10 @@ export default {
legend: { legend: {
left: '12px', left: '12px',
top:"15px", top:"15px",
data: ['成交金额', '储备项目', '跟进动态'] data: ['成交金额', '储备项目', '跟进动态'],
itemHeight: 8, // 修改icon图形大小
itemGap: 20
}, },
series: [ series: [
{ {
...@@ -349,7 +361,7 @@ export default { ...@@ -349,7 +361,7 @@ export default {
}, },
itemStyle: { itemStyle: {
normal:{ normal:{
color:'#0081FF' color:'#0081FF',
} }
}, },
label:{ label:{
...@@ -357,6 +369,7 @@ export default { ...@@ -357,6 +369,7 @@ export default {
show:false show:false
} }
}, },
symbolSize:8,
}, },
{ {
name: '储备项目', name: '储备项目',
...@@ -387,6 +400,7 @@ export default { ...@@ -387,6 +400,7 @@ export default {
show:false show:false
} }
}, },
symbolSize:8,
}, },
{ {
name: '跟进动态', name: '跟进动态',
...@@ -417,6 +431,7 @@ export default { ...@@ -417,6 +431,7 @@ export default {
show:false show:false
} }
}, },
symbolSize:8,
}, },
] ]
} }
...@@ -504,17 +519,23 @@ export default { ...@@ -504,17 +519,23 @@ export default {
.ss{ .ss{
color: #0CBC6D; color: #0CBC6D;
padding-left: 3px; padding-left: 3px;
position: relative;
>img{ >img{
width: 8px; width: 8px;
margin-top: -3px; margin-top: 0px;
position: absolute;
margin-left: 8px;
} }
} }
.xj{ .xj{
color: #FF3C3C; color: #FF3C3C;
padding-left: 3px; padding-left: 3px;
position: relative;
>img{ >img{
width: 8px; width: 8px;
margin-top: -3px; margin-top: 1px;
position: absolute;
margin-left: 8px;
} }
} }
} }
...@@ -580,12 +601,15 @@ export default { ...@@ -580,12 +601,15 @@ export default {
height: auto; height: auto;
width: calc(100% - 369px); width: calc(100% - 369px);
.records{ .records{
margin-top: -17px; margin-top: 2px;
height: 627px; height: 627px;
overflow-y: auto; overflow-y: auto;
width: 100%; width: 100%;
padding-right: 47px; padding-right: 47px;
box-sizing: border-box; box-sizing: border-box;
.recordlist{
padding-top: 0;
}
} }
} }
} }
...@@ -616,6 +640,7 @@ export default { ...@@ -616,6 +640,7 @@ export default {
&.on{ &.on{
background: #0081FF; background: #0081FF;
color: #FFFFFF; color: #FFFFFF;
border-color: #0081FF;
} }
&:first-child{ &:first-child{
border-radius: 2px 0px 0px 2px; border-radius: 2px 0px 0px 2px;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
:visible.sync="isshow" :visible.sync="isshow"
@close="resetForm('ruleForm')" @close="resetForm('ruleForm')"
> >
<div @click = 'handleALL'>
<div class="poptitle"> <div class="poptitle">
<img src="@/assets/images/economies/icon.png"> <img src="@/assets/images/economies/icon.png">
<span>添加项目</span> <span>添加项目</span>
...@@ -15,7 +16,7 @@ ...@@ -15,7 +16,7 @@
</el-form-item> </el-form-item>
<el-form-item label="业主单位:" class="row" prop="ownerCompany"> <el-form-item label="业主单位:" class="row" prop="ownerCompany">
<el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany"></el-input> <el-input type="text" placeholder="请输入" v-model="queryParam.ownerCompany" @input="getCompany"></el-input>
<div class="resultlist" v-if="showlist"> <div class="resultlist" v-if="showlist" id="box">
<div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div> <div v-for="(item,index) in companData" @click="selCompany(item)"><span v-html="item.name"></span></div>
</div> </div>
</el-form-item> </el-form-item>
...@@ -48,6 +49,7 @@ ...@@ -48,6 +49,7 @@
<div class="btn btn_primary h32" @click="submitForm('ruleForm')">新建商机</div> <div class="btn btn_primary h32" @click="submitForm('ruleForm')">新建商机</div>
</div> </div>
</el-form> </el-form>
</div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -107,6 +109,14 @@ ...@@ -107,6 +109,14 @@
}) })
}, },
methods:{ methods:{
handleALL(event){
var one = document.getElementById("box");
if(one){
if(!one.contains(event.target)){
this.showlist = false
}
}
},
//获取建设库客户 //获取建设库客户
getCompany(value){ getCompany(value){
if (value.length>=2){ if (value.length>=2){
......
...@@ -16,10 +16,10 @@ ...@@ -16,10 +16,10 @@
:headers="headers" :headers="headers"
:on-success="onSuccess"> :on-success="onSuccess">
<img class="up_img" src="@/assets/images/project/upload.png"> <img class="up_img" src="@/assets/images/project/upload.png">
<div class="up_text">点击选择或将文件(xls,xlsx)拖拽至此上传成员名录</div> <div class="up_text">点击选择或将文件(xls,xlsx)拖拽至此上传项目表格</div>
<div class="up_tip">导入的文件内容必须依照下载模板的要求填写</div> <div class="up_tip">导入的文件内容必须依照下载模板的要求填写</div>
<div class="up_tip">上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)</div> <div class="up_tip">上传文件最大为2M,仅支持Excel表格文件(xls,xlsx)</div>
<div class="up_tip">导入已存在的客户将自动跳过</div> <div class="up_tip">导入已存在的{{titletext}}将自动跳过</div>
</el-upload> </el-upload>
<div class="up_success" v-if="isUpload == true"> <div class="up_success" v-if="isUpload == true">
<img src="@/assets/images/project/success.png">上传成功 <img src="@/assets/images/project/success.png">上传成功
...@@ -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">成功导入{{successCount}}{{titletext}}信息</div> <div class="p2">导入成功,已为您去掉重复{{titletext}}{{successCount}}</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,12 +79,12 @@ ...@@ -79,12 +79,12 @@
created(){ created(){
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'){//客户管理
this.downloadhref = '/file/Template.xlsx' this.downloadhref = '/file/Template.xlsx'
this.titletext = '客户' this.titletext = '企业'
this.action = process.env.VUE_APP_BASE_API + "/customer/importData" this.action = process.env.VUE_APP_BASE_API + "/customer/importData"
} }
}, },
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>总投资额(万元) :</span> <span>总投资额(万元) :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt1">
<div class="flex" v-if="nowedit == 1"> <div class="flex" v-if="nowedit == 1">
<el-input placeholder="待添加" v-model="investmentAmount" @input="number"></el-input> <el-input placeholder="待添加" v-model="investmentAmount" @input="number"></el-input>
<div class="flex"> <div class="flex">
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</div> </div>
<div class="con i"> <div class="con i">
<span>资金来源 :</span> <span>资金来源 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt2">
<div class="flex" v-if="nowedit == 2"> <div class="flex" v-if="nowedit == 2">
<el-input placeholder="待添加" v-model="amountSource"></el-input> <el-input placeholder="待添加" v-model="amountSource"></el-input>
<div class="flex"> <div class="flex">
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>建设性质 :</span> <span>建设性质 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt3">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3">
<el-input placeholder="待添加" v-model="buildProperty"></el-input> <el-input placeholder="待添加" v-model="buildProperty"></el-input>
<div class="flex"> <div class="flex">
...@@ -95,8 +95,8 @@ ...@@ -95,8 +95,8 @@
</el-card> </el-card>
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">项目概况与建设规模</div> <div class="cardtitles">项目概况与建设规模</div>
<div class="baseinfo"> <div class="baseinfo" >
<el-input v-model="projectDetails" @focus="nowedit = 9" class="textarea" type="textarea" placeholder="请输入项目概况与建设规模详细信息" maxlength="500" :show-word-limit="true" ></el-input> <el-input id="inputxt9" v-model="projectDetails" @focus="nowedit = 9" class="textarea" type="textarea" placeholder="请输入项目概况与建设规模详细信息" maxlength="500" :show-word-limit="true" ></el-input>
<div class="flex btns" v-if="nowedit == 9"> <div class="flex btns" v-if="nowedit == 9">
<div class="flex"> <div class="flex">
<div class="btnsmall btn_primary h28" @click="changes({'projectDetails':projectDetails})" style="width: 56px">确定</div> <div class="btnsmall btn_primary h28" @click="changes({'projectDetails':projectDetails})" style="width: 56px">确定</div>
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>评标办法 :</span> <span>评标办法 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt4">
<div class="flex" v-if="nowedit == 4"> <div class="flex" v-if="nowedit == 4">
<el-input placeholder="待添加" v-model="evaluationBidWay"></el-input> <el-input placeholder="待添加" v-model="evaluationBidWay"></el-input>
<div class="flex"> <div class="flex">
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>保证金缴纳 :</span> <span>保证金缴纳 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt5">
<div class="flex" v-if="nowedit == 5"> <div class="flex" v-if="nowedit == 5">
<el-input placeholder="待添加" v-model="earnestMoneyPay"></el-input> <el-input placeholder="待添加" v-model="earnestMoneyPay"></el-input>
<div class="flex"> <div class="flex">
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
</div> </div>
<div class="con i"> <div class="con i">
<span>保证金金额(万元) :</span> <span>保证金金额(万元) :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt6">
<div class="flex" v-if="nowedit == 6"> <div class="flex" v-if="nowedit == 6">
<el-input placeholder="待添加" v-model="earnestMoney"></el-input> <el-input placeholder="待添加" v-model="earnestMoney"></el-input>
<div class="flex"> <div class="flex">
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>开标地点 :</span> <span>开标地点 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt7">
<div class="flex" v-if="nowedit == 7"> <div class="flex" v-if="nowedit == 7">
<el-input placeholder="待添加" v-model="bidOpenPlace"></el-input> <el-input placeholder="待添加" v-model="bidOpenPlace"></el-input>
<div class="flex"> <div class="flex">
...@@ -181,7 +181,7 @@ ...@@ -181,7 +181,7 @@
</div> </div>
<div class="con i"> <div class="con i">
<span>评标委员会 :</span> <span>评标委员会 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt8">
<div class="flex" v-if="nowedit == 8"> <div class="flex" v-if="nowedit == 8">
<el-input placeholder="待添加" v-model="evaluationBidCouncil"></el-input> <el-input placeholder="待添加" v-model="evaluationBidCouncil"></el-input>
<div class="flex"> <div class="flex">
...@@ -230,6 +230,22 @@ ...@@ -230,6 +230,22 @@
}, },
watch:{ watch:{
}, },
mounted(){
document.addEventListener('mouseup',(e) => {
let j = 0
for(var i=1;i<=9;i++){
let isSelf = document.getElementById('inputxt'+i).contains(event.target) // 这个是自己的区域
if(isSelf) {
this.nowedit = i
}else {
j++;
}
}
if(j == 9){
this.nowedit = -1
}
})
},
created(){ created(){
this.getJSNR() this.getJSNR()
}, },
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="bottems"> <div class="bottems">
<div class="btn btn_primary h28" @click="opennew"><div class="img img1"></div>新增联系人</div> <div class="btn btn_primary h28" @click="opennew" v-if="total>0"><div class="img img1"></div>新增联系人</div>
<el-pagination v-if="total>searchParam.pageSize" <el-pagination v-if="total>searchParam.pageSize"
background background
:page-size="searchParam.pageSize" :page-size="searchParam.pageSize"
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div> <div>
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">相关企业</div> <div class="cardtitles">相关企业</div>
<div class="searchbtns"> <div class="searchbtns" v-if="tableData.total>0">
<el-select class="select" placeholder="企业类型" v-model="searchParam.companyType" @change="handleCurrentChange(1)"> <el-select class="select" placeholder="企业类型" v-model="searchParam.companyType" @change="handleCurrentChange(1)">
<el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
...@@ -230,8 +230,10 @@ ...@@ -230,8 +230,10 @@
cancel(type){ cancel(type){
if(type == 0) if(type == 0)
this.dialogVisible = false this.dialogVisible = false
else else{
this.dialogVisible = true
this.hzhbVisible = false this.hzhbVisible = false
}
}, },
totype(value){ totype(value){
this.types = value this.types = value
...@@ -243,7 +245,8 @@ ...@@ -243,7 +245,8 @@
this.typename = this.typelist[index] this.typename = this.typelist[index]
} }
}) })
this.hzhbVisible=true this.hzhbVisible = true
this.dialogVisible = false
}, },
//打开新建窗口 //打开新建窗口
opennew(){ opennew(){
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>项目级别 :</span> <span>项目级别 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt1">
<div class="flex" v-if="nowedit == 1"> <div class="flex" v-if="nowedit == 1">
<el-input placeholder="待添加" v-model="xmsldata.projectLevel"></el-input> <el-input placeholder="待添加" v-model="xmsldata.projectLevel"></el-input>
<div class="flex"> <div class="flex">
...@@ -37,7 +37,9 @@ ...@@ -37,7 +37,9 @@
<span style="float: left;margin-top: 2px">项目标签 :</span> <span style="float: left;margin-top: 2px">项目标签 :</span>
<div class="flex tipinput"> <div class="flex tipinput">
<div class="tips" v-for="(item,index) in tipslit">{{item}}<img @click="deltip(item)" src="@/assets/images/project/del.png"></div> <div class="tips" v-for="(item,index) in tipslit">{{item}}<img @click="deltip(item)" src="@/assets/images/project/del.png"></div>
<el-input placeholder="待添加" v-model="tipsvalue"></el-input> <div style="position: relative">
<el-input placeholder="待添加" v-model="tipsvalue" @input="getValue" :style="spanWidth"></el-input><span class="spanText">{{ tipsvalue }}</span>
</div>
<div class="addbtn" @click="addtips"></div> <div class="addbtn" @click="addtips"></div>
</div> </div>
</div> </div>
...@@ -50,7 +52,7 @@ ...@@ -50,7 +52,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>主管单位 :</span> <span>主管单位 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt2">
<div class="flex" v-if="nowedit == 2"> <div class="flex" v-if="nowedit == 2">
<el-input placeholder="待添加" v-model="xmsldata.supervisorUnit"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorUnit"></el-input>
<div class="flex"> <div class="flex">
...@@ -63,7 +65,7 @@ ...@@ -63,7 +65,7 @@
</div> </div>
<div class="con i"> <div class="con i">
<span>建设单位 :</span> <span>建设单位 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt3" :style="{width:rig1}">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3">
<el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionUnit"></el-input>
<div class="flex"> <div class="flex">
...@@ -72,13 +74,14 @@ ...@@ -72,13 +74,14 @@
</div> </div>
</div> </div>
<span :class="{txt:!xmsldata.constructionUnit}" v-else @click="nowedit = 3">{{xmsldata.constructionUnit||'待添加'}}</span> <span :class="{txt:!xmsldata.constructionUnit}" v-else @click="nowedit = 3">{{xmsldata.constructionUnit||'待添加'}}</span>
<span class="rig rig1">{{xmsldata.constructionUnit}}</span>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>主管单位负责人 :</span> <span>主管单位负责人 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt4">
<div class="flex" v-if="nowedit == 4"> <div class="flex" v-if="nowedit == 4">
<el-input placeholder="待添加" v-model="xmsldata.supervisorPrincipal"></el-input> <el-input placeholder="待添加" v-model="xmsldata.supervisorPrincipal"></el-input>
<div class="flex"> <div class="flex">
...@@ -91,7 +94,7 @@ ...@@ -91,7 +94,7 @@
</div> </div>
<div class="con i"> <div class="con i">
<span>建设单位负责人 :</span> <span>建设单位负责人 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt5">
<div class="flex" v-if="nowedit == 5"> <div class="flex" v-if="nowedit == 5">
<el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input> <el-input placeholder="待添加" v-model="xmsldata.constructionPrincipal"></el-input>
<div class="flex"> <div class="flex">
...@@ -106,7 +109,7 @@ ...@@ -106,7 +109,7 @@
<div class="row"> <div class="row">
<div class="con"> <div class="con">
<span>主管单位联系电话 :</span> <span>主管单位联系电话 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt6">
<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">
...@@ -119,7 +122,7 @@ ...@@ -119,7 +122,7 @@
</div> </div>
<div class="con i"> <div class="con i">
<span>建设单位联系电话 :</span> <span>建设单位联系电话 :</span>
<div class="inputxt"> <div class="inputxt" id="inputxt7">
<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">
...@@ -189,6 +192,8 @@ ...@@ -189,6 +192,8 @@
projectStage:[],//项目阶段 projectStage:[],//项目阶段
id: this.detailId ? this.detailId : this.$route.query.id, id: this.detailId ? this.detailId : this.$route.query.id,
xmsldata:this.datas, xmsldata:this.datas,
spanWidth:'width: 70px',
rig1:'184px',
} }
}, },
created(){ created(){
...@@ -198,7 +203,34 @@ ...@@ -198,7 +203,34 @@
}) })
this.getXMSL() this.getXMSL()
}, },
mounted(){
document.addEventListener('mouseup',(e) => {
let j = 0
for(var i=1;i<=7;i++){
let isSelf = document.getElementById('inputxt'+i).contains(event.target) // 这个是自己的区域
if(isSelf) {
this.nowedit = i
}else {
j++;
}
}
if(j == 7){
this.nowedit = -1
}
})
},
methods:{ methods:{
getValue(){
const spanStyle = document.querySelector(".spanText");
this.$nextTick(() => { // 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
let wid =
spanStyle.offsetWidth <= 70
? "70px"
: spanStyle.offsetWidth + 28 + "px";
this.spanWidth = 'width:'+wid
});
},
editXMSL(param){ editXMSL(param){
let params = param let params = param
params.id = this.id params.id = this.id
...@@ -270,6 +302,15 @@ ...@@ -270,6 +302,15 @@
this.xmjd = result.data.projectStage this.xmjd = result.data.projectStage
this.tipslit = result.data.labelList this.tipslit = result.data.labelList
this.xmsldata = result.data this.xmsldata = result.data
const spanStyle = document.querySelector(".rig1");
this.$nextTick(() => { // 如果不用$nextTick的话页面并不会更新,它是在下次dom更新后再渲染到页面上
this.rig1 =
spanStyle.offsetWidth <= 184
? "184px"
: spanStyle.offsetWidth + "px";
});
}) })
}, },
} }
...@@ -280,4 +321,7 @@ ...@@ -280,4 +321,7 @@
.select-popper{ .select-popper{
top: 3px; top: 3px;
} }
.inputxt .flex{
background: #fff;
}
</style> </style>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div> <div>
<el-card class="box-card noborder"> <el-card class="box-card noborder">
<div class="cardtitles">资料文档</div> <div class="cardtitles">资料文档</div>
<div class="searchbtns"> <div class="searchbtns" v-if="fileDatas.rows != null && fileDatas.rows.length>0">
<div class="searchInput"> <div class="searchInput">
<el-input type="text" v-model="param.keyword" placeholder="输入关键词查询"></el-input> <el-input type="text" v-model="param.keyword" placeholder="输入关键词查询"></el-input>
<div class="btn" @click="handleCurrentChange(1)">搜索</div> <div class="btn" @click="handleCurrentChange(1)">搜索</div>
...@@ -199,12 +199,6 @@ ...@@ -199,12 +199,6 @@
downnlod(row){ downnlod(row){
let param = {filePath:row.filePath} let param = {filePath:row.filePath}
this.$download.exportByPost('/business/file/download',param); this.$download.exportByPost('/business/file/download',param);
// let a = document.createElement("a");
// a.setAttribute("href", row.filePath);
// a.setAttribute("download", row.name);
// document.body.appendChild(a);
// a.click();
}, },
delQY(){ delQY(){
......
<template> <template>
<div> <div @click="handleALL">
<div class="miantitle"> <div class="miantitle">
<template v-if="!detailId"> <template v-if="!detailId">
<span>项目管理</span> <span>项目管理</span>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
</div> </div>
</span> </span>
</div> </div>
<div class="det-con con" > <div class="det-con con" id="inputxt">
<span>投资估算(万元):</span> <span>投资估算(万元):</span>
<div class="inputxt i" :class="{'nomar':nowedit != 3}"> <div class="inputxt i" :class="{'nomar':nowedit != 3}">
<div class="flex" v-if="nowedit == 3"> <div class="flex" v-if="nowedit == 3">
...@@ -197,6 +197,16 @@ ...@@ -197,6 +197,16 @@
this.getXMSL() this.getXMSL()
}, },
methods: { methods: {
handleALL(event){
var one = document.getElementById("inputxt");
if(one){
if(!one.contains(event.target)){
this.nowedit = -1
}else{
this.nowedit = 3
}
}
},
getXMSL(){ getXMSL(){
getXMSL(this.id).then(result=>{ getXMSL(this.id).then(result=>{
this.ProjectData = result.code==200?result.data:{} this.ProjectData = result.code==200?result.data:{}
......
...@@ -114,29 +114,31 @@ ...@@ -114,29 +114,31 @@
<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,'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-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-for="label in item.labels">{{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" v-if="item.projectType">
<span>项目类型:</span> <span>项目类型:</span>
<span>{{item.projectType || '--'}}</span> <span>{{item.projectType}}</span>
</div> </div>
<div class="det-con"> <div class="det-con" v-if="item.investmentAmount">
<span>投资估算(万元):</span> <span>投资估算(万元):</span>
<span>{{item.investmentAmount || '--'}}</span> <span>{{item.investmentAmount}}</span>
</div> </div>
<div class="det-con"> <div class="det-con" v-if="item.followTime">
<span>最后跟进时间:</span> <span>最后跟进时间:</span>
<span>{{item.followTime || '--'}}</span> <span>{{item.followTime}}</span>
</div> </div>
<div class="det-con"> <div class="det-con" v-if="item.ownerCompany ">
<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" @click="toDetail(item.id,'gjjl')">跟进</div> <div class="i1" @click="toDetail(item.id,'gjjl')"><img src="@/assets/images/follow.png">跟进</div>
<div class="i2"><img src="@/assets/images/edit1.png" @click="toDetail(item.id,'xmsl')">编辑</div> <div class="i2" @click="toDetail(item.id,'xmsl')"><img src="@/assets/images/edit1.png">编辑</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">
...@@ -296,6 +298,11 @@ export default { ...@@ -296,6 +298,11 @@ export default {
str += '-' +item.districtName str += '-' +item.districtName
item.address = str item.address = str
item.nickName1 = item.nickName?item.nickName.slice(0,1):'' item.nickName1 = item.nickName?item.nickName.slice(0,1):''
item.labels=[]
if(item.label!=null && item.label !=""){
item.labels = item.label.split(',')
}
}) })
} }
}) })
......
...@@ -229,7 +229,7 @@ ...@@ -229,7 +229,7 @@
], ],
projectTypeText: ['不限'], projectTypeText: ['不限'],
arrList:[], arrList:[],
total:6000, total:0,
page:1, page:1,
pageSize:20 pageSize:20
...@@ -449,8 +449,26 @@ ...@@ -449,8 +449,26 @@
handleCurrentChange(val){ handleCurrentChange(val){
}, },
search(){ search(page, limit,exportFlag) {
if (!page) {
this.page = 1;
}
if (!limit) {
this.limit = 20;
}
if (!page && !limit) {
this.reloadPage();
}
let params = {
page:{
"page":this.page,
"limit":this.limit,
"field":"",
"order":"desc"
},
specialBondProjectDto:{}
};
}, },
reset(){ reset(){
......
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