@@ -33,3 +33,48 @@ export function AttestationDetail(id) { | |||
method: 'get' | |||
}) | |||
} | |||
//鉴证公告 | |||
export function needProject(id,query) { | |||
return request({ | |||
url: '/transaction/website/needProject/'+id, | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
//招标公告 | |||
export function tenderList(query) { | |||
return request({ | |||
url: '/transaction/website/tender/publicity', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
//中标公告 | |||
export function winList(query) { | |||
return request({ | |||
url: '/transaction/website/win/publicity', | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
//招标公告详情 | |||
export function tenderDetail(id,query) { | |||
return request({ | |||
url: '/transaction/website/tender/'+id, | |||
method: 'get', | |||
params: query | |||
}) | |||
} | |||
//中标公告详情 | |||
export function tenderWinDetail(id,query) { | |||
return request({ | |||
url: '/transaction/website/tenderWin/'+id, | |||
method: 'get', | |||
params: query | |||
}) | |||
} |
@@ -16,6 +16,10 @@ const whiteList = [ | |||
'/news/index', | |||
'/news/newDetail', | |||
'/notice/index', | |||
'/notice/inviteTendersDetail', | |||
'/notice/winTheBiddingDetail', | |||
'/project/projectNeedsDetail', | |||
'/supply/index', | |||
'/interaction/index', | |||
'/register/index', | |||
@@ -166,6 +170,9 @@ const whiteList = [ | |||
'/agriculturalTrusteeship/societyProjectList',//社会化产品列表 | |||
'/agriculturalTrusteeship/societyProjectDetail',//社会化产品详情 | |||
'/agriculturalTrusteeship/shopList',//保险列表首页 | |||
'/agriculturalTrusteeship/shopNeedsList',//保险列表首页 | |||
'/agriculturalTrusteeship/shopOrganizationDetail',//保险列表首页 | |||
'/agriculturalTrusteeship/shopDepositDetail',//保险列表首页 | |||
'/agriculturalTrusteeship/shopDetail',//保险列表详情 | |||
'/agriculturalTrusteeship/shopEdit',//保险列表详情 | |||
'/agriculturalTrusteeship/shopAdd',//保险列表首页 | |||
@@ -111,6 +111,33 @@ export const constantRoutes = [ | |||
}, | |||
component: (resolve) => require(['@/views/project/projectDetail'], resolve) | |||
}, | |||
{ | |||
path: '/project/projectNeedsDetail', | |||
name: 'projectNeedsDetail', | |||
meta: { | |||
title: '需求项目', | |||
hidden: true | |||
}, | |||
component: (resolve) => require(['@/views/project/projectNeedsDetail'], resolve) | |||
}, | |||
{ | |||
path: '/notice/inviteTendersDetail', | |||
name: 'inviteTendersDetail', | |||
meta: { | |||
title: '招标公告', | |||
hidden: true | |||
}, | |||
component: (resolve) => require(['@/views/notice/inviteTendersDetail'], resolve) | |||
}, | |||
{ | |||
path: '/notice/winTheBiddingDetail', | |||
name: 'winTheBiddingDetail', | |||
meta: { | |||
title: '中标公告', | |||
hidden: true | |||
}, | |||
component: (resolve) => require(['@/views/notice/winTheBiddingDetail'], resolve) | |||
}, | |||
{ | |||
path: '/news/index', | |||
name: 'news', | |||
@@ -5110,6 +5137,33 @@ export const constantRoutes = [ | |||
}, | |||
component: (resolve) => require(['@/views/agriculturalTrusteeship/shop/shopList'], resolve) | |||
}, | |||
{ | |||
path: '/agriculturalTrusteeship/shopNeedsList', | |||
name: 'agriculturalTrusteeshipShopNeedsList', | |||
meta: { | |||
title: '贷款需求', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/agriculturalTrusteeship/shop/shopNeedsList'], resolve) | |||
}, | |||
{ | |||
path: '/agriculturalTrusteeship/shopOrganizationDetail', | |||
name: 'agriculturalTrusteeshipShopOrganizationDetail', | |||
meta: { | |||
title: '服务组织', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/agriculturalTrusteeship/shop/shopOrganizationDetail'], resolve) | |||
}, | |||
{ | |||
path: '/agriculturalTrusteeship/shopDepositDetail', | |||
name: 'agriculturalTrusteeshipShopDepositDetail', | |||
meta: { | |||
title: '托管主体', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/agriculturalTrusteeship/shop/shopDepositDetail'], resolve) | |||
}, | |||
{ | |||
path: '/agriculturalTrusteeship/serviceEdit', | |||
name: 'agriculturalTrusteeshipServiceEdit', | |||
@@ -0,0 +1,394 @@ | |||
<template> | |||
<div class="home_wrapper"> | |||
<!-- 头部开始 --> | |||
<div class="header"> | |||
<div class="header_left" @click="onClickLeft"> | |||
<img src="../../../../static/images/agriculturalTrusteeship/return.png"> | |||
<p>需求详情</p> | |||
</div> | |||
</div> | |||
<!-- 头部结束 --> | |||
<!-- 内容开始 --> | |||
<div class="main"> | |||
<div class="main_content_right_list"> | |||
<div class="main_tit"> | |||
<i></i> | |||
<p>家家加加加加加加加就爱简爱家合作社</p> | |||
</div> | |||
<p class="main_content">村口需要水牛石头诚招水牛贷款联系电话165822本人人品优良绝不拖欠还款。</p> | |||
<div class="main_money"> | |||
<p><span>需求金额</span><span>¥</span>512,000.00</p> | |||
</div> | |||
<van-divider /> | |||
<van-field | |||
readonly | |||
label="负责人" | |||
input-align="right" | |||
:border="false" | |||
placeholder="负责人" | |||
/> | |||
<van-field | |||
readonly | |||
label="联系方式" | |||
input-align="right" | |||
:border="false" | |||
placeholder="联系方式" | |||
/> | |||
<van-field | |||
readonly | |||
label="地址" | |||
input-align="right" | |||
:border="false" | |||
placeholder="地址" | |||
/> | |||
</div> | |||
<div class="main_content_right_list2"> | |||
<div> | |||
<p>托管农户数(户)</p> | |||
<p>366</p> | |||
</div> | |||
<div> | |||
<p>托管面积(亩)</p> | |||
<p>366</p> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- 内容结束 --> | |||
</div> | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import {productList, productOut, productIn, serviceGet, treeselect} from "@/api/agriculturalTrusteeship"; | |||
export default { | |||
name: "shopOrganizationDetail", | |||
data() { | |||
return { | |||
}; | |||
}, | |||
created() { | |||
}, | |||
methods: { | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.home_wrapper{ | |||
background: #f9f9f9; | |||
height: 100vh; | |||
overflow: hidden; | |||
} | |||
/*头部*/ | |||
.header{ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
padding: 2vh 4% 2vh; | |||
.header_left{ | |||
display: flex; | |||
align-items: center; | |||
p{ | |||
font-size: .4rem; | |||
color: #ffffff; | |||
line-height: 1; | |||
margin-left: 10PX; | |||
} | |||
} | |||
.header_right{ | |||
font-size: .35rem; | |||
background: #334281; | |||
padding: 2PX 10PX; | |||
border-radius: 50PX; | |||
/deep/ .van-checkbox__icon--checked .van-icon{ | |||
color: #334281; | |||
} | |||
/deep/ .van-checkbox__label{ | |||
color: #ffffff; | |||
} | |||
/deep/ .van-checkbox__icon .van-icon{ | |||
width: .9em; | |||
height: .9em; | |||
line-height: .9em; | |||
} | |||
/deep/ .van-icon-success::before{ | |||
width: .9em; | |||
height: .9em; | |||
} | |||
/deep/ .van-checkbox__icon{ | |||
height: auto; | |||
} | |||
} | |||
} | |||
.main_btn{ | |||
display: flex; | |||
background: #ffffff; | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
padding: 4vw 4% 0; | |||
justify-content: space-between; | |||
.btn_box_01{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
border: 1Px dashed #4E7FFF; | |||
color: #4E7FFF; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p:first-child{ | |||
font-weight: bold; | |||
margin-right: 5PX; | |||
} | |||
} | |||
.btn_box_02{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
background: rgba(78,127,255,0.17); | |||
color: #1E49BB; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p{ | |||
margin-left: 5PX; | |||
} | |||
} | |||
} | |||
.serviceName{ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
span{ | |||
background: #E8E8E8; | |||
padding: 0 8PX; | |||
border-radius: 5PX; | |||
color: #7A7A7A; | |||
margin-right: 5PX; | |||
} | |||
.active{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
color: #ffffff; | |||
} | |||
} | |||
.nav{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
padding-bottom: 15PX; | |||
.tt{ | |||
font-size: .45rem; | |||
color: #334281; | |||
} | |||
.content{ | |||
background: #ffffff; | |||
width: 92%; | |||
margin: 0 auto; | |||
box-shadow: 0px 0px 10PX rgba(0,0,0,0.1); | |||
border-radius: 25PX; | |||
padding: 1.5vh 4%; | |||
} | |||
/deep/ .van-cell{ | |||
padding: 0; | |||
margin-bottom: 10PX; | |||
&:last-child{ | |||
margin: 0; | |||
} | |||
} | |||
} | |||
/* 内容 */ | |||
.main{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
background-size: 100% 20PX; | |||
background-repeat: no-repeat; | |||
/deep/ .van-tabs__nav{ | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
background: #f9f9f9; | |||
} | |||
/deep/ .van-tabs__line{ | |||
background: #334281!important; | |||
} | |||
/deep/ .van-tab--active{ | |||
color: #334281; | |||
} | |||
/deep/ .van-tabs__content{ | |||
background: #f9f9f9; | |||
padding-top: 2vh; | |||
} | |||
.search{ | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
width: 92%; | |||
margin: 0PX auto; | |||
border: 1px solid #6E93F3; | |||
padding: 1PX 1PX 1PX 12PX ; | |||
border-radius: 50PX; | |||
input{ | |||
flex: 1; | |||
background: transparent; | |||
margin-left: 10PX; | |||
} | |||
} | |||
.content{ | |||
width: 92%; | |||
margin: 0 auto; | |||
margin-top: 2vh; | |||
.content_tt{ | |||
font-size: .35rem; | |||
} | |||
.content_con{ | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 1.5vh; | |||
.content_con_left{ | |||
display: flex; | |||
flex-direction:column; | |||
justify-content: space-between; | |||
p{ | |||
font-size: .35rem; | |||
padding-left: 18PX; | |||
&:nth-child(1){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_project.png") no-repeat left center; | |||
} | |||
&:nth-child(2){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_name.png") no-repeat left center; | |||
} | |||
&:nth-child(3){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_iphone.png") no-repeat left center; | |||
} | |||
} | |||
} | |||
.content_con_right{ | |||
display: flex; | |||
justify-content: end; | |||
align-items: center; | |||
img{ | |||
border-radius: 10PX; | |||
width: 40%; | |||
margin-left: 5%; | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.2); | |||
&:last-child{ | |||
width: auto; | |||
box-shadow: none; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.main_content_right_list{ | |||
margin: 0 auto; | |||
margin-bottom: 2vh; | |||
width: 92%; | |||
background: #ffffff; | |||
padding: 15PX 3%; | |||
border-radius: 10Px; | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.1); | |||
text-align: center; | |||
/deep/ .van-cell{ | |||
padding: 0; | |||
margin-bottom: 10PX; | |||
&:last-child{ | |||
margin: 0; | |||
} | |||
} | |||
.main_content{ | |||
font-size: .35rem; | |||
line-height: .7rem; | |||
margin-top: 10PX; | |||
text-align: left; | |||
} | |||
.main_tit{ | |||
color: #4E7FFF; | |||
font-size: .38rem; | |||
display: flex; | |||
align-items: center; | |||
i{ | |||
display: block; | |||
width: 16PX; | |||
height: 16PX; | |||
margin-right: 5PX; | |||
flex-shrink: 0; | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/shop_needs_icon01.png"); | |||
} | |||
p{ | |||
display: -webkit-box; | |||
-webkit-box-orient: vertical; | |||
-webkit-line-clamp: 1; | |||
word-break: break-all; | |||
overflow: hidden; | |||
} | |||
span{ | |||
font-size: .3rem; | |||
color: #8B8B8B; | |||
flex-shrink: 0; | |||
} | |||
} | |||
.main_money{ | |||
background: rgba(255,94,0,0.15); | |||
display: inline-block; | |||
padding: 5PX 15PX; | |||
border-radius: 8PX; | |||
margin: 10PX auto; | |||
p{ | |||
&:nth-child(1){ | |||
color: #FF5E00; | |||
font-size: .4rem; | |||
span{ | |||
font-size: .3rem; | |||
} | |||
} | |||
&:nth-child(2){ | |||
color: #8B8B8B; | |||
font-size: .35rem; | |||
} | |||
} | |||
span:nth-child(1){ | |||
margin-right: 5PX; | |||
} | |||
} | |||
} | |||
.main_content_right_list2{ | |||
margin: 0 auto; | |||
margin-bottom: 2vh; | |||
width: 92%; | |||
display: flex; | |||
justify-content: space-between; | |||
div{ | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.1); | |||
width: 48%; | |||
background: #ffffff; | |||
text-align: center; | |||
padding: 10PX 0; | |||
border-radius: 10Px; | |||
p{ | |||
&:nth-child(1){ | |||
font-size: .38rem; | |||
color: #8B8B8B; | |||
} | |||
&:nth-child(2){ | |||
font-size: .4rem; | |||
color: #4E7FFF; | |||
margin-top: 10PX; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
</style> |
@@ -75,11 +75,31 @@ | |||
<!-- 内容开始 --> | |||
<div class="main"> | |||
<van-tabs v-model="active" sticky animated> | |||
<van-tab title="服务中"> | |||
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_add.png" style="margin: 0 auto;display: block;width: 94%;" @click="$router.push({name:'agriculturalTrusteeshipShopAdd'})"> | |||
<div class="main_btn" v-if="serviceForm.financialType == '1'"> | |||
<div class="btn_box_01" @click="$router.push({name:'agriculturalTrusteeshipShopAdd'})"> | |||
<p>+</p> | |||
<p>发布新产品</p> | |||
</div> | |||
<div class="btn_box_02" @click="$router.push({name:'agriculturalTrusteeshipShopNeedsList'})"> | |||
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_see2.png" alt=""> | |||
<p>查看贷款需求</p> | |||
</div> | |||
<!-- <img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_add2.png" style="margin: 0 auto;display: block;" @click="$router.push({name:'agriculturalTrusteeshipShopAdd'})">--> | |||
<!-- <img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_see.png" style="margin: 0 auto;display: block;" @click="$router.push({name:'agriculturalTrusteeshipShopAdd'})">--> | |||
</div> | |||
<div class="main_btn" v-else> | |||
<div class="btn_box_01" style="width: 100%;" @click="$router.push({name:'agriculturalTrusteeshipShopAdd'})"> | |||
<p>+</p> | |||
<p>发布新产品</p> | |||
</div> | |||
</div> | |||
<van-tabs v-model="active" sticky animated> | |||
<van-tab title="服务中"> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
@@ -139,6 +159,7 @@ | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import {productList, productOut, productIn, serviceGet, treeselect} from "@/api/agriculturalTrusteeship"; | |||
import {Dialog} from "vant"; | |||
export default { | |||
name: "agriculturalTrusteeshipShopList", | |||
data() { | |||
@@ -178,7 +199,19 @@ | |||
methods: { | |||
getDetail(){ | |||
serviceGet(Cookies.get('ACCESS-SESSION-ID')).then(response => { | |||
this.serviceForm = response.data; | |||
if (response.code == 200){ | |||
this.serviceForm = response.data; | |||
}else{ | |||
Dialog.confirm({ | |||
title: '系统提示', | |||
message: '登录状态已过期,请重新登录', | |||
confirmButtonText: '重新登录', | |||
cancelButtonText: '取消' | |||
}).then(() => { | |||
window.location.href = '/agriculturalTrusteeship/login'; | |||
}); | |||
} | |||
}); | |||
}, | |||
getList(){ | |||
@@ -260,6 +293,45 @@ | |||
} | |||
} | |||
.main_btn{ | |||
display: flex; | |||
background: #ffffff; | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
padding: 4vw 4% 0; | |||
justify-content: space-between; | |||
.btn_box_01{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
border: 1Px dashed #4E7FFF; | |||
color: #4E7FFF; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p:first-child{ | |||
font-weight: bold; | |||
margin-right: 5PX; | |||
} | |||
} | |||
.btn_box_02{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
background: rgba(78,127,255,0.17); | |||
color: #1E49BB; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p{ | |||
margin-left: 5PX; | |||
} | |||
} | |||
} | |||
.serviceName{ | |||
display: flex; | |||
align-items: center; | |||
@@ -305,9 +377,9 @@ | |||
.main{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
/deep/ .van-tabs__nav{ | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
/*border-top-left-radius: 25PX;*/ | |||
/*border-top-right-radius: 25PX;*/ | |||
/*overflow: hidden;*/ | |||
} | |||
/deep/ .van-tabs__line{ | |||
background: #334281!important; | |||
@@ -0,0 +1,416 @@ | |||
<template> | |||
<div class="home_wrapper"> | |||
<!-- 头部开始 --> | |||
<div class="header"> | |||
<div class="header_left" @click="onClickLeft"> | |||
<img src="../../../../static/images/agriculturalTrusteeship/return.png"> | |||
<p>贷款需求</p> | |||
</div> | |||
<p class="header_right"> | |||
<van-checkbox v-model="checked" checked-color="#ffffff">只显示有资金需求</van-checkbox> | |||
</p> | |||
</div> | |||
<!-- 头部结束 --> | |||
<!-- 内容开始 --> | |||
<div class="main"> | |||
<van-tabs v-model="active" sticky animated> | |||
<van-tab title="服务组织(312)"> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
finished-text="没有更多了" | |||
> | |||
<!-- @load="getList" @load="onLoad"--> | |||
<div class="main_content_right_list" v-for="(item,index) in 5" :key="index" @click="$router.push({name:'agriculturalTrusteeshipShopOrganizationDetail'})"> | |||
<div class="main_tit"> | |||
<i></i> | |||
<p>家家加加加加加加加就爱简爱家合作社</p> | |||
</div> | |||
<div class="main_money"> | |||
<p><span>¥</span>512,000.00</p> | |||
<p>查看详情 ></p> | |||
</div> | |||
</div> | |||
</van-list> | |||
</van-tab> | |||
<van-tab title="托管主体(201)"> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
finished-text="没有更多了" | |||
> | |||
<!-- @load="getList" @load="onLoad"--> | |||
<div class="main_content_right_list" v-for="(item,index) in 5" :key="index" @click="$router.push({name:'agriculturalTrusteeshipShopDepositDetail'})"> | |||
<div class="main_tit"> | |||
<i></i> | |||
<p>家家加加加加加加加就爱简爱家合作社</p> | |||
</div> | |||
<div class="main_money"> | |||
<p><span>¥</span>512,000.00</p> | |||
<p>查看详情 ></p> | |||
</div> | |||
</div> | |||
</van-list> | |||
</van-tab> | |||
</van-tabs> | |||
</div> | |||
<!-- 内容结束 --> | |||
</div> | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import {productList, productOut, productIn, serviceGet, treeselect} from "@/api/agriculturalTrusteeship"; | |||
export default { | |||
name: "agriculturalTrusteeshipShopList", | |||
data() { | |||
return { | |||
activeKey: 0, | |||
active: 0, | |||
loading: false, | |||
finished: false, | |||
checked: false, | |||
productList:[], | |||
productListYes:[], | |||
productListNo:[], | |||
query:{ | |||
financialServiceId:Cookies.get('ACCESS-SESSION-ID'), | |||
pageNum:1, | |||
pageSize:'10', | |||
}, | |||
serviceForm:{}, | |||
deptOptions:[], | |||
deptName:'张村', | |||
showDeptId:false, | |||
villageValue : '', | |||
hcAreaInfoFieldName: { | |||
text: "label", | |||
value: "value", | |||
children: "children", | |||
}, | |||
}; | |||
}, | |||
created() { | |||
this.getDetail(); | |||
treeselect().then(res=>{ | |||
if (res.code == 200) { | |||
this.deptOptions = res.data; | |||
} | |||
}) | |||
}, | |||
methods: { | |||
getDetail(){ | |||
serviceGet(Cookies.get('ACCESS-SESSION-ID')).then(response => { | |||
this.serviceForm = response.data; | |||
}); | |||
}, | |||
getList(){ | |||
productList(this.query).then(response => { | |||
response.rows.map(res=>{ | |||
if (res.mainImg){ | |||
let supplyMasterMap = res.mainImg.split( "," ) | |||
res.mainImg = '/api'+supplyMasterMap[0] | |||
} | |||
if(res.sysYesNo == 'Y'){ | |||
this.productListYes.push(res); | |||
} | |||
if(res.sysYesNo == 'N'){ | |||
this.productListNo.push(res); | |||
} | |||
this.productList.push(res); | |||
}) | |||
if(this.productList.length >= response.total){ | |||
this.finished = true; | |||
return; | |||
}else{ | |||
this.loading = false; | |||
this.query.pageNum += 1 ; | |||
} | |||
}); | |||
}, | |||
productIn(id){ | |||
productIn(id).then(response => { | |||
this.$notify({ type: 'success', message: '上架成功' }); | |||
location.reload() | |||
}); | |||
}, | |||
productOut(id){ | |||
productOut(id).then(response => { | |||
this.$notify({ type: 'success', message: '下架成功' }); | |||
location.reload() | |||
}); | |||
}, | |||
//选择案件属地 | |||
onConfirmDept({ selectedOptions }){ | |||
this.query.deptId = selectedOptions[selectedOptions.length-1].value; | |||
this.deptName = selectedOptions[selectedOptions.length-1].label; | |||
this.showDeptId = false | |||
this.productListYes = []; | |||
this.productListNo = []; | |||
this.getList(); | |||
}, | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.home_wrapper{ | |||
background: #f9f9f9; | |||
height: 100vh; | |||
overflow: hidden; | |||
} | |||
/*头部*/ | |||
.header{ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
padding: 2vh 4% 2vh; | |||
.header_left{ | |||
display: flex; | |||
align-items: center; | |||
p{ | |||
font-size: .4rem; | |||
color: #ffffff; | |||
line-height: 1; | |||
margin-left: 10PX; | |||
} | |||
} | |||
.header_right{ | |||
font-size: .35rem; | |||
background: #334281; | |||
padding: 2PX 10PX; | |||
border-radius: 50PX; | |||
/deep/ .van-checkbox__icon--checked .van-icon{ | |||
color: #334281; | |||
} | |||
/deep/ .van-checkbox__label{ | |||
color: #ffffff; | |||
} | |||
/deep/ .van-checkbox__icon .van-icon{ | |||
width: .9em; | |||
height: .9em; | |||
line-height: .9em; | |||
} | |||
/deep/ .van-icon-success::before{ | |||
width: .9em; | |||
height: .9em; | |||
} | |||
/deep/ .van-checkbox__icon{ | |||
height: auto; | |||
} | |||
} | |||
} | |||
.main_btn{ | |||
display: flex; | |||
background: #ffffff; | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
padding: 4vw 4% 0; | |||
justify-content: space-between; | |||
.btn_box_01{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
border: 1Px dashed #4E7FFF; | |||
color: #4E7FFF; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p:first-child{ | |||
font-weight: bold; | |||
margin-right: 5PX; | |||
} | |||
} | |||
.btn_box_02{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
background: rgba(78,127,255,0.17); | |||
color: #1E49BB; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p{ | |||
margin-left: 5PX; | |||
} | |||
} | |||
} | |||
.serviceName{ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
span{ | |||
background: #E8E8E8; | |||
padding: 0 8PX; | |||
border-radius: 5PX; | |||
color: #7A7A7A; | |||
margin-right: 5PX; | |||
} | |||
.active{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
color: #ffffff; | |||
} | |||
} | |||
.nav{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
padding-bottom: 15PX; | |||
.tt{ | |||
font-size: .45rem; | |||
color: #334281; | |||
} | |||
.content{ | |||
background: #ffffff; | |||
width: 92%; | |||
margin: 0 auto; | |||
box-shadow: 0px 0px 10PX rgba(0,0,0,0.1); | |||
border-radius: 25PX; | |||
padding: 1.5vh 4%; | |||
} | |||
/deep/ .van-cell{ | |||
padding: 0; | |||
margin-bottom: 10PX; | |||
&:last-child{ | |||
margin: 0; | |||
} | |||
} | |||
} | |||
/* 内容 */ | |||
.main{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
/deep/ .van-tabs__nav{ | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
background: #f9f9f9; | |||
} | |||
/deep/ .van-tabs__line{ | |||
background: #334281!important; | |||
} | |||
/deep/ .van-tab--active{ | |||
color: #334281; | |||
} | |||
/deep/ .van-tabs__content{ | |||
background: #f9f9f9; | |||
padding-top: 2vh; | |||
} | |||
.search{ | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
width: 92%; | |||
margin: 0PX auto; | |||
border: 1px solid #6E93F3; | |||
padding: 1PX 1PX 1PX 12PX ; | |||
border-radius: 50PX; | |||
input{ | |||
flex: 1; | |||
background: transparent; | |||
margin-left: 10PX; | |||
} | |||
} | |||
.content{ | |||
width: 92%; | |||
margin: 0 auto; | |||
margin-top: 2vh; | |||
.content_tt{ | |||
font-size: .35rem; | |||
} | |||
.content_con{ | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 1.5vh; | |||
.content_con_left{ | |||
display: flex; | |||
flex-direction:column; | |||
justify-content: space-between; | |||
p{ | |||
font-size: .35rem; | |||
padding-left: 18PX; | |||
&:nth-child(1){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_project.png") no-repeat left center; | |||
} | |||
&:nth-child(2){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_name.png") no-repeat left center; | |||
} | |||
&:nth-child(3){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_iphone.png") no-repeat left center; | |||
} | |||
} | |||
} | |||
.content_con_right{ | |||
display: flex; | |||
justify-content: end; | |||
align-items: center; | |||
img{ | |||
border-radius: 10PX; | |||
width: 40%; | |||
margin-left: 5%; | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.2); | |||
&:last-child{ | |||
width: auto; | |||
box-shadow: none; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.main_content_right_list{ | |||
margin: 0 auto; | |||
margin-bottom: 2vh; | |||
width: 92%; | |||
background: #ffffff; | |||
padding: 15PX 3%; | |||
border-radius: 10Px; | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.1); | |||
.main_tit{ | |||
font-size: .38rem; | |||
display: flex; | |||
align-items: center; | |||
i{ | |||
display: block; | |||
width: 16PX; | |||
height: 16PX; | |||
margin-right: 5PX; | |||
flex-shrink: 0; | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/shop_needs_icon.png"); | |||
} | |||
p{ | |||
display: -webkit-box; | |||
-webkit-box-orient: vertical; | |||
-webkit-line-clamp: 1; | |||
word-break: break-all; | |||
overflow: hidden; | |||
} | |||
} | |||
.main_money{ | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 5PX; | |||
p{ | |||
&:nth-child(1){ | |||
color: #FF5E00; | |||
font-size: .4rem; | |||
span{ | |||
font-size: .3rem; | |||
} | |||
} | |||
&:nth-child(2){ | |||
color: #8B8B8B; | |||
font-size: .35rem; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
</style> |
@@ -0,0 +1,442 @@ | |||
<template> | |||
<div class="home_wrapper"> | |||
<!-- 头部开始 --> | |||
<div class="header"> | |||
<div class="header_left" @click="onClickLeft"> | |||
<img src="../../../../static/images/agriculturalTrusteeship/return.png"> | |||
<p>需求详情</p> | |||
</div> | |||
</div> | |||
<!-- 头部结束 --> | |||
<!-- 内容开始 --> | |||
<div class="main"> | |||
<div class="main_content_right_list"> | |||
<div class="main_tit"> | |||
<i></i> | |||
<p>家家加加加加加加加就爱简爱家合作社</p> | |||
</div> | |||
<p class="main_content">村口需要水牛石头诚招水牛贷款联系电话165822本人人品优良绝不拖欠还款。</p> | |||
<div class="main_money"> | |||
<p><span>需求金额</span><span>¥</span>512,000.00</p> | |||
</div> | |||
<van-divider /> | |||
<van-field | |||
readonly | |||
label="负责人" | |||
input-align="right" | |||
:border="false" | |||
placeholder="负责人" | |||
/> | |||
<van-field | |||
readonly | |||
label="联系方式" | |||
input-align="right" | |||
:border="false" | |||
placeholder="联系方式" | |||
/> | |||
<van-field | |||
readonly | |||
label="地址" | |||
input-align="right" | |||
:border="false" | |||
placeholder="地址" | |||
/> | |||
</div> | |||
<div class="main_content_right_list2" v-for="(item,index) in 5" :key="index" @click="$router.push({name:'agriculturalTrusteeshipShopNeedsList'})"> | |||
<div class="main_tit"> | |||
<p>家家加加加加加加加就爱简爱家合作社</p> | |||
<span>(1/10)</span> | |||
</div> | |||
<div class="main_content"> | |||
<p>玉米</p> | |||
<p>32022亩</p> | |||
</div> | |||
<div class="main_money"> | |||
<p><i></i>丰田村</p> | |||
<p><i></i>2023.03.15-2024.09.15</p> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- 内容结束 --> | |||
</div> | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import {productList, productOut, productIn, serviceGet, treeselect} from "@/api/agriculturalTrusteeship"; | |||
export default { | |||
name: "shopOrganizationDetail", | |||
data() { | |||
return { | |||
}; | |||
}, | |||
created() { | |||
}, | |||
methods: { | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.home_wrapper{ | |||
background: #f9f9f9; | |||
height: 100vh; | |||
overflow: hidden; | |||
} | |||
/*头部*/ | |||
.header{ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
padding: 2vh 4% 2vh; | |||
.header_left{ | |||
display: flex; | |||
align-items: center; | |||
p{ | |||
font-size: .4rem; | |||
color: #ffffff; | |||
line-height: 1; | |||
margin-left: 10PX; | |||
} | |||
} | |||
.header_right{ | |||
font-size: .35rem; | |||
background: #334281; | |||
padding: 2PX 10PX; | |||
border-radius: 50PX; | |||
/deep/ .van-checkbox__icon--checked .van-icon{ | |||
color: #334281; | |||
} | |||
/deep/ .van-checkbox__label{ | |||
color: #ffffff; | |||
} | |||
/deep/ .van-checkbox__icon .van-icon{ | |||
width: .9em; | |||
height: .9em; | |||
line-height: .9em; | |||
} | |||
/deep/ .van-icon-success::before{ | |||
width: .9em; | |||
height: .9em; | |||
} | |||
/deep/ .van-checkbox__icon{ | |||
height: auto; | |||
} | |||
} | |||
} | |||
.main_btn{ | |||
display: flex; | |||
background: #ffffff; | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
padding: 4vw 4% 0; | |||
justify-content: space-between; | |||
.btn_box_01{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
border: 1Px dashed #4E7FFF; | |||
color: #4E7FFF; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p:first-child{ | |||
font-weight: bold; | |||
margin-right: 5PX; | |||
} | |||
} | |||
.btn_box_02{ | |||
width: 48%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
background: rgba(78,127,255,0.17); | |||
color: #1E49BB; | |||
font-size: .35rem; | |||
line-height: 15vw; | |||
border-radius: 10Px; | |||
p{ | |||
margin-left: 5PX; | |||
} | |||
} | |||
} | |||
.serviceName{ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
span{ | |||
background: #E8E8E8; | |||
padding: 0 8PX; | |||
border-radius: 5PX; | |||
color: #7A7A7A; | |||
margin-right: 5PX; | |||
} | |||
.active{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
color: #ffffff; | |||
} | |||
} | |||
.nav{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
padding-bottom: 15PX; | |||
.tt{ | |||
font-size: .45rem; | |||
color: #334281; | |||
} | |||
.content{ | |||
background: #ffffff; | |||
width: 92%; | |||
margin: 0 auto; | |||
box-shadow: 0px 0px 10PX rgba(0,0,0,0.1); | |||
border-radius: 25PX; | |||
padding: 1.5vh 4%; | |||
} | |||
/deep/ .van-cell{ | |||
padding: 0; | |||
margin-bottom: 10PX; | |||
&:last-child{ | |||
margin: 0; | |||
} | |||
} | |||
} | |||
/* 内容 */ | |||
.main{ | |||
background-image: linear-gradient(to right , #6E93F3 , #7E89E9 , #54C6E4); | |||
background-size: 100% 20PX; | |||
background-repeat: no-repeat; | |||
/deep/ .van-tabs__nav{ | |||
border-top-left-radius: 25PX; | |||
border-top-right-radius: 25PX; | |||
overflow: hidden; | |||
background: #f9f9f9; | |||
} | |||
/deep/ .van-tabs__line{ | |||
background: #334281!important; | |||
} | |||
/deep/ .van-tab--active{ | |||
color: #334281; | |||
} | |||
/deep/ .van-tabs__content{ | |||
background: #f9f9f9; | |||
padding-top: 2vh; | |||
} | |||
.search{ | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
width: 92%; | |||
margin: 0PX auto; | |||
border: 1px solid #6E93F3; | |||
padding: 1PX 1PX 1PX 12PX ; | |||
border-radius: 50PX; | |||
input{ | |||
flex: 1; | |||
background: transparent; | |||
margin-left: 10PX; | |||
} | |||
} | |||
.content{ | |||
width: 92%; | |||
margin: 0 auto; | |||
margin-top: 2vh; | |||
.content_tt{ | |||
font-size: .35rem; | |||
} | |||
.content_con{ | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 1.5vh; | |||
.content_con_left{ | |||
display: flex; | |||
flex-direction:column; | |||
justify-content: space-between; | |||
p{ | |||
font-size: .35rem; | |||
padding-left: 18PX; | |||
&:nth-child(1){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_project.png") no-repeat left center; | |||
} | |||
&:nth-child(2){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_name.png") no-repeat left center; | |||
} | |||
&:nth-child(3){ | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_iphone.png") no-repeat left center; | |||
} | |||
} | |||
} | |||
.content_con_right{ | |||
display: flex; | |||
justify-content: end; | |||
align-items: center; | |||
img{ | |||
border-radius: 10PX; | |||
width: 40%; | |||
margin-left: 5%; | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.2); | |||
&:last-child{ | |||
width: auto; | |||
box-shadow: none; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
.main_content_right_list{ | |||
margin: 0 auto; | |||
margin-bottom: 2vh; | |||
width: 92%; | |||
background: #ffffff; | |||
padding: 15PX 3%; | |||
border-radius: 10Px; | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.1); | |||
text-align: center; | |||
/deep/ .van-cell{ | |||
padding: 0; | |||
margin-bottom: 10PX; | |||
&:last-child{ | |||
margin: 0; | |||
} | |||
} | |||
.main_content{ | |||
font-size: .35rem; | |||
line-height: .7rem; | |||
margin-top: 10PX; | |||
text-align: left; | |||
} | |||
.main_tit{ | |||
color: #4E7FFF; | |||
font-size: .38rem; | |||
display: flex; | |||
align-items: center; | |||
i{ | |||
display: block; | |||
width: 16PX; | |||
height: 16PX; | |||
margin-right: 5PX; | |||
flex-shrink: 0; | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/shop_needs_icon01.png"); | |||
} | |||
p{ | |||
display: -webkit-box; | |||
-webkit-box-orient: vertical; | |||
-webkit-line-clamp: 1; | |||
word-break: break-all; | |||
overflow: hidden; | |||
} | |||
span{ | |||
font-size: .3rem; | |||
color: #8B8B8B; | |||
flex-shrink: 0; | |||
} | |||
} | |||
.main_money{ | |||
background: rgba(255,94,0,0.15); | |||
display: inline-block; | |||
padding: 5PX 15PX; | |||
border-radius: 8PX; | |||
margin: 10PX auto; | |||
p{ | |||
&:nth-child(1){ | |||
color: #FF5E00; | |||
font-size: .4rem; | |||
span{ | |||
font-size: .3rem; | |||
} | |||
} | |||
&:nth-child(2){ | |||
color: #8B8B8B; | |||
font-size: .35rem; | |||
} | |||
} | |||
span:nth-child(1){ | |||
margin-right: 5PX; | |||
} | |||
} | |||
} | |||
.main_content_right_list2{ | |||
margin: 0 auto; | |||
margin-bottom: 2vh; | |||
width: 92%; | |||
background: #ffffff; | |||
padding: 15PX 3%; | |||
border-radius: 10Px; | |||
box-shadow: 0px 5PX 10PX rgba(0,0,0,0.1); | |||
.main_tit{ | |||
font-size: .38rem; | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
p{ | |||
display: -webkit-box; | |||
-webkit-box-orient: vertical; | |||
-webkit-line-clamp: 1; | |||
word-break: break-all; | |||
overflow: hidden; | |||
} | |||
span{ | |||
font-size: .3rem; | |||
color: #8B8B8B; | |||
flex-shrink: 0; | |||
} | |||
} | |||
.main_money{ | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 10PX; | |||
p{ | |||
font-size: .35rem; | |||
color: #8B8B8B; | |||
display: flex; | |||
align-items: center; | |||
&:nth-child(1){ | |||
i{ | |||
display: inline-block; | |||
width: 11PX; | |||
height: 13Px; | |||
margin-right: 2PX; | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/shop_needs_icon02.png"); | |||
} | |||
} | |||
&:nth-child(2){ | |||
i{ | |||
display: inline-block; | |||
width: 13PX; | |||
height: 13Px; | |||
margin-right: 2PX; | |||
background: url("../../../../static/images/agriculturalTrusteeship/insurance/shop_needs_icon03.png"); | |||
} | |||
} | |||
} | |||
} | |||
.main_content{ | |||
font-size: .35rem; | |||
line-height: .6rem; | |||
margin-top: 10PX; | |||
display: flex; | |||
justify-content: space-between; | |||
p{ | |||
color: #4E7FFF; | |||
&:nth-child(1){ | |||
background: rgba(78,127,255,0.13); | |||
padding: 0 15PX; | |||
border-radius: 5PX; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
</style> |
@@ -24,7 +24,7 @@ | |||
</van-cell> | |||
</van-list> | |||
</van-tab> | |||
<van-tab title="选项"> | |||
<van-tab> | |||
<template #title><van-icon name="records" size="18" style="top: 4px"/>鉴证公告</template> | |||
<van-list | |||
v-model="attestationLoading" | |||
@@ -40,12 +40,44 @@ | |||
</van-cell> | |||
</van-list> | |||
</van-tab> | |||
<van-tab> | |||
<template #title><van-icon name="description" size="18" style="top: 4px"/>招标公告</template> | |||
<van-list | |||
v-model="inviteTendersLoading" | |||
:finished="inviteTendersFinished" | |||
finished-text="没有更多了" | |||
style="margin-top: 10px;" | |||
@load="getinviteTendersList" | |||
> | |||
<van-cell v-for="(item,index) in inviteTendersList" :key="index" icon="play" :title="item.projectName" :to="{name:'inviteTendersDetail', query: {id:item.id}}"> | |||
<template #label> | |||
招标方:{{item.tenderName}} <p style="float: right;">{{item.logintime}}</p> | |||
</template> | |||
</van-cell> | |||
</van-list> | |||
</van-tab> | |||
<van-tab> | |||
<template #title><van-icon name="completed" size="18" style="top: 4px"/>中标公告</template> | |||
<van-list | |||
v-model="winTheBiddingLoading" | |||
:finished="winTheBiddingFinished" | |||
finished-text="没有更多了" | |||
style="margin-top: 10px;" | |||
@load="getwinTheBiddingList" | |||
> | |||
<van-cell v-for="(item,index) in winTheBiddingList" :key="index" icon="play" :title="item.projectName" :to="{name:'winTheBiddingDetail', query: {id:item.id}}"> | |||
<template #label> | |||
招标方:{{item.tenderName}} <p style="float: right;">{{item.dealTime}}</p> | |||
</template> | |||
</van-cell> | |||
</van-list> | |||
</van-tab> | |||
</van-tabs> | |||
</div> | |||
</template> | |||
<script> | |||
import { noticeList , Attestation } from "@/api/notice/index"; | |||
import { noticeList , Attestation , tenderList , winList } from "@/api/notice/index"; | |||
export default { | |||
name: "notice", | |||
data() { | |||
@@ -58,8 +90,20 @@ export default { | |||
attestationLoading: false, | |||
//是否滚动到底部 | |||
attestationFinished: false, | |||
//是否显示加载 | |||
inviteTendersLoading: false, | |||
//是否滚动到底部 | |||
inviteTendersFinished: false, | |||
//是否显示加载 | |||
winTheBiddingLoading: false, | |||
//是否滚动到底部 | |||
winTheBiddingFinished: false, | |||
//成交公告集合 | |||
noticeList:[], | |||
//招标公告集合 | |||
inviteTendersList:[], | |||
//中标公告集合 | |||
winTheBiddingList:[], | |||
//鉴证公告集合 | |||
attestationList:[], | |||
//成交公告查询参数 | |||
@@ -68,6 +112,18 @@ export default { | |||
pageNum:1, | |||
pageSize:10 | |||
}, | |||
//招标公告查询参数 | |||
inviteTendersQueryParams: { | |||
deptId:100, | |||
pageNum:1, | |||
pageSize:10 | |||
}, | |||
//招标公告查询参数 | |||
winTheBiddingQueryParams: { | |||
deptId:100, | |||
pageNum:1, | |||
pageSize:10 | |||
}, | |||
//鉴证公告查询参数 | |||
attestationQueryParams: { | |||
deptId:100, | |||
@@ -107,6 +163,32 @@ export default { | |||
this.attestationLoading = false; | |||
}); | |||
}, | |||
//招标公告集合 | |||
getinviteTendersList(){ | |||
this.inviteTendersLoading = true; | |||
tenderList(this.inviteTendersQueryParams).then(response => { | |||
this.inviteTendersList = response.rows; | |||
if(this.inviteTendersList.length >= response.total){ | |||
this.inviteTendersFinished = true; | |||
return; | |||
} | |||
this.inviteTendersQueryParams.pageNum += 1 ; | |||
this.inviteTendersLoading = false; | |||
}); | |||
}, | |||
//招标公告集合 | |||
getwinTheBiddingList(){ | |||
this.winTheBiddingLoading = true; | |||
winList(this.winTheBiddingQueryParams).then(response => { | |||
this.winTheBiddingList = response.rows; | |||
if(this.winTheBiddingList.length >= response.total){ | |||
this.winTheBiddingFinished = true; | |||
return; | |||
} | |||
this.winTheBiddingQueryParams.pageNum += 1 ; | |||
this.winTheBiddingLoading = false; | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
@@ -0,0 +1,111 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
title="招标公告" | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="onClickLeft" | |||
/> | |||
<p class="title">{{attestationDetail.projectName}}</p> | |||
<van-row> | |||
<van-col>招标方名称:{{attestationDetail.tenderName}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>资金来源:{{attestationDetail.moneySource}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>招标代理公司:{{attestationDetail.agentName}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>联系人:{{attestationDetail.linkman}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>联系电话:{{attestationDetail.linkphone}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>联系地址:{{attestationDetail.linkaddress}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>招标方意见:{{attestationDetail.tenderOpinion}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>代理公司意见:{{attestationDetail.agentOpinion}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>建设地点:{{attestationDetail.address}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>建设工期:{{attestationDetail.timeLimit}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>项目规模:{{attestationDetail.scale}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>招标内容:{{attestationDetail.tenderContent}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>投标人要求:{{attestationDetail.condition}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>保证金:{{attestationDetail.deposit}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>招标文件价格(元):{{attestationDetail.price}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>招标发布日期:{{attestationDetail.logintime}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>招标书领取开始日期:{{attestationDetail.startTime}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>招标书领取结束日期:{{attestationDetail.stopTime}}</van-col> | |||
</van-row> | |||
</div> | |||
</template> | |||
<script> | |||
import { tenderDetail } from "@/api/notice/index"; | |||
export default { | |||
name: "noticeDetail", | |||
data() { | |||
return { | |||
attestationDetail:'' | |||
}; | |||
}, | |||
created() { | |||
this.getDetail(); | |||
}, | |||
methods: { | |||
//成交公告集合 | |||
getDetail(){ | |||
tenderDetail(this.$route.query.id,{translate_dict:1}).then(response => { | |||
this.attestationDetail = response.data; | |||
// //公司性质字典 | |||
// this.getDicts("company_nature").then(res => { | |||
// this.attestationDetail.companyNature = this.selectDictLabel(res.data,response.data.companyNature); | |||
// }); | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 0.5rem 5%; | |||
} | |||
.title{ | |||
font-size: 0.5rem; | |||
margin-bottom: 0.5rem; | |||
} | |||
.van-row{ | |||
margin-bottom: 0.4rem; | |||
} | |||
.van-col{ | |||
font-size: 0.4rem; | |||
color: #666666; | |||
} | |||
</style> |
@@ -0,0 +1,78 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
title="中标公告" | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="onClickLeft" | |||
/> | |||
<p class="title">{{attestationDetail.projectName}}</p> | |||
<van-row> | |||
<van-col>招标方名称:{{attestationDetail.tenderName}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>中标人:{{attestationDetail.assignee}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>建设单位:{{attestationDetail.bulidPart}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>项目负责人:{{attestationDetail.partLinkman}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>中标价格:{{attestationDetail.transactionPrice}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>中标日期:{{attestationDetail.dealTime}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>公示开始日期:{{attestationDetail.startTime}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>公示结束日期:{{attestationDetail.stopTime}}</van-col> | |||
</van-row> | |||
</div> | |||
</template> | |||
<script> | |||
import { tenderWinDetail } from "@/api/notice/index"; | |||
export default { | |||
name: "noticeDetail", | |||
data() { | |||
return { | |||
attestationDetail:'' | |||
}; | |||
}, | |||
created() { | |||
this.getDetail(); | |||
}, | |||
methods: { | |||
//成交公告集合 | |||
getDetail(){ | |||
console.log(this.$route.query.id) | |||
tenderWinDetail(this.$route.query.id,{translate_dict:1}).then(response => { | |||
this.attestationDetail = response.data; | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 0.5rem 5%; | |||
} | |||
.title{ | |||
font-size: 0.5rem; | |||
margin-bottom: 0.5rem; | |||
} | |||
.van-row{ | |||
margin-bottom: 0.4rem; | |||
} | |||
.van-col{ | |||
font-size: 0.4rem; | |||
color: #666666; | |||
} | |||
</style> |
@@ -50,10 +50,10 @@ | |||
</van-dropdown-item> | |||
</van-dropdown-menu> | |||
<van-list v-model="loading1" :finished="finished1" @load="getNeedProjectList" finished-text="没有更多了"> | |||
<router-link :to="{path:'project/projectDetail',query:{id:item.id}}" v-for="(item,index) in infoList1" :key="index"> | |||
<router-link :to="{path:'project/projectNeedsDetail',query:{id:item.id}}" v-for="(item,index) in infoList1" :key="index"> | |||
<van-card :thumb="item.fileUrl?'/api'+item.fileUrl:'../../static/images/zwtpxw.jpg'" > | |||
<template #tags> | |||
<p class="title">{{item.projectName}}</p> | |||
<p class="title">{{ item.projectName }}</p> | |||
<p class="type">{{ item.needname }}</p> | |||
<p class="timeEnd">需求开始时间 {{ item.needStartTime }}</p> | |||
<p class="timeEnd">需求结束时间 {{ item.needStopTime }}</p> | |||
@@ -67,11 +67,14 @@ | |||
<van-row> | |||
<van-col span="24"><span>竞价方式:</span>{{ detail.biddingType }}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col span="24"><span>竞价方向:</span>{{ detail.biddingDirect }}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col span="24"><span>阶梯价(加价幅度):</span>{{ detail.ladderPrice }}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col span="24"><span>延时周期:</span>2分钟报名<van-icon name="question" size="15" style="top: 3px;left: 5px;" color="#CDCDCD"/></van-col> | |||
<van-col span="24"><span>延时周期:</span>2分钟<van-icon name="question" size="15" style="top: 3px;left: 5px;" color="#CDCDCD"/></van-col> | |||
</van-row> | |||
</div> | |||
</van-tab> | |||
@@ -336,6 +339,9 @@ export default { | |||
this.getDicts("bidding_type").then(res => { | |||
this.detail.biddingType = this.selectDictLabel(res.data,response.data.biddingType); | |||
}); | |||
this.getDicts("bidding_direct").then(res => { | |||
this.detail.biddingDirect = this.selectDictLabel(res.data,response.data.biddingDirect); | |||
}); | |||
for(let i of this.detail.subjectList){ | |||
this.getDicts("area_unit").then(res => { | |||
i.areaUnit = this.selectDictLabel(res.data,i.areaUnit); | |||
@@ -346,6 +352,12 @@ export default { | |||
let signupStartTime = Date.parse(this.detail.signupStartTime)+0 | |||
let signupStopTime = Date.parse(this.detail.signupStopTime)+0 | |||
let nowDate = Date.parse(new Date()); | |||
console.log('biddingStartTime'+biddingStartTime) | |||
console.log('biddingStopTime'+biddingStopTime) | |||
console.log('signupStartTime'+signupStartTime) | |||
console.log('signupStopTime'+signupStopTime) | |||
if(signupStartTime>nowDate){ | |||
this.process= "报名未开始" | |||
this.tip=this.detail.signupStartTime+"开始报名" | |||
@@ -474,6 +486,11 @@ export default { | |||
}) | |||
}, | |||
add(){ | |||
if (this.detail.biddingDirect == '反向竞价'){ | |||
if(this.detail.price<this.price){ | |||
return; | |||
} | |||
} | |||
this.detail.ladderPrice?this.price=this.price+this.detail.ladderPrice:this.price+=1 | |||
}, | |||
sub(){ | |||
@@ -0,0 +1,115 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
title="需求项目" | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="onClickLeft" | |||
/> | |||
<p class="title">{{noticeDetail.projectName}}</p> | |||
<van-row> | |||
<van-col>需求项目类别:{{noticeDetail.projectNumber}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>需求价格描述:{{noticeDetail.price}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>需求方名称:{{noticeDetail.needname}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>需求方地址:{{noticeDetail.address}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>单位性质:{{noticeDetail.company}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>单位法人:{{noticeDetail.legalPerson}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>联系人:{{noticeDetail.realname}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>联系电话:{{noticeDetail.phone}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>身份证号:{{noticeDetail.idCardNum}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>邮箱:{{noticeDetail.email}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>需求开始时间:{{noticeDetail.needStartTime}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>需求结束时间:{{noticeDetail.needStopTime}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>用途与经营描述:{{noticeDetail.description}}</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col>附件图片:</van-col> | |||
</van-row> | |||
<van-row> | |||
<van-col><img :src="'/api'+item.fileUrl" v-for="(item , index) in noticeDetail.attachments" alt="" width="100%"></van-col> | |||
</van-row> | |||
</div> | |||
</template> | |||
<script> | |||
import { needProject } from "@/api/notice/index"; | |||
export default { | |||
name: "noticeDetail", | |||
data() { | |||
return { | |||
noticeDetail:'' | |||
}; | |||
}, | |||
created() { | |||
this.getDetail(); | |||
}, | |||
methods: { | |||
//成交公告集合 | |||
getDetail(){ | |||
needProject(this.$route.query.id,{translate_dict:1}).then(response => { | |||
this.noticeDetail = response.data; | |||
//转出方式字典 | |||
// this.getDicts("rollout_type").then(res => { | |||
// this.noticeDetail.rollout = this.selectDictLabel(res.data,response.data.rollout); | |||
// }); | |||
// //交易方式字典 | |||
// this.getDicts("deal_type").then(res => { | |||
// this.noticeDetail.dealType = this.selectDictLabel(res.data,response.data.dealType); | |||
// }); | |||
// //面积单位字典 | |||
// this.getDicts("area_unit").then(res => { | |||
// this.noticeDetail.allCountUnit = this.selectDictLabel(res.data,response.data.allCountUnit); | |||
// }); | |||
// //成交价格字典 | |||
// this.getDicts("price_unit").then(res => { | |||
// this.noticeDetail.unit = this.selectDictLabel(res.data,response.data.unit); | |||
// }); | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 0.5rem 5%; | |||
} | |||
.title{ | |||
font-size: 0.5rem; | |||
margin-bottom: 0.5rem; | |||
} | |||
.van-row{ | |||
margin-bottom: 0.4rem; | |||
} | |||
.van-col{ | |||
font-size: 0.4rem; | |||
color: #666666; | |||
} | |||
</style> |
@@ -36,17 +36,22 @@ | |||
<template #right> | |||
<div class="operation"> | |||
<!-- delete 删除 edit编辑 view查看 list榜单 --> | |||
<div class="opera_btn" style="margin-right: 10px;" v-if="!item.firstSigning" @click="openPopup(item.id)"> | |||
<div class="opera_btn" style="margin-right: 10px;" v-if="item.signingMode == '线上' && item.firstIsSign =='否' " @click="openPopup(item.id)"> | |||
<img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35"> | |||
<p>签名</p> | |||
</div> | |||
<div class="opera_btn" style="margin-right: 10px;"> | |||
<div class="opera_btn" style="margin-right: 10px;" v-if="item.signingMode == '线上' && item.attachement != null "> | |||
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | |||
<p>预览</p> | |||
</div> | |||
<div class="opera_btn"> | |||
<div class="opera_btn" v-if="item.signingMode == '线上' && item.isArchive == '是' "> | |||
<img src="../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||
<p>电子合同</p> | |||
</div> | |||
<div class="opera_btn" v-if="item.signingMode == '线下' "> | |||
<img src="../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||
<p>下载</p> | |||
<p>线下合同</p> | |||
</div> | |||
</div> | |||
</template> | |||
@@ -20,11 +20,11 @@ | |||
<div class="item" @click="goDetail(item.id)"> | |||
<div class="info"> | |||
<div class="title"> | |||
<i class="icon_box" v-if="item.firstSigning==null"></i> | |||
<i class="icon_box1" v-if="item.firstSigning!=null"></i> | |||
<p class="news_title" :style="{'color': item.firstSigning!=null?'#2bc30c':'#eb1616'}">{{item.contractCode}}</p> | |||
<p class="tips_mark" :style="{'color': item.firstSigning!=null?'#79bc29':'#f8a83d','background': item.firstSigning!=null?'#e8ffcd':'#ffedcd'}">{{item.signingMode}}</p> | |||
<p class="tips_mark2" :style="{'background': item.firstSigning!=null?'#2bc30c':'#eb1616'}">{{item.signingStatus}}</p> | |||
<i class="icon_box" v-if="item.secondSigning==null"></i> | |||
<i class="icon_box1" v-if="item.secondSigning!=null"></i> | |||
<p class="news_title" :style="{'color': item.secondSigning!=null?'#2bc30c':'#eb1616'}">{{item.contractCode}}</p> | |||
<p class="tips_mark" :style="{'color': item.secondSigning!=null?'#79bc29':'#f8a83d','background': item.secondSigning!=null?'#e8ffcd':'#ffedcd'}">{{item.signingMode}}</p> | |||
<p class="tips_mark2" :style="{'background': item.secondSigning!=null?'#2bc30c':'#eb1616'}">{{item.signingStatus}}</p> | |||
</div> | |||
<div class="time"> | |||
<p>{{item.contractName}}</p> | |||
@@ -35,17 +35,21 @@ | |||
<template #right> | |||
<div class="operation"> | |||
<!-- delete 删除 edit编辑 view查看 list榜单 --> | |||
<div class="opera_btn" style="margin-right: 10px;" v-if="!item.firstSigning" @click="openPopup(item.id)"> | |||
<div class="opera_btn" style="margin-right: 10px;" v-if="item.signingMode == '线上' && item.secondIsSign =='否' " @click="openPopup(item.id)"> | |||
<img src="../../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35"> | |||
<p>签名</p> | |||
</div> | |||
<div class="opera_btn" style="margin-right: 10px;"> | |||
<div class="opera_btn" style="margin-right: 10px;" v-if="item.signingMode == '线上' && item.attachement != null "> | |||
<img src="../../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> | |||
<p>预览</p> | |||
</div> | |||
<div class="opera_btn"> | |||
<div class="opera_btn" v-if="item.signingMode == '线上' && item.isArchive == '是' "> | |||
<img src="../../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||
<p>下载</p> | |||
<p>电子合同</p> | |||
</div> | |||
<div class="opera_btn" v-if="item.signingMode == '线下' "> | |||
<img src="../../../assets/images/sunVillage_info/signature_icon_04.png" alt="" width="35"> | |||
<p>线下合同</p> | |||
</div> | |||
</div> | |||
</template> | |||