Commit 831d5011 authored by danfuman's avatar danfuman

修改

parent b41f529d
...@@ -92,3 +92,52 @@ export function exportBid(data) { ...@@ -92,3 +92,52 @@ export function exportBid(data) {
data: data data: data
}) })
} }
// 集团施工项目最新招标
export function recentlyBid(data) {
return request({
url: '/marketAnalysis/combine/recentlyBid',
method: 'post',
data: data
})
}
// 集团施工项目年度招标
export function bidByYear(data) {
return request({
url: '/marketAnalysis/combine/bidByYear',
method: 'post',
data: data
})
}
// 集团施工项目发包金额统计
export function groupByMoney(data) {
return request({
url: '/marketAnalysis/combine/groupByMoney',
method: 'post',
data: data
})
}
// 集团施工项目发包类型统计
export function groupByType(data) {
return request({
url: '/marketAnalysis/combine/groupByType',
method: 'post',
data: data
})
}
// 施工项目下浮率统计
export function groupByLowerRate(data) {
return request({
url: '/marketAnalysis/combine/groupByLowerRate',
method: 'post',
data: data
})
}
// 历史发包项目金额Top10
export function peojectTop(data) {
return request({
url: '/marketAnalysis/combine/peojectTop',
method: 'post',
data: data
})
}
...@@ -9,7 +9,7 @@ export function bidNoticePage(data) { ...@@ -9,7 +9,7 @@ export function bidNoticePage(data) {
}) })
} }
// 招标公告招标类别 // 招标公告招标阶段
export function bidNoticeTenderStage(data) { export function bidNoticeTenderStage(data) {
return request({ return request({
url: '/enterpriseProject/bidNoticeTenderStage', url: '/enterpriseProject/bidNoticeTenderStage',
...@@ -17,6 +17,14 @@ export function bidNoticeTenderStage(data) { ...@@ -17,6 +17,14 @@ export function bidNoticeTenderStage(data) {
data: data data: data
}) })
} }
// 招标公告项目类别
export function bidNoticeProjectCategory(data) {
return request({
url: '/enterpriseProject/bidNoticeProjectCategory',
method: 'post',
data: data
})
}
// 招标公告地区 // 招标公告地区
export function bidNoticeArea(data) { export function bidNoticeArea(data) {
......
...@@ -348,7 +348,7 @@ ul, li { ...@@ -348,7 +348,7 @@ ul, li {
//box-shadow:none; //box-shadow:none;
//-webkit-box-shadow: 2px 0px 1px -2px #C3CBD5; //-webkit-box-shadow: 2px 0px 1px -2px #C3CBD5;
box-shadow: 2px 0 8px -7px #202020; box-shadow: 2px 0 8px -7px #202020;
border-right: 1px solid #C3CBD5; //border-right: 1px solid #C3CBD5;
height: auto !important; height: auto !important;
bottom: 16px !important; bottom: 16px !important;
} }
......
...@@ -209,7 +209,7 @@ export const constantRoutes = [ ...@@ -209,7 +209,7 @@ export const constantRoutes = [
children: [ children: [
{ {
path: '/biddetail/:id(\\d+)', path: '/biddetail/:id(\\d+)',
component: () => import('@/views/detail//biddetail/index'), component: () => import('@/views/detail/biddetail/index'),
name: 'Biddetail', name: 'Biddetail',
meta: { title: '中标业绩详情',icon: 'enterprise'} meta: { title: '中标业绩详情',icon: 'enterprise'}
} }
......
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
import { getDictType } from '@/api/main' import { getDictType } from '@/api/main'
export default { export default {
name: 'qualifications', name: 'qualifications',
props: ['customerId','combineName'], props: ['customerId'],
mixins: [mixin], mixins: [mixin],
components:{CustomTimeSelect,CustomMoneySelect}, components:{CustomTimeSelect,CustomMoneySelect},
data(){ data(){
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
<Zbxmfx v-if="activeName === 'first'"></Zbxmfx> <Zbxmfx v-if="activeName === 'first'" :customer-id="id"></Zbxmfx>
<Zbxmmx v-if="activeName === 'second'"></Zbxmmx> <Zbxmmx v-if="activeName === 'second'" :customer-id="id"></Zbxmmx>
</div> </div>
</template> </template>
...@@ -18,10 +18,12 @@ ...@@ -18,10 +18,12 @@
import Zbxmmx from './zbxmmx' import Zbxmmx from './zbxmmx'
export default { export default {
name: 'qualifications', name: 'qualifications',
props: ['customerId'],
components:{Zbxmfx,Zbxmmx}, components:{Zbxmfx,Zbxmmx},
data(){ data(){
return{ return{
activeName: 'first' activeName: 'first',
id:this.customerId
} }
}, },
created() { created() {
...@@ -37,7 +39,7 @@ ...@@ -37,7 +39,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.zhaobiao{ .zhaobiao{
height: 100%; /*height: 100%;*/
background: #F5F5F5; background: #F5F5F5;
.header{ .header{
justify-content: space-between; justify-content: space-between;
......
...@@ -273,11 +273,13 @@ export default { ...@@ -273,11 +273,13 @@ export default {
cityIds: [this.companyInfo.cityId], cityIds: [this.companyInfo.cityId],
} }
urbanInvestmentPage(data).then(res => { urbanInvestmentPage(data).then(res => {
if(res.code==200){
if(res.data.totalCount<1){ if(res.data.totalCount<1){
let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute)) let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute))
arr[4].children[2].disabled = true; arr[4].children[2].disabled = true;
this.$refs.sidebar.sideRoute = arr this.$refs.sidebar.sideRoute = arr
} }
}
}) })
if(this.companyInfo && this.companyInfo.companyName){ if(this.companyInfo && this.companyInfo.companyName){
this.$nextTick(()=>{ this.$nextTick(()=>{
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<script> <script>
import mixin from '../mixins/mixin' import mixin from '../mixins/mixin'
import skeleton from '@/views/project/projectList/component/skeleton' import skeleton from '@/views/project/projectList/component/skeleton'
import {bidNoticeArea, bidNoticeTenderStage, bidNoticePage} from '@/api/detail/party-a/opport' import {bidNoticeArea, bidNoticeTenderStage,bidNoticeProjectCategory, bidNoticePage} from '@/api/detail/party-a/opport'
export default { export default {
name: 'Announcement', name: 'Announcement',
props: ['companyId'], props: ['companyId'],
...@@ -59,6 +59,7 @@ export default { ...@@ -59,6 +59,7 @@ export default {
{label: '项目名称', prop: 'projectName', minWidth: '300', slot: true, fixed: true}, {label: '项目名称', prop: 'projectName', minWidth: '300', slot: true, fixed: true},
{label: '发布日期', prop: 'issueTime', sortable: 'custom', descending: '3', ascending: '4', width: '120'}, {label: '发布日期', prop: 'issueTime', sortable: 'custom', descending: '3', ascending: '4', width: '120'},
{label: '预算金额(万元)', prop: 'projectAmount', sortable: 'custom', descending: '1', ascending: '2', width: '140'}, {label: '预算金额(万元)', prop: 'projectAmount', sortable: 'custom', descending: '1', ascending: '2', width: '140'},
{label: '项目类型', prop: 'projectCategory', width: '110'},
{label: '项目地区', prop: 'province', width: '120', slot: true}, {label: '项目地区', prop: 'province', width: '120', slot: true},
{label: '招标阶段', prop: 'tenderStage', width: '90'}, {label: '招标阶段', prop: 'tenderStage', width: '90'},
{label: '招采单位联系人', prop: 'contact', width: '120'}, {label: '招采单位联系人', prop: 'contact', width: '120'},
...@@ -70,7 +71,8 @@ export default { ...@@ -70,7 +71,8 @@ export default {
], ],
formData: [ formData: [
{ type: 7, fieldName: 'province', value: '',props: {multiple: true}, placeholder: '项目地区', options: []}, { type: 7, fieldName: 'province', value: '',props: {multiple: true}, placeholder: '项目地区', options: []},
{ type: 4, fieldName: 'tenderStage', value: '', placeholder: '项目类型', options: []}, { type: 4, fieldName: 'projectCategory', value: '', placeholder: '项目类型', options: []},
{ type: 4, fieldName: 'tenderStage', value: '', placeholder: '招标阶段', options: []},
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入关键词查询', options: []} { type: 3, fieldName: 'keys', value: '', placeholder: '输入关键词查询', options: []}
], ],
//列表 //列表
...@@ -87,9 +89,10 @@ export default { ...@@ -87,9 +89,10 @@ export default {
}, },
methods: { methods: {
async handleOption(){ async handleOption(){
let [area, tender] = await Promise.all([ let [area, tender,project] = await Promise.all([
bidNoticeArea({cid: this.companyId}), bidNoticeArea({cid: this.companyId}),
bidNoticeTenderStage({cid: this.companyId}) bidNoticeTenderStage({cid: this.companyId}),
bidNoticeProjectCategory({cid: this.companyId}),
]) ])
if(area.code==200){ if(area.code==200){
let region = area.data.map(item => { let region = area.data.map(item => {
...@@ -121,6 +124,13 @@ export default { ...@@ -121,6 +124,13 @@ export default {
}) })
this.setFormData('tenderStage', tenderStage) this.setFormData('tenderStage', tenderStage)
} }
if(project.code==200){
let projectCategory = project.data.map(item => {
let it = {name:item.projectCategory+'('+item.count+')',value:item.projectCategory}
return it
})
this.setFormData('projectCategory', projectCategory)
}
}, },
async handleQuery(params) { async handleQuery(params) {
this.tableLoading = true this.tableLoading = true
......
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