Commit 7f022bbc authored by yht15023815643's avatar yht15023815643

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

parents e937668c cd058062
This diff is collapsed.
...@@ -148,6 +148,12 @@ export default { ...@@ -148,6 +148,12 @@ export default {
case '10亿以上': case '10亿以上':
moneyStr = [100000] moneyStr = [100000]
break; break;
case '5亿以上':
moneyStr = [50000]
break;
case '2亿以上':
moneyStr = [20000]
break;
case '一亿以上': case '一亿以上':
moneyStr = [10000] moneyStr = [10000]
break; break;
...@@ -249,7 +255,7 @@ export default { ...@@ -249,7 +255,7 @@ export default {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
border-radius: 2px; border-radius: 4px;
} }
} }
} }
......
<template>
<el-skeleton animated>
<template slot="template">
<el-skeleton-item variant="text" style="width: 60%;"/>
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 60%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
<el-skeleton-item variant="text" style="width: 100%;" />
</template>
</el-skeleton>
</template>
<script>
export default {
name: 'skeleton'
}
</script>
<style lang="scss" scoped>
.el-skeleton__item{
height: 20px;
border-radius: 0;
margin: 9px 0;
background: #f0f0f0;
}
</style>
...@@ -48,7 +48,6 @@ ...@@ -48,7 +48,6 @@
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton> <skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<tables <tables
v-if="!isSkeleton" v-if="!isSkeleton"
:indexFixed="true"
:defaultSort="defaultSort" :defaultSort="defaultSort"
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableData="tableData" :tableData="tableData"
...@@ -62,6 +61,9 @@ ...@@ -62,6 +61,9 @@
<router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.companyId)}`:`/company/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName" v-html="scope.row.companyName"></router-link> <router-link :to="scope.row.uipId?`/enterprise/${encodeStr(scope.row.companyId)}`:`/company/${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> <div v-else v-html="scope.row.companyName || '--'"></div>
</template> </template>
<template slot="stockPercent" slot-scope="scope">
<div>{{scope.row.stockPercent || '--'}}{{scope.row.stockPercent ? '%':''}}</div>
</template>
</tables> </tables>
</div> </div>
</template> </template>
...@@ -73,7 +75,7 @@ ...@@ -73,7 +75,7 @@
import mixin from '../../party-a/mixins/mixin' import mixin from '../../party-a/mixins/mixin'
export default { export default {
name: 'members', name: 'members',
props: ['companyId'], props: ['customerId'],
mixins: [mixin], mixins: [mixin],
data(){ data(){
return{ return{
...@@ -82,7 +84,7 @@ ...@@ -82,7 +84,7 @@
isDetails: false, isDetails: false,
defaultSort: {prop: 'time', order: 'descending'}, defaultSort: {prop: 'time', order: 'descending'},
queryParams: { queryParams: {
combineId: '81de7ca2a967d91c2afad9cb5fc30e6d', combineId: this.customerId,
pageNum: 1, pageNum: 1,
pageSize: 20, pageSize: 20,
companyTypes:[], companyTypes:[],
...@@ -93,7 +95,7 @@ ...@@ -93,7 +95,7 @@
{label: '成员层级', prop: 'combineMemberLevel', minWidth: '100'}, {label: '成员层级', prop: 'combineMemberLevel', minWidth: '100'},
{label: '法定代表人', prop: 'corporatePerson', minWidth: '100'}, {label: '法定代表人', prop: 'corporatePerson', minWidth: '100'},
{label: '注册资本', prop: 'regCapital', minWidth: '150', sortable: 'custom', descending: '3', ascending: '4'}, {label: '注册资本', prop: 'regCapital', minWidth: '150', sortable: 'custom', descending: '3', ascending: '4'},
{label: '持股比例(%)', prop: 'stockPercent', minWidth: '150', sortable: 'custom', descending: '3', ascending: '4'}, {label: '持股比例', prop: 'stockPercent', minWidth: '150', slot: true, sortable: 'custom', descending: '3', ascending: '4'},
{label: '成立日期', prop: 'registeredDate', minWidth: '150'}, {label: '成立日期', prop: 'registeredDate', minWidth: '150'},
{label: '企业地区', prop: 'address', minWidth: '150'}, {label: '企业地区', prop: 'address', minWidth: '150'},
], ],
...@@ -106,29 +108,29 @@ ...@@ -106,29 +108,29 @@
{ type: 3, fieldName: 'searchValue', value: '', placeholder: '输入关键词查询'}, { type: 3, fieldName: 'searchValue', value: '', placeholder: '输入关键词查询'},
], ],
cycj:[ cycj:[
{
name:'子集团',
value:'子集团'
},
{ {
name:'集团本身', name:'集团本身',
value:'集团本身' value:'集团本身'
}, },
{ {
name:'一级公司', name:'一级企业',
value:'一级公司' value:'一级企业'
},
{
name:'二级企业',
value:'二级企业'
}, },
{ {
name:'二级公司', name:'三级企业',
value:'二级公司' value:'三级企业'
}, },
{ {
name:'三级公司', name:'四级企业',
value:'三级公司' value:'四级企业'
}, },
{ {
name:'其他公司', name:'其他企业',
value:'其他公司' value:'其他企业'
}, },
], ],
kjxqy:[ kjxqy:[
...@@ -202,17 +204,30 @@ ...@@ -202,17 +204,30 @@
memberCount({combineId: this.queryParams.combineId}).then(res=>{ memberCount({combineId: this.queryParams.combineId}).then(res=>{
let data = res.data let data = res.data
let list=[] let list=[]
let qtArr=[]
for(let key in data){ for(let key in data){
list.push({ if(key === '其他'){
name: key+ '(' + data[key] + ')', qtArr.push({
value: key, name: key+ '(' + data[key] + ')',
key:data[key], value: key,
disabled:data[key] !=0 ? false : true key:data[key],
}) disabled:data[key] !=0 ? false : true
})
}else {
if(data[key] !=0){
list.push({
name: key+ '(' + data[key] + ')',
value: key,
key:data[key],
disabled:data[key] !=0 ? false : true
})
}
}
} }
list.sort(function(a, b) { list=list.concat(qtArr)
return b.key - a.key; // list.sort(function(a, b) {
}); // return b.key - a.key;
// });
this.formData[1].options=list this.formData[1].options=list
}) })
}, },
...@@ -296,9 +311,12 @@ ...@@ -296,9 +311,12 @@
}else{ }else{
this.queryParams[name] = [] this.queryParams[name] = []
} }
this.paramsData.companyType=this.queryParams.companyType if(this.paramsData){
this.paramsData.companyTypes=this.queryParams.companyTypes this.paramsData.companyType=this.queryParams.companyType
this.handleQuery(this.paramsData); this.paramsData.companyTypes=this.queryParams.companyTypes
this.paramsData.pageNum =1
}
this.handleQuery(this.paramsData ? this.paramsData : this.queryParams);
}, },
handleChange(key,name) { handleChange(key,name) {
if(key === '1'){ if(key === '1'){
...@@ -307,6 +325,10 @@ ...@@ -307,6 +325,10 @@
}else { }else {
this.queryParams.companyType=name this.queryParams.companyType=name
} }
if(this.paramsData){
this.paramsData.companyType=this.queryParams.companyType
this.paramsData.pageNum =1
}
} }
if(key === '2'){ if(key === '2'){
if(name === this.cgblName){ if(name === this.cgblName){
...@@ -335,12 +357,18 @@ ...@@ -335,12 +357,18 @@
this.queryParams.minStockPercent='' this.queryParams.minStockPercent=''
this.queryParams.maxStockPercent='' this.queryParams.maxStockPercent=''
} }
if(this.paramsData){
this.paramsData.minStockPercent=this.queryParams.minStockPercent
this.paramsData.maxStockPercent=this.queryParams.maxStockPercent
this.paramsData.pageNum =1
}
} }
this.handleQuery(); this.handleQuery(this.paramsData ? this.paramsData : this.queryParams);
}, },
getAreaList(params){ getAreaList(params){
if(params.province&&params.province.length>0){ if(params.province&&params.province.length>0){
let arr = this.$children[0].$refs.cascader[0].getCheckedNodes() let arr = this.$children[0].$refs.cascader[0].getCheckedNodes()
console.log(this.$children[0].$refs.cascader)
let provinceIds = [], cityIds = [], districtIds = [] let provinceIds = [], cityIds = [], districtIds = []
for (var i in arr) { for (var i in arr) {
if (arr[i].parent) { if (arr[i].parent) {
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton> <skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<tables <tables
v-if="!isSkeleton" v-if="!isSkeleton"
:indexFixed="true"
:defaultSort="defaultSort" :defaultSort="defaultSort"
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableData="tableData" :tableData="tableData"
...@@ -47,11 +46,11 @@ ...@@ -47,11 +46,11 @@
<script> <script>
import mixin from '../../party-a/mixins/mixin' import mixin from '../../party-a/mixins/mixin'
import {businessList} from '@/api/detail/groupAccount/groupAccount' import {businessList} from '@/api/detail/groupAccount/groupAccount'
import dataRegion from '@/assets/json/dataRegion' import dataRegion from '@/assets/json/dataRegion1'
import { getDictType } from '@/api/main' import { getDictType } from '@/api/main'
export default { export default {
name: 'qualifications', name: 'qualifications',
props: ['companyId'], props: ['customerId'],
mixins: [mixin], mixins: [mixin],
components:{}, components:{},
data(){ data(){
...@@ -61,28 +60,28 @@ ...@@ -61,28 +60,28 @@
isDetails: false, isDetails: false,
defaultSort: {prop: 'time', order: 'descending'}, defaultSort: {prop: 'time', order: 'descending'},
queryParams: { queryParams: {
combineId: '81de7ca2a967d91c2afad9cb5fc30e6d', combineId: this.customerId,
pageNum: 1, pageNum: 1,
pageSize: 20 pageSize: 20
}, },
forData: [ forData: [
{label: '中标时间', prop: 'bidTime',slot: true,minWidth: '100'}, {label: '中标时间', prop: 'bidTime',slot: true,minWidth: '80'},
{label: '中标成员', prop: 'companyName', slot: true,minWidth: '150'}, {label: '中标成员', prop: 'companyName', slot: true,minWidth: '190'},
{label: '持股比例(%)', prop: 'stockPercent',minWidth: '150'}, {label: '持股比例(%)', prop: 'stockPercent',minWidth: '95'},
{label: '项目名称', prop: 'projectName', slot: true,minWidth: '200'}, {label: '项目名称', prop: 'projectName', slot: true,minWidth: '260'},
{label: '中标金额(万元)', prop: 'bidAmount',minWidth: '150'}, {label: '中标金额(万元)', prop: 'bidAmount',minWidth: '110'},
{label: '中标地区', prop: 'address',minWidth: '100'}, {label: '中标地区', prop: 'address',minWidth: '80'},
{label: '业绩类型', prop: 'boundType',minWidth: '100'}, {label: '业绩类型', prop: 'boundType',minWidth: '100'},
{label: '项目类型', prop: 'projectType',minWidth: '100'}, {label: '项目类型', prop: 'projectType',minWidth: '100'},
{label: '业主单位', prop: 'projectUnit', slot: true,minWidth: '200'}, {label: '业主单位', prop: 'projectUnit', slot: true,minWidth: '190'},
], ],
formData: [ formData: [
{ type: 7, fieldName: 'province', value: '',props: {multiple: true,value: 'id',expandTrigger: 'hover'}, placeholder: '项目地区', options:[]}, { type: 7, fieldName: 'province', value: '',props: {multiple: true,value: 'id',expandTrigger: 'hover'}, placeholder: '项目地区', options:[]},
{ type: 5, fieldName: 'time', value: '', placeholder: '中标时间', startTime: 'startBidTime', endTime: 'endBidTime',timeList:[] }, { type: 5, fieldName: 'time', value: '', placeholder: '中标时间', startTime: 'startBidTime', endTime: 'endBidTime',timeList:[] },
{ type: 6, fieldName: 'money', value: '', placeholder: '中标金额', startMoney: 'minAmount', endMoney: 'maxAmount',moneyList:[] }, { type: 6, fieldName: 'money', value: '', placeholder: '中标金额', startMoney: 'minAmount', endMoney: 'maxAmount',moneyList:[] },
{ type: 4, fieldName: 'boundTypes', value: '', placeholder: '业绩类型', options: []}, { type: 4, fieldName: 'boundTypes', value: '', placeholder: '业绩类型', options: [],width:150},
{ type: 4, fieldName: 'projectTypes', value: '', placeholder: '项目类型', options: []}, { type: 4, fieldName: 'projectTypes', value: '', placeholder: '项目类型', options: [],width:150},
{ type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: []}, { type: 1, fieldName: 'cgbl', value: '', placeholder: '持股比例', options: [],width:100},
{ type: 3, fieldName: 'searchValue', value: '', placeholder: '搜索中标成员名称/项目名称'}, { type: 3, fieldName: 'searchValue', value: '', placeholder: '搜索中标成员名称/项目名称'},
], ],
tableData:[], tableData:[],
...@@ -211,6 +210,13 @@ ...@@ -211,6 +210,13 @@
} }
} }
} }
for (var i=0; i<str.length; i++) {
if (str[i].children.length) {
} else {
delete str[i].children
}
}
this.addressList = str; this.addressList = str;
this.formData[0].options=str; this.formData[0].options=str;
}, },
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton> <skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<tables <tables
v-if="!isSkeleton" v-if="!isSkeleton"
:indexFixed="true"
:defaultSort="defaultSort" :defaultSort="defaultSort"
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableData="tableData" :tableData="tableData"
...@@ -39,7 +38,7 @@ ...@@ -39,7 +38,7 @@
import QualificationsDetail from './qualificationsDetail' import QualificationsDetail from './qualificationsDetail'
export default { export default {
name: 'qualifications', name: 'qualifications',
props: ['companyId','companyInfo'], props: ['customerId','name'],
mixins: [mixin], mixins: [mixin],
components:{ components:{
QualificationsDetail QualificationsDetail
...@@ -51,7 +50,7 @@ ...@@ -51,7 +50,7 @@
isDetails: false, isDetails: false,
defaultSort: {prop: 'time', order: 'descending'}, defaultSort: {prop: 'time', order: 'descending'},
queryParams: { queryParams: {
combineId:'54355f88a5b16d3e52f74931f5567853', combineId:this.customerId,
pageNum: 1, pageNum: 1,
pageSize: 20 pageSize: 20
}, },
...@@ -98,7 +97,7 @@ ...@@ -98,7 +97,7 @@
}) })
}, },
handleClick(e, data) { handleClick(e, data) {
this.title=this.companyInfo.companyName+data.qualificationName+'('+ data.companyCount +')' this.title=this.name+'-'+data.qualificationName+'(共'+ data.companyCount +'条)'
this.rowData = data this.rowData = data
this.isDetails = true this.isDetails = true
}, },
......
...@@ -7,9 +7,12 @@ ...@@ -7,9 +7,12 @@
:with-header="false" :with-header="false"
@closed="cancel"> @closed="cancel">
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton> <skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<div class="head" v-if="!isSkeleton">
<img class="tip-img" src="@/assets/images/icon.png" />
<span>{{title}}</span>
</div>
<tables <tables
v-if="!isSkeleton" v-if="!isSkeleton"
:indexFixed="true"
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableData="tableData" :tableData="tableData"
:forData="forData" :forData="forData"
...@@ -64,7 +67,7 @@ export default { ...@@ -64,7 +67,7 @@ export default {
} }
}, },
created() { created() {
this.drawer = true this.drawer = true;
this.handleQuery() this.handleQuery()
}, },
methods: { methods: {
...@@ -101,11 +104,15 @@ export default { ...@@ -101,11 +104,15 @@ export default {
::v-deep .client-drawer{ ::v-deep .client-drawer{
background: #FFFFFF; background: #FFFFFF;
} }
.head{
height: 48px;
line-height: 48px;
border-bottom: 1px solid #E1E1E1;
}
.tip-img{ .tip-img{
width: 14px; width: 17px;
height: 14px; height: 17px;
margin-right: 4px; margin: 0 8px -2px 12px;
cursor: pointer;
} }
} }
</style> </style>
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
</div> </div>
<div class="group-right"> <div class="group-right">
<div id="groupBox" v-if="customerId"> <div id="groupBox" v-if="customerId">
<Members v-if="currentPath.pathName=='members'" :company-id="companyId" :isSkeleton="isSkeleton" :companyInfo="companyInfo" /> <Members v-if="currentPath.pathName=='members'" :customer-id="customerId" :isSkeleton="isSkeleton" />
<Qualifications v-if="currentPath.pathName=='qualifications'" :company-id="companyId" :isSkeleton="isSkeleton" :companyInfo="companyInfo" /> <Qualifications v-if="currentPath.pathName=='qualifications'" :customer-id="customerId" :isSkeleton="isSkeleton" :name="name"/>
<Performance v-if="currentPath.pathName=='performance'" :company-id="companyId" :isSkeleton="isSkeleton" :companyInfo="companyInfo" /> <Performance v-if="currentPath.pathName=='performance'" :customer-id="customerId" :isSkeleton="isSkeleton"/>
</div> </div>
</div> </div>
</div> </div>
...@@ -36,8 +36,7 @@ ...@@ -36,8 +36,7 @@
}, },
data(){ data(){
return{ return{
companyId: '3068', //企业Id(测试默认3068) customerId: '', //集团Id(测试默认'81de7ca2a967d91c2afad9cb5fc30e6d')
customerId: '', //企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
companyInfo: {}, companyInfo: {},
cooDetail: {}, cooDetail: {},
currentPath: { currentPath: {
......
...@@ -249,7 +249,7 @@ export default { ...@@ -249,7 +249,7 @@ export default {
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
border-radius: 2px; border-radius: 4px;
} }
} }
} }
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
multiple multiple
collapse-tags collapse-tags
clearable clearable
style="max-width: 170px" :style="form.width?'width:'+form.width+'px':'max-width: 170px'"
:placeholder="form.placeholder" :placeholder="form.placeholder"
@change="changeSelect"> @change="changeSelect">
<el-option v-for="(item, index) in form.options" :key="index" :label="item.name" :value="item.value"/> <el-option v-for="(item, index) in form.options" :key="index" :label="item.name" :value="item.value"/>
...@@ -182,6 +182,7 @@ export default { ...@@ -182,6 +182,7 @@ export default {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
border-radius: 4px;
} }
::v-deep .el-form-item{ ::v-deep .el-form-item{
margin-right: 8px !important; margin-right: 8px !important;
...@@ -192,6 +193,7 @@ export default { ...@@ -192,6 +193,7 @@ export default {
::v-deep .el-cascader{ ::v-deep .el-cascader{
height: 34px; height: 34px;
line-height: 34px; line-height: 34px;
width: 190px;
.el-input{ .el-input{
input{ input{
height: 34px !important; height: 34px !important;
...@@ -201,9 +203,12 @@ export default { ...@@ -201,9 +203,12 @@ export default {
flex-wrap: inherit; flex-wrap: inherit;
margin-top: 1px; margin-top: 1px;
.el-tag{ .el-tag{
max-width: 120px; max-width: 100px;
} }
} }
.el-input__suffix{
top: 1px;
}
} }
.headForm-from { .headForm-from {
display: flex; display: flex;
...@@ -277,7 +282,7 @@ export default { ...@@ -277,7 +282,7 @@ export default {
.el-select__tags{ .el-select__tags{
.el-tag{ .el-tag{
&:first-child{ &:first-child{
width: 90px; width: 70px;
} }
} }
} }
......
...@@ -144,7 +144,8 @@ ...@@ -144,7 +144,8 @@
<div class="content_wap3"> <div class="content_wap3">
<el-tabs v-model="activeName" @tab-click="handleClickTab"> <el-tabs v-model="activeName" @tab-click="handleClickTab">
<el-tab-pane label="大项目最新中标" name="first"> <el-tab-pane label="大项目最新中标" name="first">
<div class="list"> <skeleton v-if="zxzbIsSkeleton" style="padding: 16px"></skeleton>
<div class="list" v-if="!zxzbIsSkeleton">
<div class="item" v-for="(item,index) in projectList" :key="index"> <div class="item" v-for="(item,index) in projectList" :key="index">
<p class="list-title"><router-link :to="`/biddetail/${item.id}`" tag="a" class="a-link" v-if="item.id" v-html="item.projectName"></router-link></p> <p class="list-title"><router-link :to="`/biddetail/${item.id}`" tag="a" class="a-link" v-if="item.id" v-html="item.projectName"></router-link></p>
<div class="list-content"> <div class="list-content">
...@@ -167,12 +168,13 @@ ...@@ -167,12 +168,13 @@
</div> </div>
</div> </div>
</div> </div>
<div class="pagination-box" v-if="totalCount>queryParams2.pageSize"> <div class="pagination-box" v-if="totalCount>queryParams2.pageSize && !zxzbIsSkeleton">
<el-pagination background :current-page="queryParams2.pageNum" :page-size="queryParams2.pageSize" :total="totalCount" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" /> <el-pagination background :current-page="queryParams2.pageNum" :page-size="queryParams2.pageSize" :total="totalCount" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="大项目最新招标" name="second"> <el-tab-pane label="大项目最新招标" name="second">
<div class="list"> <skeleton v-if="zhaobiaoIsSkeleton" style="padding: 16px"></skeleton>
<div v-if="!zhaobiaoIsSkeleton" class="list">
<div class="item" v-for="(item,index) in zbList" :key="index"> <div class="item" v-for="(item,index) in zbList" :key="index">
<p class="list-title"><router-link :to="`/biddetail/${item.bid}`" tag="a" class="a-link" v-if="item.bid" v-html="item.projectName"></router-link></p> <p class="list-title"><router-link :to="`/biddetail/${item.bid}`" tag="a" class="a-link" v-if="item.bid" v-html="item.projectName"></router-link></p>
<div class="list-content"> <div class="list-content">
...@@ -191,11 +193,39 @@ ...@@ -191,11 +193,39 @@
</div> </div>
</div> </div>
</div> </div>
<div class="pagination-box" v-if="zbTableTotal>queryParams3.pageSize"> <div class="pagination-box" v-if="zbTableTotal>queryParams2.pageSize && !zhaobiaoIsSkeleton">
<el-pagination background :current-page="queryParams3.pageNum" :page-size="queryParams3.pageSize" :total="zbTableTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" /> <el-pagination background :current-page="queryParams2.pageNum" :page-size="queryParams2.pageSize" :total="zbTableTotal" layout="prev, pager, next, jumper" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<div class="search">
<el-form ref="queryForm" :model="queryParams2" :inline="true" size="small">
<el-form-item prop="amount">
<custom-money-select
:moneyList="moneyList"
v-model="amount"
placeholder="中标金额"
@handle-search="changeSelect3" />
</el-form-item>
<el-form-item prop="provinceId">
<el-select v-model="queryParams2.provinceId" placeholder="项目地区" style="width: 150px;">
<el-option v-for="(item,index) in addressList" :key="index" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="projects">
<el-select v-model="queryParams2.projects" multiple collapse-tags clearable placeholder="项目类型" :class="queryParams2.projects.length > 1 ? 'selectTag' : ''" style="width: 170px;">
<el-option v-for="(item,index) in typeList" :key="index" :label="item" :value="item"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="time">
<custom-time-select
:timeList="timeList"
v-model="queryParams2.time"
placeholder="中标日期"
@handle-search="changeSelect"/>
</el-form-item>
</el-form>
</div>
</div> </div>
</div> </div>
<!--员工视角--> <!--员工视角-->
...@@ -400,11 +430,12 @@ ...@@ -400,11 +430,12 @@
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
import CustomTimeSelect from './component/CustomTimeSelect' import CustomTimeSelect from './component/CustomTimeSelect'
import CustomMoneySelect from './component/CustomMoneySelect' import CustomMoneySelect from './component/CustomMoneySelect'
import skeleton from './component/skeleton'
import { bigWinningBidsPage,bigBidPage } from '@/api/index' import { bigWinningBidsPage,bigBidPage } from '@/api/index'
export default { export default {
name: "Index", name: "Index",
components: { components: {
CustomTimeSelect,CustomMoneySelect, CustomTimeSelect,CustomMoneySelect,skeleton
}, },
data() { data() {
return { return {
...@@ -649,23 +680,16 @@ export default { ...@@ -649,23 +680,16 @@ export default {
pageNum:1, pageNum:1,
pageSize:10 pageSize:10
}, },
queryParams3:{ amount:'',
provinceId:'',
projects:[],
amount:'',
time:'',
pageNum:1,
pageSize:10
},
timeList: ['近三天', '近七天', '近半月', '自定义'], timeList: ['近三天', '近七天', '近半月', '自定义'],
moneyList: ['2亿以上', '5亿以上', '10亿以上', '自定义'], moneyList: ['2亿以上', '5亿以上', '10亿以上', '自定义'],
projectList:[], projectList:[],
zbList:[], zbList:[],
totalCount:0, totalCount:0,
zbTableTotal:0, zbTableTotal:0,
zxzbIsSkeleton:true,
zhaobiaoIsSkeleton:true,
}; };
}, },
created() { created() {
this.dataRegion() this.dataRegion()
...@@ -679,9 +703,14 @@ export default { ...@@ -679,9 +703,14 @@ export default {
}, },
methods: { methods: {
getBigWinningBidsPage(){ getBigWinningBidsPage(){
let params={} let params=this.queryParams2;
if(params.amount){
}
this.zxzbIsSkeleton=true
bigWinningBidsPage(this.queryParams2).then(res=>{ bigWinningBidsPage(this.queryParams2).then(res=>{
console.log(res) this.zxzbIsSkeleton=false;
if(res.code == 200){ if(res.code == 200){
this.projectList=res.rows; this.projectList=res.rows;
this.totalCount=res.total; this.totalCount=res.total;
...@@ -689,9 +718,10 @@ export default { ...@@ -689,9 +718,10 @@ export default {
}) })
}, },
getBigBidPage(){ getBigBidPage(){
let params={} let params={};
bigBidPage(this.queryParams3).then(res=>{ this.zhaobiaoIsSkeleton=true
console.log(res) bigBidPage(this.queryParams2).then(res=>{
this.zhaobiaoIsSkeleton=false
if(res.code == 200){ if(res.code == 200){
this.zbList=res.rows; this.zbList=res.rows;
this.zbTableTotal=res.total; this.zbTableTotal=res.total;
...@@ -717,6 +747,7 @@ export default { ...@@ -717,6 +747,7 @@ export default {
this.addressList = str; this.addressList = str;
}, },
initChart(data) { initChart(data) {
console.log(data)
this.$nextTick(()=>{ this.$nextTick(()=>{
let myChart = echarts.init(document.getElementById("zbtj-echarts")) let myChart = echarts.init(document.getElementById("zbtj-echarts"))
let option ={ let option ={
...@@ -1010,6 +1041,7 @@ export default { ...@@ -1010,6 +1041,7 @@ export default {
}); });
}, },
handleClickTab(){ handleClickTab(){
this.queryParams2.pageNum=1;
if(this.activeName === 'first'){ if(this.activeName === 'first'){
this.getBigWinningBidsPage() this.getBigWinningBidsPage()
} }
...@@ -1031,11 +1063,29 @@ export default { ...@@ -1031,11 +1063,29 @@ export default {
console.log("11111") console.log("11111")
// this.$emit('handle-search') // this.$emit('handle-search')
}, },
changeSelect3(){
console.log(this.amount)
return
this.queryParams2.pageNum = 1
if(this.activeName === 'first'){
this.getBigWinningBidsPage()
}
if(this.activeName === 'second'){
this.getBigBidPage()
}
},
handleCurrentChange(){ handleCurrentChange(){
}, },
handleSizeChange(){ handleSizeChange(){
this.queryParams2.pageNum = 1
this.queryParams2.pageSize = val
if(this.activeName === 'first'){
this.getBigWinningBidsPage()
}
if(this.activeName === 'second'){
this.getBigBidPage()
}
}, },
} }
}; };
...@@ -1152,6 +1202,7 @@ export default { ...@@ -1152,6 +1202,7 @@ export default {
.el-input__inner{ .el-input__inner{
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
border-radius: 4px
} }
} }
...@@ -1266,6 +1317,7 @@ export default { ...@@ -1266,6 +1317,7 @@ export default {
.content_wap3{ .content_wap3{
margin-top: 12px; margin-top: 12px;
background: #ffffff; background: #ffffff;
position:relative;
::v-deep .el-tabs{ ::v-deep .el-tabs{
.el-tabs__header{ .el-tabs__header{
margin-bottom: 0; margin-bottom: 0;
...@@ -1290,6 +1342,16 @@ export default { ...@@ -1290,6 +1342,16 @@ export default {
} }
} }
.search{
position: absolute;
right: 8px;
top: 10px;
::v-deep .el-form {
.el-form-item--small.el-form-item {
margin-bottom: 0;
}
}
}
.list{ .list{
margin: 0 16px; margin: 0 16px;
.item{ .item{
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<div class="table-item"> <div class="table-item">
<el-table <el-table
:data="tableData" :data="tableData"
element-loading-text="Loading" v-loading="tableLoading"
border border
fit fit
max-height="640" max-height="640"
...@@ -168,7 +168,8 @@ export default { ...@@ -168,7 +168,8 @@ export default {
this.aptitudeCodeList=aptitudeCode this.aptitudeCodeList=aptitudeCode
}, },
async querySubmit(){ async querySubmit(){
this.isSkeleton = true; // this.isSkeleton = true;
this.tableLoading = true;
const params = { pageNum: this.pageIndex, pageSize: this.pageSize} const params = { pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.queryParams.field){ if(this.queryParams.field){
params.field=this.queryParams.field params.field=this.queryParams.field
...@@ -196,6 +197,7 @@ export default { ...@@ -196,6 +197,7 @@ export default {
} }
enterprise(params).then(res => { enterprise(params).then(res => {
this.isSkeleton = false this.isSkeleton = false
this.tableLoading = false
if(res.code === 200){ if(res.code === 200){
this.tableData=res.data.list; this.tableData=res.data.list;
this.tableDataTotal=res.data.total; this.tableDataTotal=res.data.total;
......
...@@ -368,10 +368,6 @@ ...@@ -368,10 +368,6 @@
.table-item{ .table-item{
/*position: relative;*/ /*position: relative;*/
.empty{ .empty{
/*position: absolute;*/
/*top: 50%;*/
/*left: 50%;*/
/*transform: translate(-50%,-50%);*/
margin: 0 auto; margin: 0 auto;
height: 600px; height: 600px;
text-align: center; text-align: center;
......
...@@ -74,8 +74,8 @@ ...@@ -74,8 +74,8 @@
<el-table-column prop="province" label="地区" :formatter="formatStatus" width="100"/> <el-table-column prop="province" label="地区" :formatter="formatStatus" width="100"/>
<el-table-column prop="count" label="中标数量 (个)" align="right" :formatter="formatStatus" sortable width="130"/> <el-table-column prop="count" label="中标数量 (个)" align="right" :formatter="formatStatus" sortable width="130"/>
<el-table-column prop="countRate" label="数量占比(%)" align="right" :formatter="formatStatus" sortable width="150"/> <el-table-column prop="countRate" label="数量占比(%)" align="right" :formatter="formatStatus" sortable width="150"/>
<el-table-column prop="sumMoney" label="中标总金额 (万元)" align="right" :formatter="formatStatus" width="140"/> <el-table-column prop="sumMoney" label="中标总金额 (万元)" align="right" :formatter="formatStatus" sortable width="170"/>
<el-table-column prop="moneyRate" label="金额占比(%)" align="right" :formatter="formatStatus"/> <el-table-column prop="moneyRate" label="金额占比(%)" align="right" :formatter="formatStatus" sortable width="145"/>
</el-table> </el-table>
</div> </div>
</div> </div>
......
...@@ -144,7 +144,6 @@ ...@@ -144,7 +144,6 @@
<span class="flex-box" @click="handleMessage"><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>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="table-item"> <div class="table-item">
<div v-if="tableDataTotal > 0 && !isSkeleton"> <div v-if="tableDataTotal > 0 && !isSkeleton">
<el-table <el-table
...@@ -237,6 +236,7 @@ ...@@ -237,6 +236,7 @@
<!--<el-table-column prop="bl" label="开发区类别" width="160" />--> <!--<el-table-column prop="bl" label="开发区类别" width="160" />-->
</el-table> </el-table>
</div> </div>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<div class="empty" v-if="tableDataTotal === 0 && !isSkeleton"> <div class="empty" v-if="tableDataTotal === 0 && !isSkeleton">
<img class="img" src="@/assets/images/project/empty.png"> <img class="img" src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div> <div class="p1">抱歉,没找到相关数据</div>
...@@ -366,9 +366,6 @@ export default { ...@@ -366,9 +366,6 @@ export default {
this.dataRegion() this.dataRegion()
this.getType() this.getType()
this.dataQuery=this.$route.params; this.dataQuery=this.$route.params;
// console.log(this.dataQuery)
// console.log(this.$route.query)
// console.log(this.$route.params)
if(this.dataQuery.provinceId){ if(this.dataQuery.provinceId){
if(Array.isArray(this.dataQuery.province)){ if(Array.isArray(this.dataQuery.province)){
this.province=this.dataQuery.province[0]; this.province=this.dataQuery.province[0];
...@@ -459,8 +456,8 @@ export default { ...@@ -459,8 +456,8 @@ export default {
}, },
// 查询提交 // 查询提交
async querySubmit() { async querySubmit() {
// this.tableLoading = true; this.tableLoading = true;
this.isSkeleton = true // this.isSkeleton = true
const params = { pageNum: this.pageIndex, pageSize: this.pageSize,type:Number(this.queryParams.radio)} const params = { pageNum: this.pageIndex, pageSize: this.pageSize,type:Number(this.queryParams.radio)}
const param={} const param={}
// if(this.queryParams.address.length > 0){ // if(this.queryParams.address.length > 0){
...@@ -537,7 +534,8 @@ export default { ...@@ -537,7 +534,8 @@ export default {
} }
urbanInvestmentPage(params).then(res => { urbanInvestmentPage(params).then(res => {
this.isSkeleton = false this.isSkeleton = false;
this.tableLoading = false;
this.tableData = res.data.list; this.tableData = res.data.list;
this.tableDataTotal = res.data.totalCount this.tableDataTotal = res.data.totalCount
}) })
......
...@@ -140,6 +140,12 @@ public class EnterpriseService { ...@@ -140,6 +140,12 @@ public class EnterpriseService {
statisticMapData.put("performance", performance); statisticMapData.put("performance", performance);
statisticMapData.put("business", business); statisticMapData.put("business", business);
Map<String, Object> combineMemberMap = dskOpenApiUtil.requestBody("/operate/enterprise/combineMember", paramMap);
Integer code = MapUtils.getInteger(combineMemberMap, "code", 300);
statisticMapData.put("combineMember", null);
if (code.equals(HttpStatus.OK.value())) {
statisticMapData.put("combineMember", MapUtils.getMap(combineMemberMap, "data", null));
}
return R.ok(statisticMapData); return R.ok(statisticMapData);
} }
......
...@@ -151,9 +151,11 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -151,9 +151,11 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
if (null!=map.get("projectContractAmount")&&ObjectUtil.isNotEmpty(map.get("projectContractAmount"))){ if (null!=map.get("projectContractAmount")&&ObjectUtil.isNotEmpty(map.get("projectContractAmount"))){
vo.setInvestmentAmount(MapUtil.getDouble(map, "projectContractAmount")); vo.setInvestmentAmount(MapUtil.getDouble(map, "projectContractAmount"));
} }
vo.setProjectType(MapUtil.getStr(map, "projectType")); // vo.setProjectType(MapUtil.getStr(map, "projectCategory"));
//项目阶段
vo.setProjectStage(MapUtil.getStr(map, "tenderStage")); vo.setProjectStage(MapUtil.getStr(map, "tenderStage"));
vo.setProjectCategory(MapUtil.getStr(map, "projectPurposes")); //项目类别
vo.setProjectCategory(MapUtil.getStr(map, "projectCategory"));
vos.add(vo); vos.add(vo);
} }
} }
......
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