Commit 06526327 authored by liuChang's avatar liuChang

Merge branch 'V20230915' of 192.168.60.201:root/dsk-operate-sys into V20230915

parents 6dfc67b1 4d595e2d
<template> <template>
<div class="performance"> <div class="performance">
<div class="content"> <div class="content">
<head-form-new <head-form
ref="headForm" ref="headForm"
title="集团施工项目最新招标" title="集团施工项目最新招标"
:form-data="formData" :form-data="formData"
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
@handle-search="handleSearch" @handle-search="handleSearch"
:slots="true" :slots="true"
:isExcel="false" :isExcel="false"
></head-form-new> ></head-form>
<span class="check">查看集团招标<i class="el-icon-arrow-right"></i></span> <span class="check" @click="check">查看集团招标<i class="el-icon-arrow-right"></i></span>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton> <skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="table-item" v-if="!isSkeleton && tableData.length >0"> <div class="table-item" v-if="!isSkeleton && tableData.length >0">
<el-table class="fixed-table" :data="tableData" border max-height="235"> <el-table class="fixed-table" :data="tableData" border max-height="235">
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</div> </div>
<div class="content"> <div class="content">
<head-form <head-form
title="集团施工项目年度招标" title="集团年度发包统计"
:form-data="[]" :form-data="[]"
:query-params="{}" :query-params="{}"
:slots="true" :slots="true"
...@@ -203,6 +203,11 @@ ...@@ -203,6 +203,11 @@
<div class="table-item"> <div class="table-item">
<el-table class="fixed-table" :data="xflList" border max-height="270"> <el-table class="fixed-table" :data="xflList" border max-height="270">
<el-table-column label="项目类型" prop="type" min-width="120"></el-table-column> <el-table-column label="项目类型" prop="type" min-width="120"></el-table-column>
<el-table-column label="统计项目数量" prop="count" min-width="150">
<template slot-scope="scope">
{{scope.row.count}}{{scope.row.count ? '个':''}}
</template>
</el-table-column>
<el-table-column label="下浮率区间" prop="lowerRate"></el-table-column> <el-table-column label="下浮率区间" prop="lowerRate"></el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -213,7 +218,7 @@ ...@@ -213,7 +218,7 @@
<div class="content"> <div class="content">
<head-form <head-form
title="历史发包项目金额TOP10" title="历史发包项目金额TOP10"
:form-data="formData1" :form-data="formData"
:query-params="queryParams1" :query-params="queryParams1"
@handle-search="handleSearch1" @handle-search="handleSearch1"
:slots="true" :slots="true"
...@@ -224,7 +229,7 @@ ...@@ -224,7 +229,7 @@
<el-table class="fixed-table" :data="peojectTopData" border max-height="235"> <el-table class="fixed-table" :data="peojectTopData" border max-height="235">
<el-table-column label="项目名称" prop="projectName" min-width="350"> <el-table-column label="项目名称" prop="projectName" min-width="350">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="`/biddetail/${item.id}`" tag="a" class="a-link" v-if="scope.row.bid" v-html="scope.row.projectName"></router-link> <router-link :to="`/biddetail/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id" v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div> <div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -237,7 +242,7 @@ ...@@ -237,7 +242,7 @@
<el-table-column label="项目类型" prop="projectTypeNew" width="100"></el-table-column> <el-table-column label="项目类型" prop="projectTypeNew" width="100"></el-table-column>
<el-table-column label="招标成员" prop="projectUnit" min-width="250"> <el-table-column label="招标成员" prop="projectUnit" min-width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.projectUnitId)}`:`/company/${encodeStr(scope.row.projectUnitId)}`" tag="a" class="a-link" v-if="scope.row.projectUnitId&&scope.row.projectUnit" v-html="scope.row.projectUnit"></router-link> <router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.projectUnitId)}`:`/company/${encodeStr(scope.row.projectUnitId)}`" tag="a" class="a-link" v-if="scope.row.projectUnitId&&scope.row.projectUnit" v-html="scope.row.projectUnit"></router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.projectUnitId)}`:`/company/${encodeStr(scope.row.projectUnitId)}`">
<div v-else v-html="scope.row.projectUnit || '--'"></div> <div v-else v-html="scope.row.projectUnit || '--'"></div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -278,21 +283,16 @@ ...@@ -278,21 +283,16 @@
return{ return{
queryParams: { queryParams: {
combineId: this.customerId, combineId: this.customerId,
year:'2023' year:'2023'
}, },
queryParams1: { queryParams1: {
combineId: this.customerId, combineId: this.customerId,
year:'2023' year:'2023'
}, },
formData: [ formData: [
{ type: 4, fieldName: 'type', value: '', placeholder: '项目类型', options: [],width:150, uid: this.getUid()}, { type: 4, fieldName: 'type', value: '', placeholder: '项目类型', options: [],width:150, uid: this.getUid()},
{ type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: [],width:110, uid: this.getUid()}, { type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: [],width:110, uid: this.getUid()},
{ type: 1, fieldName: 'year', value: '2023', placeholder: '年份', options: [],width:80, uid: this.getUid()}, { type: 1, fieldName: 'year', value: '2023年', placeholder: '年份', options: [],width:100, uid: this.getUid()},
],
formData1: [
{ type: 4, fieldName: 'type', value: '', placeholder: '项目类型', options: [],width:150, uid: this.getUid()},
{ type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: [],width:110, uid: this.getUid()},
{ type: 1, fieldName: 'year', value: '2023', placeholder: '年份', options: [],width:80, uid: this.getUid()},
], ],
cgblList: [ cgblList: [
{name:'100%',value:'100%'}, {name:'100%',value:'100%'},
...@@ -308,9 +308,9 @@ ...@@ -308,9 +308,9 @@
peojectTopData:[], peojectTopData:[],
ndzbList:[], ndzbList:[],
yearOptions:[], yearOptions:[],
year1:'2023', year1:'2023',
year2:'2023', year2:'2023',
year3:'2023', year3:'2023',
isSkeleton:true, isSkeleton:true,
isSkeleton2:true, isSkeleton2:true,
isSkeleton3:true, isSkeleton3:true,
...@@ -321,7 +321,6 @@ ...@@ -321,7 +321,6 @@
}, },
created() { created() {
this.formData[1].options=this.cgblList; this.formData[1].options=this.cgblList;
this.formData1[1].options=this.cgblList;
this.yearsData() this.yearsData()
//项目类型 //项目类型
getDictType('project_type_new').then(result=>{ getDictType('project_type_new').then(result=>{
...@@ -332,10 +331,6 @@ ...@@ -332,10 +331,6 @@
name: data[i].dictLabel, name: data[i].dictLabel,
value: data[i].dictValue, value: data[i].dictValue,
}) })
this.formData1[0].options.push({
name: data[i].dictLabel,
value: data[i].dictValue,
})
} }
} }
}) })
...@@ -355,13 +350,12 @@ ...@@ -355,13 +350,12 @@
let Years=[]; let Years=[];
for(var i=startyear;i<=Year;i++){ for(var i=startyear;i<=Year;i++){
Years.push({ Years.push({
name: i, name: i+'年',
value: i, value: i+'年',
}) })
} }
this.yearOptions=Years.reverse() this.yearOptions=Years.reverse()
this.formData[2].options=Years this.formData[2].options=Years
this.formData1[2].options=Years
}, },
handleQuery(params){ handleQuery(params){
// this.isSkeleton = true // this.isSkeleton = true
...@@ -386,7 +380,7 @@ ...@@ -386,7 +380,7 @@
delete data.cgbl delete data.cgbl
} }
if(data.year){ if(data.year){
data.year=[data.year.toString()] data.year=[data.year.toString().substr(0, 4)]
} }
delete data.pageNum delete data.pageNum
recentlyBid(data).then(res=>{ recentlyBid(data).then(res=>{
...@@ -410,7 +404,7 @@ ...@@ -410,7 +404,7 @@
}) })
}, },
getGroupByMoney(){ getGroupByMoney(){
let year=[this.year1.toString()] let year=[this.year1.toString().substr(0, 4)]
groupByMoney({combineId:this.customerId,year:year}).then(res=>{ groupByMoney({combineId:this.customerId,year:year}).then(res=>{
this.isSkeleton3 = false this.isSkeleton3 = false
if(res.code === 200){ if(res.code === 200){
...@@ -430,7 +424,7 @@ ...@@ -430,7 +424,7 @@
}) })
}, },
getGroupByType(){ getGroupByType(){
let year=[this.year2.toString()] let year=[this.year2.toString().substr(0, 4)]
groupByType({combineId:this.customerId,year:year}).then(res=>{ groupByType({combineId:this.customerId,year:year}).then(res=>{
this.isSkeleton4 = false this.isSkeleton4 = false
if(res.code === 200){ if(res.code === 200){
...@@ -442,7 +436,7 @@ ...@@ -442,7 +436,7 @@
}) })
}, },
getGroupByLowerRate(){ getGroupByLowerRate(){
let year=[this.year3.toString()] let year=[this.year3.toString().substr(0, 4)]
groupByLowerRate({combineId:this.customerId,year:year}).then(res=>{ groupByLowerRate({combineId:this.customerId,year:year}).then(res=>{
this.isSkeleton5 = false this.isSkeleton5 = false
if(res.code === 200){ if(res.code === 200){
...@@ -475,7 +469,7 @@ ...@@ -475,7 +469,7 @@
delete data.cgbl delete data.cgbl
} }
if(data.year){ if(data.year){
data.year=[data.year.toString()] data.year=[data.year.toString().substr(0, 4)]
} }
delete data.pageNum delete data.pageNum
peojectTop(data).then(res=>{ peojectTop(data).then(res=>{
...@@ -510,6 +504,25 @@ ...@@ -510,6 +504,25 @@
type: 'cross' type: 'cross'
} }
}, },
legend: {
data: [
{
name: '招标数量',
// icon: 'rect',
},
{
name: '招标金额(万元)',
// icon: 'circle',
}
],
top: 0,
right:30,
itemHeight: 10,
itemWidth: 10,
textStyle: {
fontSize: 12
},
},
xAxis: { xAxis: {
type: 'category', type: 'category',
axisLabel: { //坐标轴刻度标签的相关设置 axisLabel: { //坐标轴刻度标签的相关设置
...@@ -554,7 +567,7 @@ ...@@ -554,7 +567,7 @@
} }
], ],
grid: { grid: {
top:30, top:40,
left:80, left:80,
right:130, right:130,
bottom:30, bottom:30,
...@@ -568,7 +581,7 @@ ...@@ -568,7 +581,7 @@
yAxisIndex: 1, yAxisIndex: 1,
tooltip: { tooltip: {
valueFormatter: function (value) { valueFormatter: function (value) {
return value + '万元' return value
} }
}, },
itemStyle: { itemStyle: {
...@@ -669,8 +682,35 @@ ...@@ -669,8 +682,35 @@
trigger: 'axis', trigger: 'axis',
axisPointer: { axisPointer: {
type: 'cross' type: 'cross'
},
formatter: function (params) {
var relVal = params[0].name;
// relVal+='<br/>' +"<span style=\"display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:#f17f0a;\"></span>" + '次数' +": "+ array[0][relVal.replace(/"/g, '')]
for (var i = 0, l = params.length; i < l; i++) {
relVal += '<br/>' + params[i].marker + params[i].seriesName +": "+ params[i].value
}
return relVal
} }
}, },
legend: {
data: [
{
name: '招标数量',
// icon: 'rect',
},
{
name: '招标金额(万元)',
// icon: 'circle',
}
],
top: 0,
right:30,
itemHeight: 10,
itemWidth: 10,
textStyle: {
fontSize: 12
},
},
xAxis: { xAxis: {
type: 'category', type: 'category',
axisLabel: { //坐标轴刻度标签的相关设置 axisLabel: { //坐标轴刻度标签的相关设置
...@@ -715,7 +755,7 @@ ...@@ -715,7 +755,7 @@
} }
], ],
grid: { grid: {
top:30, top:40,
left:80, left:80,
right:130, right:130,
bottom:30, bottom:30,
...@@ -729,7 +769,7 @@ ...@@ -729,7 +769,7 @@
yAxisIndex: 1, yAxisIndex: 1,
tooltip: { tooltip: {
valueFormatter: function (value) { valueFormatter: function (value) {
return value + '万元' return value
} }
}, },
itemStyle: { itemStyle: {
...@@ -779,9 +819,9 @@ ...@@ -779,9 +819,9 @@
let option ={ let option ={
tooltip: { tooltip: {
trigger: 'axis', trigger: 'axis',
axisPointer: { // axisPointer: {
type: 'cross' // type: 'cross'
} // }
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',
...@@ -795,6 +835,21 @@ ...@@ -795,6 +835,21 @@
}, },
data: data.map(item => item.type), data: data.map(item => item.type),
}, },
legend: {
data: [
{
name: '统计项目数量',
// icon: 'rect',
},
],
top: 0,
right:30,
itemHeight: 10,
itemWidth: 10,
textStyle: {
fontSize: 12
},
},
yAxis: [ yAxis: [
{ {
type: 'value', type: 'value',
...@@ -833,29 +888,29 @@ ...@@ -833,29 +888,29 @@
bottom:30, bottom:30,
}, },
series: [ series: [
// {
// name:'统计项目数量',
// smooth: false, //平滑
// type:"line",
// symbolSize: 6,
// yAxisIndex: 1,
// tooltip: {
// valueFormatter: function (value) {
// return value
// }
// },
// itemStyle: {
// normal:{
// color: '#14C9C9',
// lineStyle: {
// width:2
// },
// }
// },
// data:data.map(item => item.lowerRate),
// },
{ {
name:'下浮率区间', name:'统计项目数量',
smooth: false, //平滑
type:"line",
symbolSize: 6,
yAxisIndex: 1,
// tooltip: {
// valueFormatter: function (value) {
// return value + '万元'
// }
// },
itemStyle: {
normal:{
color: '#14C9C9',
lineStyle: {
width:2
},
}
},
data:data.map(item => item.lowerRate),
},
{
name:'招标数量',
type: 'bar', type: 'bar',
barWidth: 20, barWidth: 20,
tooltip: { tooltip: {
......
...@@ -30,8 +30,10 @@ ...@@ -30,8 +30,10 @@
}, },
methods: { methods: {
handleClick() { handleClick(key) {
if(key === 'second'){
this.activeName=key
}
} }
} }
} }
......
...@@ -21,6 +21,9 @@ export default { ...@@ -21,6 +21,9 @@ export default {
}, },
methods: { methods: {
check(){
this.$parent.handleClick('second');
},
getUid() { getUid() {
return v4(); return v4();
}, },
......
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