Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
严立
/
cd-bid
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
2ed280d8
authored
Nov 12, 2020
by
严立
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
LL - 新增日历查看功能
parent
d4fb1cf2
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
488 additions
and
221 deletions
src/common/js/host.js
src/router/router.js
src/view/home.vue
src/view/public/bid-history.js
src/view/public/bid-history.vue
src/view/public/bid-list.vue
src/common/js/host.js
View file @
2ed280d8
...
@@ -5,7 +5,7 @@ let output = {
...
@@ -5,7 +5,7 @@ let output = {
resources
:
'http://bid-web.meiqicloud.com'
,
resources
:
'http://bid-web.meiqicloud.com'
,
agentSignIn
:
'http://bid-vue.meiqicloud.com/'
agentSignIn
:
'http://bid-vue.meiqicloud.com/'
// 正式环境
//
-
正式环境
// base: '/Api/',
// base: '/Api/',
// resources: 'https://www.fjbidding.com',
// resources: 'https://www.fjbidding.com',
// agentSignIn: 'https://www.fjbidding.com/admin/'
// agentSignIn: 'https://www.fjbidding.com/admin/'
...
...
src/router/router.js
View file @
2ed280d8
...
@@ -31,6 +31,7 @@ export default new Router({
...
@@ -31,6 +31,7 @@ export default new Router({
children
:
[
children
:
[
{
path
:
'/'
,
name
:
'bidList'
,
mapText
:
'招标公告'
,
component
:
()
=>
import
(
'@/view/public/bid-list.vue'
)
},
{
path
:
'/'
,
name
:
'bidList'
,
mapText
:
'招标公告'
,
component
:
()
=>
import
(
'@/view/public/bid-list.vue'
)
},
{
path
:
'notice'
,
name
:
'bidNotice'
,
mapText
:
'公告详情'
,
component
:
()
=>
import
(
'@/view/public/bid-notice.vue'
)
},
{
path
:
'notice'
,
name
:
'bidNotice'
,
mapText
:
'公告详情'
,
component
:
()
=>
import
(
'@/view/public/bid-notice.vue'
)
},
{
path
:
'history'
,
name
:
'bidHistoricalNotice'
,
mapText
:
'公告详情'
,
component
:
()
=>
import
(
'@/view/public/bid-history.vue'
)
},
{
path
:
'buy'
,
name
:
'buy'
,
mapText
:
'订单确认'
,
component
:
()
=>
import
(
'@/view/public/bid-buy.vue'
)
},
{
path
:
'buy'
,
name
:
'buy'
,
mapText
:
'订单确认'
,
component
:
()
=>
import
(
'@/view/public/bid-buy.vue'
)
},
{
path
:
'buyresult'
,
name
:
'buyResult'
,
mapText
:
'完成报名'
,
component
:
()
=>
import
(
'@/view/public/bid-buy-result.vue'
)
},
{
path
:
'buyresult'
,
name
:
'buyResult'
,
mapText
:
'完成报名'
,
component
:
()
=>
import
(
'@/view/public/bid-buy-result.vue'
)
},
]
]
...
...
src/view/home.vue
View file @
2ed280d8
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
<div
class=
"home col align-c"
>
<div
class=
"home col align-c"
>
<componentHeader></componentHeader>
<componentHeader></componentHeader>
<componentNavigation></componentNavigation>
<componentNavigation></componentNavigation>
<div
class=
"home-banner"
>
<div
class=
"home-banner"
>
<el-carousel
v-if=
"listBanner.length > 0"
class=
"home-carousel"
trigger=
"click"
height=
"400px"
:autoplay=
"true"
>
<el-carousel
v-if=
"listBanner.length > 0"
class=
"home-carousel"
trigger=
"click"
height=
"400px"
:autoplay=
"true"
>
<el-carousel-item
v-for=
"(item, index) in listBanner"
:key=
"index"
>
<el-carousel-item
v-for=
"(item, index) in listBanner"
:key=
"index"
>
...
@@ -17,115 +18,30 @@
...
@@ -17,115 +18,30 @@
<!-- 今日开标 -->
<!-- 今日开标 -->
<div
class=
"new-bid row con-c"
>
<div
class=
"new-bid row con-c"
>
<div
class=
"global-maxwidth row con-b"
>
<div
class=
"global-maxwidth row con-b"
>
<!--
下次更新内容,暂时隐藏。
<div
class=
"calendar"
>
<div
class=
"calendar"
>
<span
class=
"calendar-title"
>
开标日历
</span>
<span
class=
"calendar-title"
>
开标日历
</span>
<calendar
:markDate=
"calendarMarkDate"
></calendar>
<calendar
:markDate=
"calendarMarkDate"
v-on:choseDay=
"onCalendarDayChange"
v-on:changeMonth=
"onCalendarDateChange"
></calendar>
</div>
<div>
<div
class=
"row align-e"
>
<span
class=
"title"
>
今日开标
</span>
<span
class=
"title-extra global-color-red"
>
{{
timeDate
+
'开标项目'
}}
</span>
</div>
<div
v-if=
"listBid.length"
class=
"list col"
>
<div
class=
"global-hover row con-b align-e"
v-for=
"(item, index) in listBid"
:key=
"index"
@
click=
"onDetail(item)"
>
<span
class=
"global-cursor global-overflow-ellipsis "
>
{{
item
.
noticeTitle
}}
</span>
<span>
{{
item
.
timeRelease
}}
</span>
</div>
</div>
<div
v-if=
"!listBid.length"
class=
"nothing col con-c align-c"
>
<img
src=
"../assets/nothing.png"
alt=
""
>
<span>
今日暂无开标项目
</span>
</div>
</div>
</div>
<div
class=
"new-bid-list"
>
-->
<div>
<div
class=
"row align-e"
>
<div
class=
"row align-e"
>
<span
class=
"title"
>
今日开标
</span>
<span
class=
"title"
>
开标项目
</span>
<span
class=
"title-extra global-color-red"
>
{{
timeDate
+
'开标项目'
}}
</span>
<span
class=
"title-extra global-color-red"
>
{{
timeDate
}}
</span>
</div>
</div>
<div
v-if=
"listBid.length"
class=
"list col"
>
<div
v-if=
"listBid.length"
class=
"list col"
>
<div
class=
"global-hover row con-b align-e"
v-for=
"(item, index) in listBid"
:key=
"index"
@
click=
"onDetail(item)"
>
<el-carousel>
<span
class=
"global-cursor global-overflow-ellipsis "
>
{{
item
.
noticeTitle
}}
</span>
<el-carousel-item
v-for=
"(item, index) in listBid"
:key=
"index"
>
<span>
{{
item
.
timeRelease
}}
</span>
<div
class=
"global-hover row con-b align-e"
v-for=
"(itemNotice, indexNotice) in item"
:key=
"indexNotice"
@
click=
"onDetail(itemNotice)"
>
<span
class=
"global-cursor global-overflow-ellipsis "
>
{{
itemNotice
.
noticeTitle
}}
</span>
<span>
{{
itemNotice
.
timeRelease
}}
</span>
</div>
</div>
</el-carousel-item>
</el-carousel>
</div>
</div>
<div
v-if=
"!listBid.length"
class=
"nothing col con-c align-c"
>
<div
v-if=
"!listBid.length"
class=
"nothing col con-c align-c"
>
<img
src=
"../assets/nothing.png"
alt=
""
>
<img
src=
"../assets/nothing.png"
alt=
""
>
<span>
今日暂无开标项目
</span>
<span>
今日暂无开标项目
</span>
</div>
</div>
</div>
</div>
<!-- 未登录状态展示 -->
<div
v-if=
"!isSignIn"
class=
"home-signin col"
>
<div
class=
"home-signin-entry row"
>
<div
class=
"row con-c align-c"
@
click=
"signInEntry = 'signIn'"
>
<span
class=
"global-cursor"
:class=
"signInEntry === 'signIn' ? 'home-signin-entry-active' : 'home-signin-entry-inactive'"
>
登录
</span>
</div>
<div
class=
"row con-c align-c"
@
click=
"signInEntry = 'register'"
>
<span
class=
"global-cursor"
:class=
"signInEntry === 'register' ? 'home-signin-entry-active' : 'home-signin-entry-inactive'"
>
注册
</span>
</div>
</div>
<div
class=
"home-signin-identity col con-c"
>
<div
class=
"home-signin-item row align-c global-cursor"
@
click=
"onSignIn('supplier')"
>
<img
src=
"../assets/status-supplier.png"
alt=
""
>
<span>
供应商
</span>
</div>
<div
v-if=
"signInEntry === 'signIn'"
class=
"home-signin-item row align-c global-cursor"
@
click=
"onSignInRedirect()"
>
<img
src=
"../assets/status-agency.png"
alt=
""
>
<span>
代理机构
</span>
</div>
<div
class=
"home-signin-item row align-c global-cursor"
@
click=
"onSignIn('specialist')"
>
<img
src=
"../assets/status-specialist.png"
alt=
""
>
<span>
专家
</span>
</div>
</div>
</div>
<!-- 登录状态展示 - 专家 -->
<div
v-if=
"isSignIn && info.identity === 1"
class=
"home-signin col"
>
<div
class=
"home-signin-identity-img row con-c"
>
<img
src=
"../assets/home-specialist.png"
alt=
""
>
</div>
<div
class=
"home-signin-name col"
>
<span>
您好,
</span>
<span>
{{
info
.
name
}}
</span>
</div>
<div
class=
"home-signin-notify row con-c align-c"
>
<el-badge
:is-dot=
"isNewNotice"
class=
"row align-c"
>
<img
class=
"global-cursor"
src=
"../assets/notice-tip.png"
>
</el-badge>
<span
class=
"global-cursor"
@
click=
"$router.push('/specialist/notify')"
>
我的消息
</span>
</div>
<div
class=
"home-signin-state row con-c align-c"
>
<span
v-if=
"info.register !== 1"
>
注册信息暂未通过审核
</span>
<span
v-if=
"info.register === 1"
class=
"global-cursor"
@
click=
"$router.push('/specialist')"
>
我的评标
</span>
</div>
</div>
<!-- 登录状态展示 - 商家 -->
<div
v-if=
"isSignIn && info.identity === 2"
class=
"home-signin col"
>
<div
class=
"home-signin-identity-img row con-c"
>
<img
src=
"../assets/home-supplier.png"
alt=
""
>
</div>
<div
class=
"home-signin-name row con-c"
>
<span>
{{
info
.
name
}}
</span>
</div>
<div
class=
"home-signin-notify row con-c align-c"
>
<el-badge
:is-dot=
"isNewNotice"
class=
"row align-c"
>
<img
class=
"global-cursor"
src=
"../assets/notice-tip.png"
>
</el-badge>
<span
class=
"global-cursor"
@
click=
"$router.push('/supplier/notify')"
>
我的消息
</span>
</div>
<div
v-if=
"info.register !== 1"
class=
"home-signin-state row con-c align-c"
>
<span
>
注册信息暂未通过审核
</span>
</div>
<div
v-if=
"info.register === 1"
class=
"home-signin-state row con-b align-c"
>
<span
class=
"global-cursor"
@
click=
"$router.push('/supplier/bidding')"
>
我的投标
</span>
<span
class=
"global-cursor"
>
|
</span>
<span
class=
"global-cursor"
@
click=
"$router.push('/supplier/auction')"
>
我的竞价
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -233,6 +149,77 @@
...
@@ -233,6 +149,77 @@
</div>
</div>
</div>
</div>
<componentFooter></componentFooter>
<componentFooter></componentFooter>
<!-- 未登录状态展示 -->
<div
v-if=
"!isSignIn"
class=
"home-signin col"
:style=
"cssLoginMenuContainer"
>
<div
class=
"home-signin-entry row"
>
<div
class=
"row con-c align-c"
@
click=
"signInEntry = 'signIn'"
>
<span
class=
"global-cursor"
:class=
"signInEntry === 'signIn' ? 'home-signin-entry-active' : 'home-signin-entry-inactive'"
>
登录
</span>
</div>
<div
class=
"row con-c align-c"
@
click=
"signInEntry = 'register'"
>
<span
class=
"global-cursor"
:class=
"signInEntry === 'register' ? 'home-signin-entry-active' : 'home-signin-entry-inactive'"
>
注册
</span>
</div>
</div>
<div
class=
"home-signin-identity col con-c"
>
<div
class=
"home-signin-item row align-c global-cursor"
@
click=
"onSignIn('supplier')"
>
<img
src=
"../assets/status-supplier.png"
alt=
""
>
<span>
供应商
</span>
</div>
<div
v-if=
"signInEntry === 'signIn'"
class=
"home-signin-item row align-c global-cursor"
@
click=
"onSignInRedirect()"
>
<img
src=
"../assets/status-agency.png"
alt=
""
>
<span>
代理机构
</span>
</div>
<div
class=
"home-signin-item row align-c global-cursor"
@
click=
"onSignIn('specialist')"
>
<img
src=
"../assets/status-specialist.png"
alt=
""
>
<span>
专家
</span>
</div>
</div>
</div>
<!-- 登录状态展示 - 专家 -->
<div
v-if=
"isSignIn && info.identity === 1"
class=
"home-signin col"
>
<div
class=
"home-signin-identity-img row con-c"
>
<img
src=
"../assets/home-specialist.png"
alt=
""
>
</div>
<div
class=
"home-signin-name col"
>
<span>
您好,
</span>
<span>
{{
info
.
name
}}
</span>
</div>
<div
class=
"home-signin-notify row con-c align-c"
>
<el-badge
:is-dot=
"isNewNotice"
class=
"row align-c"
>
<img
class=
"global-cursor"
src=
"../assets/notice-tip.png"
>
</el-badge>
<span
class=
"global-cursor"
@
click=
"$router.push('/specialist/notify')"
>
我的消息
</span>
</div>
<div
class=
"home-signin-state row con-c align-c"
>
<span
v-if=
"info.register !== 1"
>
注册信息暂未通过审核
</span>
<span
v-if=
"info.register === 1"
class=
"global-cursor"
@
click=
"$router.push('/specialist')"
>
我的评标
</span>
</div>
</div>
<!-- 登录状态展示 - 商家 -->
<div
v-if=
"isSignIn && info.identity === 2"
class=
"home-signin col"
>
<div
class=
"home-signin-identity-img row con-c"
>
<img
src=
"../assets/home-supplier.png"
alt=
""
>
</div>
<div
class=
"home-signin-name row con-c"
>
<span>
{{
info
.
name
}}
</span>
</div>
<div
class=
"home-signin-notify row con-c align-c"
>
<el-badge
:is-dot=
"isNewNotice"
class=
"row align-c"
>
<img
class=
"global-cursor"
src=
"../assets/notice-tip.png"
>
</el-badge>
<span
class=
"global-cursor"
@
click=
"$router.push('/supplier/notify')"
>
我的消息
</span>
</div>
<div
v-if=
"info.register !== 1"
class=
"home-signin-state row con-c align-c"
>
<span
>
注册信息暂未通过审核
</span>
</div>
<div
v-if=
"info.register === 1"
class=
"home-signin-state row con-b align-c"
>
<span
class=
"global-cursor"
@
click=
"$router.push('/supplier/bidding')"
>
我的投标
</span>
<span
class=
"global-cursor"
>
|
</span>
<span
class=
"global-cursor"
@
click=
"$router.push('/supplier/auction')"
>
我的竞价
</span>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -285,7 +272,9 @@
...
@@ -285,7 +272,9 @@
dealActive
:
0
,
// 最新交易选中
dealActive
:
0
,
// 最新交易选中
dealMax
:
0
,
// 最新交易数据条目
dealMax
:
0
,
// 最新交易数据条目
calendarMarkDayOpenNotice
:
[],
calendarMarkDate
:
[],
calendarMarkDate
:
[],
cssLoginMenuContainer
:
''
,
}
}
},
},
computed
:
{
computed
:
{
...
@@ -314,12 +303,16 @@
...
@@ -314,12 +303,16 @@
},
},
},
},
created
:
function
()
{
created
:
function
()
{
this
.
timeDate
=
iMiment
(
iTime
()).
format
(
'MM月DD日'
)
this
.
timeDate
=
iMiment
(
iTime
()).
format
(
'
YYYY年
MM月DD日'
)
this
.
queryBanner
()
this
.
queryBanner
()
this
.
queryNotice
(
2
,
0
)
this
.
queryNotice
(
2
,
0
)
this
.
onQueryAuction
(
0
)
this
.
onQueryAuction
(
0
)
this
.
queryData
()
this
.
queryData
()
this
.
queryBidMark
()
this
.
queryBidMark
(
iMiment
().
format
(
'YYYY-MM-'
)
+
'01'
,
iMiment
().
format
(
'YYYY-MM-'
)
+
iMiment
().
daysInMonth
())
},
mounted
:
function
()
{
window
.
addEventListener
(
'scroll'
,
this
.
eventScroll
,
true
)
},
},
methods
:
{
methods
:
{
...
@@ -379,40 +372,52 @@
...
@@ -379,40 +372,52 @@
console
.
log
(
funcError
)
console
.
log
(
funcError
)
})
})
},
},
queryBidMark
:
function
()
{
let
funcResponse
=
[{
date
:
'2020-10-13'
,
quantity
:
8
,
},
{
date
:
'2020-10-15'
,
quantity
:
9
,
},
{
date
:
'2020-10-18'
,
quantity
:
12
,
},
{
date
:
'2020-10-21'
,
quantity
:
14
,
}]
queryBidMark
:
function
(
funcDateBegin
,
funcDateEnd
)
{
let
funcParams
=
{
'startDate'
:
funcDateBegin
,
'endDate'
:
funcDateEnd
}
iRequest
.
request
(
iHost
.
base
+
'bid/zTenderNotice/openNoticeCalendar'
,
funcParams
,
'json'
,
'post'
)
.
then
((
funcResponse
)
=>
{
let
funcData
=
funcResponse
let
funcMarkDate
=
[]
let
funcMarkDate
=
[]
let
funcMarkNotice
=
[]
let
funcMarkQuantity
=
[]
let
funcMarkQuantity
=
[]
let
funcMarkQuantityCss
=
''
funcData
.
sort
((
a
,
b
)
=>
{
for
(
let
i
=
0
,
l
=
funcResponse
.
length
;
i
<
l
;
i
++
)
{
return
a
.
date
-
b
.
date
funcMarkDate
.
push
(
iMiment
(
funcResponse
[
i
].
date
).
format
(
'YYYY/MM/DD'
))
})
funcMarkQuantity
.
push
(
funcResponse
[
i
].
quantity
)
}
for
(
let
i
=
0
,
l
=
funcData
.
length
;
i
<
l
;
i
++
)
{
funcMarkDate
.
push
(
iMiment
(
funcData
[
i
].
date
).
format
(
'YYYY/MM/DD'
))
funcMarkQuantity
.
push
(
funcData
[
i
].
count
)
let
funcNoticeList
=
[]
for
(
let
ii
=
0
,
ll
=
funcData
[
i
].
list
.
length
;
ii
<
ll
;
ii
++
)
{
let
funcItem
=
{
'noticeId'
:
funcData
[
i
].
list
[
ii
].
noticeId
,
'noticeType'
:
iDictionary
.
noticeType
.
mapping
[
iDictionary
.
noticeType
.
raw
.
indexOf
(
Number
(
funcData
[
i
].
list
[
ii
].
noticeType
))],
'noticeTitle'
:
funcData
[
i
].
list
[
ii
].
title
,
'projectId'
:
funcData
[
i
].
list
[
ii
].
tenderProjectId
,
}
funcNoticeList
.
push
(
funcItem
)
}
funcMarkNotice
.
push
({
'date'
:
iMiment
(
funcData
[
i
].
date
).
format
(
'YYYY/MM/DD'
),
'list'
:
funcNoticeList
})
}
this
.
calendarMarkDate
=
funcMarkDate
this
.
calendarMarkDate
=
funcMarkDate
this
.
calendarMarkDayOpenNotice
=
funcMarkNotice
this
.
$nextTick
(
function
()
{
this
.
$nextTick
(
function
()
{
let
funcMark
=
document
.
getElementsByClassName
(
'wh_isMark'
)
let
funcMark
=
document
.
getElementsByClassName
(
'wh_isMark'
)
console
.
log
(
funcMark
)
for
(
let
i
=
0
,
l
=
funcMark
.
length
;
i
<
l
;
i
++
)
{
for
(
let
i
=
0
,
l
=
funcMark
.
length
;
i
<
l
;
i
++
)
{
funcMark
[
i
].
setAttribute
(
'data-content'
,
funcMarkQuantity
[
i
]
)
funcMark
[
i
].
setAttribute
(
'data-content'
,
funcMarkQuantity
[
i
]
)
}
}
})
})
})
},
},
setHome
:
function
()
{
setHome
:
function
()
{
...
@@ -420,8 +425,10 @@
...
@@ -420,8 +425,10 @@
this
.
setNew
()
this
.
setNew
()
this
.
setDeal
()
this
.
setDeal
()
},
},
setBid
:
function
()
{
setBid
:
function
()
{
let
funcList
=
[]
let
funcList
=
[]
let
funcListGroup
=
[]
let
funcRawData
=
this
.
rawBid
let
funcRawData
=
this
.
rawBid
for
(
let
i
=
0
,
len
=
funcRawData
.
length
;
i
<
len
;
i
++
)
{
for
(
let
i
=
0
,
len
=
funcRawData
.
length
;
i
<
len
;
i
++
)
{
let
funcItem
=
{
let
funcItem
=
{
...
@@ -430,10 +437,16 @@
...
@@ -430,10 +437,16 @@
'noticeTitle'
:
funcRawData
[
i
].
title
,
'noticeTitle'
:
funcRawData
[
i
].
title
,
'timeRelease'
:
iMiment
(
funcRawData
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
'timeRelease'
:
iMiment
(
funcRawData
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
}
}
funcList
.
push
(
funcItem
)
funcListGroup
.
push
(
funcItem
)
if
(
funcListGroup
.
length
===
5
)
{
funcList
.
push
(
funcListGroup
)
funcListGroup
=
[]
}
}
}
if
(
funcListGroup
.
length
>
0
)
funcList
.
push
(
funcListGroup
)
this
.
listBid
=
funcList
this
.
listBid
=
funcList
},
},
setNew
:
function
()
{
setNew
:
function
()
{
this
.
infoNew
=
{
this
.
infoNew
=
{
'id'
:
this
.
rawNew
.
id
,
'id'
:
this
.
rawNew
.
id
,
...
@@ -490,6 +503,7 @@
...
@@ -490,6 +503,7 @@
'noticeTitle'
:
funcRawData
[
i
].
title
,
'noticeTitle'
:
funcRawData
[
i
].
title
,
'buyWay'
:
funcRawData
[
i
].
procurementTypeDesc
,
'buyWay'
:
funcRawData
[
i
].
procurementTypeDesc
,
'timeRelease'
:
iMiment
(
funcRawData
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
'timeRelease'
:
iMiment
(
funcRawData
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
'isHistoricalData'
:
Boolean
(
Number
(
funcResponse
.
list
[
i
].
history
))
}
}
funcList
.
push
(
funcItem
)
funcList
.
push
(
funcItem
)
}
}
...
@@ -499,6 +513,32 @@
...
@@ -499,6 +513,32 @@
this
.
$message
.
error
(
funcError
.
message
)
this
.
$message
.
error
(
funcError
.
message
)
})
})
},
},
onCalendarDateChange
:
function
(
funcEvent
)
{
let
funcDateBegin
=
iMiment
(
funcEvent
).
format
(
'YYYY-MM-'
)
+
'01'
let
funcDateEnd
=
iMiment
(
funcEvent
).
format
(
'YYYY-MM-'
)
+
iMiment
(
funcEvent
).
daysInMonth
()
this
.
queryBidMark
(
funcDateBegin
,
funcDateEnd
)
},
onCalendarDayChange
:
function
(
funcEvent
)
{
console
.
log
(
funcEvent
)
this
.
listBid
=
[]
this
.
timeDate
=
iMiment
(
funcEvent
).
format
(
'YYYY年MM月DD日'
)
for
(
let
i
=
0
,
l
=
this
.
calendarMarkDayOpenNotice
.
length
;
i
<
l
;
i
++
)
{
if
(
this
.
calendarMarkDayOpenNotice
[
i
].
date
===
iMiment
(
funcEvent
).
format
(
'YYYY/MM/DD'
))
{
let
funcListGroup
=
[]
for
(
let
ii
=
0
,
ll
=
this
.
calendarMarkDayOpenNotice
[
i
].
list
.
length
;
ii
<
ll
;
ii
++
)
{
funcListGroup
.
push
(
this
.
calendarMarkDayOpenNotice
[
i
].
list
[
ii
])
if
(
funcListGroup
.
length
===
5
)
{
this
.
listBid
.
push
(
funcListGroup
)
funcListGroup
=
[]
}
}
if
(
funcListGroup
.
length
>
0
)
this
.
listBid
.
push
(
funcListGroup
)
}
}
},
onQueryAuction
:
function
(
funcType
)
{
onQueryAuction
:
function
(
funcType
)
{
this
.
auctionActive
=
funcType
this
.
auctionActive
=
funcType
this
.
auctionActive
=
funcType
this
.
auctionActive
=
funcType
...
@@ -524,6 +564,7 @@
...
@@ -524,6 +564,7 @@
'noticeTitle'
:
funcRawData
[
i
].
title
,
'noticeTitle'
:
funcRawData
[
i
].
title
,
'timeRelease'
:
iMiment
(
funcRawData
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
'timeRelease'
:
iMiment
(
funcRawData
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
'timeClose'
:
funcRawData
[
i
].
biddingEndTime
?
iMiment
(
funcRawData
[
i
].
biddingEndTime
).
format
(
'YYYY-MM-DD hh:mm'
)
:
false
,
'timeClose'
:
funcRawData
[
i
].
biddingEndTime
?
iMiment
(
funcRawData
[
i
].
biddingEndTime
).
format
(
'YYYY-MM-DD hh:mm'
)
:
false
,
'isHistoricalData'
:
Boolean
(
Number
(
funcResponse
.
list
[
i
].
history
))
}
}
funcList
.
push
(
funcItem
)
funcList
.
push
(
funcItem
)
}
}
...
@@ -568,8 +609,14 @@
...
@@ -568,8 +609,14 @@
* @returns
* @returns
*/
*/
onDetail
:
function
(
funcItem
)
{
onDetail
:
function
(
funcItem
)
{
if
(
funcItem
.
isHistoricalData
)
{
let
funcNoticeUrl
=
this
.
$router
.
resolve
({
path
:
'/bid/history'
,
query
:
{
id
:
funcItem
.
noticeId
}})
window
.
open
(
funcNoticeUrl
.
href
,
'_blank'
)
}
else
{
let
funcNoticeUrl
=
this
.
$router
.
resolve
({
path
:
'/bid/notice'
,
query
:
{
type
:
funcItem
.
noticeType
,
id
:
funcItem
.
noticeId
}})
let
funcNoticeUrl
=
this
.
$router
.
resolve
({
path
:
'/bid/notice'
,
query
:
{
type
:
funcItem
.
noticeType
,
id
:
funcItem
.
noticeId
}})
window
.
open
(
funcNoticeUrl
.
href
,
'_blank'
)
window
.
open
(
funcNoticeUrl
.
href
,
'_blank'
)
}
},
},
/**
/**
* 竞标更多
* 竞标更多
...
@@ -638,6 +685,11 @@
...
@@ -638,6 +685,11 @@
this
.
listDeal
[
1
]
=
this
.
listDealBuffer
[
this
.
dealIndex
+
1
]
this
.
listDeal
[
1
]
=
this
.
listDealBuffer
[
this
.
dealIndex
+
1
]
}
}
},
},
eventScroll
:
function
(
event
)
{
let
funcScrollTop
=
event
.
target
.
documentElement
.
scrollTop
if
(
300
<
(
600
-
funcScrollTop
)
)
this
.
cssLoginMenuContainer
=
'top: '
+
(
600
-
funcScrollTop
)
+
'px;'
},
}
}
}
}
</
script
>
</
script
>
...
@@ -647,6 +699,100 @@
...
@@ -647,6 +699,100 @@
width
:
100%
;
width
:
100%
;
background-image
:
url(@backgroundImageUrl)
;
background-image
:
url(@backgroundImageUrl)
;
background-repeat
:
no-repeat
;
background-repeat
:
no-repeat
;
.home-signin
{
z-index
:
0
;
position
:
fixed
;
top
:
600px
;
right
:
0
;
width
:
206px
;
height
:
300px
;
padding
:
24px
0
;
background-image
:
url('../assets/bg-02.png')
;
background-repeat
:
no-repeat
;
background-size
:
206px
300px
;
box-shadow
:
0px
0px
30px
0px
rgba
(
41
,
41
,
41
,
0.1
);
border-radius
:
16px
;
//
未登录状态样式
.home-signin-entry
{
height
:
34px
;
margin-bottom
:
26px
;
div
{
width
:
50%
;
}
.home-signin-entry-active
{
padding-bottom
:
8px
;
border-bottom
:
4px
#D02F1E
solid
;
text-align
:
center
;
font-size
:
@
fontSize04
;
font-weight
:
800
;
}
.home-signin-entry-inactive
{
padding-bottom
:
8px
;
border-bottom
:
2px#FFFFFF
solid
;
font-size
:
@
fontSize02
;
}
}
.home-signin-identity
{
height
:
190px
;
}
.home-signin-item
{
width
:
100%
;
height
:
64px
;
padding
:
0
36px
;
span
{
font-size
:
@
fontSize03
;
}
img
{
width
:
40px
;
margin-right
:
14px
;
}
}
.home-signin-item
:hover
{
background
:
#ffffff
;
box-shadow
:
0px
0px
30px
0px
rgba
(
42
,
42
,
42
,
0.15
);
}
//
登录相关样式
.home-signin-identity-img
{
width
:
100%
;
img
{
width
:
44px
;
height
:
44px
;
}
}
.home-signin-name
{
width
:
100%
;
min-height
:
40px
;
margin-top
:
26px
;
>
span
{
text-align
:
center
;
}
}
.home-signin-notify
{
width
:
166px
;
height
:
54px
;
margin
:
26px
20px
;
border-top
:
1px
#cccccc
dashed
;
border-bottom
:
1px
#cccccc
dashed
;
.el-badge
{
height
:
20px
;
}
span
{
height
:
24px
;
margin-left
:
10px
;
}
}
.home-signin-state
{
width
:
100%
;
padding
:
0
20px
;
>
span
{
font-size
:
@
fontSize01
;
}
}
}
.more
{
.more
{
flex-grow
:
1
;
flex-grow
:
1
;
padding-bottom
:
4px
;
padding-bottom
:
4px
;
...
@@ -695,7 +841,6 @@
...
@@ -695,7 +841,6 @@
.calendar
{
.calendar
{
position
:
relative
;
position
:
relative
;
width
:
410px
;
width
:
410px
;
height
:
386px
;
margin-right
:
40px
;
margin-right
:
40px
;
box-shadow
:
0px
0px
30px
0px
rgba
(
0
,
0
,
0
,
0.1
);
box-shadow
:
0px
0px
30px
0px
rgba
(
0
,
0
,
0
,
0.1
);
border-radius
:
25px
;
border-radius
:
25px
;
...
@@ -776,22 +921,25 @@
...
@@ -776,22 +921,25 @@
right
:
0
;
right
:
0
;
bottom
:
0
;
bottom
:
0
;
content
:
attr
(
data-content
);
content
:
attr
(
data-content
);
width
:
20
px
;
min-width
:
16
px
;
height
:
16px
;
height
:
16px
;
background
:
#D02F1E
;
padding
:
0
2px
;
background
:
#2575FA
;
font-size
:
12px
;
font-size
:
12px
;
line-height
:
20
px
;
line-height
:
16
px
;
color
:
#FFFFFF
;
}
}
.wh_isToday
{
.wh_isToday
{
width
:
50px
;
width
:
50px
;
height
:
50px
;
height
:
50px
;
border-radius
:
0
;
border-radius
:
0
;
background
:
#2575fa
;
background
:
#e8e8e8
;
}
color
:
#FFFFFF
;
.wh_isToday
::after
{
background
:
#c31a18
;
}
}
}
}
...
@@ -804,6 +952,11 @@
...
@@ -804,6 +952,11 @@
}
}
}
}
}
}
.new-bid-list
{
max-height
:
460px
;
}
.title
{
.title
{
>
span
:
nth-child
(
1
)
{
>
span
:
nth-child
(
1
)
{
margin-right
:
16px
;
margin-right
:
16px
;
...
@@ -818,8 +971,7 @@
...
@@ -818,8 +971,7 @@
padding-bottom
:
4px
;
padding-bottom
:
4px
;
}
}
.list
{
.list
{
width
:
940px
;
width
:
750px
;
//
width
:
750px
;
span
:
nth-child
(
1
)
{
span
:
nth-child
(
1
)
{
max-width
:
830px
;
max-width
:
830px
;
margin-top
:
32px
;
margin-top
:
32px
;
...
@@ -831,104 +983,13 @@
...
@@ -831,104 +983,13 @@
}
}
}
}
.nothing
{
.nothing
{
width
:
940px
;
width
:
750px
;
//
width
:
750px
;
height
:
200px
;
height
:
200px
;
img
{
img
{
height
:
100px
;
height
:
100px
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
}
}
.home-signin
{
//
position
:
absolute
;
//
top
:
60px
;
//
right
:
0
;
width
:
206px
;
height
:
300px
;
padding
:
24px
0
;
background-image
:
url('../assets/bg-02.png')
;
background-repeat
:
no-repeat
;
background-size
:
206px
300px
;
box-shadow
:
0px
0px
30px
0px
rgba
(
41
,
41
,
41
,
0.1
);
border-radius
:
16px
;
//
未登录状态样式
.home-signin-entry
{
height
:
34px
;
margin-bottom
:
26px
;
div
{
width
:
50%
;
}
.home-signin-entry-active
{
padding-bottom
:
8px
;
border-bottom
:
4px
#D02F1E
solid
;
text-align
:
center
;
font-size
:
@
fontSize04
;
font-weight
:
800
;
}
.home-signin-entry-inactive
{
padding-bottom
:
8px
;
border-bottom
:
2px#FFFFFF
solid
;
font-size
:
@
fontSize02
;
}
}
.home-signin-identity
{
height
:
190px
;
}
.home-signin-item
{
width
:
100%
;
height
:
64px
;
padding
:
0
36px
;
span
{
font-size
:
@
fontSize03
;
}
img
{
width
:
40px
;
margin-right
:
14px
;
}
}
.home-signin-item
:hover
{
background
:
#ffffff
;
box-shadow
:
0px
0px
30px
0px
rgba
(
42
,
42
,
42
,
0.15
);
}
//
登录相关样式
.home-signin-identity-img
{
width
:
100%
;
img
{
width
:
44px
;
height
:
44px
;
}
}
.home-signin-name
{
width
:
100%
;
min-height
:
40px
;
margin-top
:
26px
;
>
span
{
text-align
:
center
;
}
}
.home-signin-notify
{
width
:
166px
;
height
:
54px
;
margin
:
26px
20px
;
border-top
:
1px
#cccccc
dashed
;
border-bottom
:
1px
#cccccc
dashed
;
.el-badge
{
height
:
20px
;
}
span
{
height
:
24px
;
margin-left
:
10px
;
}
}
.home-signin-state
{
width
:
100%
;
padding
:
0
20px
;
>
span
{
font-size
:
@
fontSize01
;
}
}
}
}
}
.notice
{
.notice
{
width
:
100%
;
width
:
100%
;
...
...
src/view/public/bid-history.js
0 → 100644
View file @
2ed280d8
import
iMiment
from
'miment'
import
iHost
from
'@/common/js/host.js'
import
iRequest
from
'@/common/js/request/request.js'
let
output
=
function
(
thisVue
,
id
,
type
,
isPreview
)
{
let
funcRequestDetail
let
funcRequestOther
let
funcMap
=
[]
let
funcProject
=
{}
// 项目数据
// 竞价报价公告
funcMap
=
[
{
text
:
'招标公告'
,
redirect
:
'/bid'
},
{
text
:
'历史公告'
,
redirect
:
null
}]
let
funcParam
=
{
'id'
:
id
}
// 预览公告独有字段
if
(
isPreview
)
funcParam
.
preview
=
1
iRequest
.
request
(
iHost
.
base
+
'bid/zTenderNotice/getHistoryNotice'
,
funcParam
,
'json'
,
'post'
)
.
then
((
funcResponse
)
=>
{
console
.
log
(
funcResponse
)
funcProject
=
{
'noticeId'
:
id
,
'noticeType'
:
type
,
'noticeTitle'
:
funcResponse
.
title
,
'contentHtml'
:
funcResponse
.
content
,
'timeRelease'
:
funcResponse
.
releasetime
,
}
console
.
log
(
funcProject
)
thisVue
.
$store
.
commit
(
'componentProject'
,
funcProject
)
thisVue
.
noticeData
(
funcMap
,
funcProject
)
})
.
catch
((
funcError
)
=>
{})
}
export
default
output
\ No newline at end of file
src/view/public/bid-history.vue
0 → 100644
View file @
2ed280d8
<
template
>
<div
class=
"public-bid-details"
>
<div
class=
"main"
>
<!-- 页面地图 -->
<div>
<currencyMap
:customPath=
"componentMap"
></currencyMap>
</div>
<div
class=
"info-title col"
>
<span>
{{
componentProject
.
noticeTitle
}}
</span>
<span><i
class=
"el-icon-time"
></i>
{{
'发布时间:'
+
componentProject
.
timeRelease
}}
</span>
</div>
<!-- 具体内容 -->
<div
class=
"info-item"
>
<div
class=
"title title-decorate row align-c"
>
<span>
公告内容
</span>
</div>
<div
class=
"content"
v-html=
"componentProject.contentHtml"
></div>
</div>
</div>
</div>
</
template
>
<
script
>
// npm
import
iMiment
from
'miment'
// 工具
import
iHost
from
'@/common/js/host.js'
import
iRequest
from
'@/common/js/request/request.js'
import
iRuleAtom
from
'@/common/js/rule/atom.js'
// 组件
import
iCurrencyMap
from
'@/components/currency-map.vue'
import
iNotice
from
'./bid-history.js'
export
default
{
components
:
{
currencyMap
:
iCurrencyMap
,
},
data
:
function
()
{
return
{
projectId
:
''
,
// 项目标识
noticeId
:
0
,
// 项目标识
componentMap
:
[],
// 地图路径
componentProject
:
{},
// 项目数据
isPreview
:
false
,
}
},
watch
:{
$route
:
function
()
{
this
.
initKey
()
iNotice
(
this
,
this
.
noticeId
,
''
)
}
},
created
:
function
()
{
clearInterval
(
this
.
quoteTimer
)
this
.
initKey
()
iNotice
(
this
,
this
.
noticeId
,
''
,
this
.
isPreview
)
},
methods
:
{
initKey
:
function
()
{
this
.
noticeId
=
this
.
$route
.
query
.
id
this
.
isPreview
=
this
.
$route
.
query
.
preview
?
true
:
false
},
noticeData
:
function
(
funcMap
,
funcProject
)
{
this
.
componentMap
=
funcMap
this
.
componentProject
=
funcProject
},
}
}
</
script
>
<
style
lang=
"less"
>
.public-bid-details
{
width
:
1200px
;
min-height
:
490px
;
margin
:
36px
0
;
padding
:
32px
32px
0
32px
;
background
:
@
colorWhite
;
box-shadow
:
0px
0px
20px
0px
rgba
(
41
,
41
,
41
,
0.05
);
.title
{
width
:
100%
;
height
:
50px
;
margin-bottom
:
24px
;
border-bottom
:
1px
#F2F2F2
solid
;
span
{
font-size
:
@
fontSize04
;
}
}
.title-decorate
:before
{
content
:
''
;
display
:
inline-block
;
width
:
4px
;
height
:
20px
;
margin-right
:
10px
;
overflow
:
hidden
;
background-image
:
linear-gradient
(
#CF2F1E
20%
,
#00468C
20%
,
#00468C
100%
);
}
.info-title
{
width
:
1140px
;
margin-top
:
20px
;
border-bottom
:
1px
#F2F2F2
solid
;
>
span
:
nth-child
(
1
)
{
word-wrap
:
break-word
;
font-weight
:
800
;
font-size
:
@
fontSize06
;
}
>
span
:nth-child
(
2
)
{
margin
:
20px
0
;
color
:
@
colorGrey40
;
font-size
:
@
fontSize01
;
}
}
.info-item
{
width
:
1140px
;
margin-bottom
:
54px
;
//
公告富文本相关默认样式
.content
{
overflow
:
hidden
;
line-height
:
1.5
;
//
对应后台富文本编辑边框样式
table
{
border-top
:
1px
solid
#ccc
;
border-left
:
1px
solid
#ccc
;
th
{
border-bottom
:
1px
solid
#ccc
;
border-right
:
1px
solid
#ccc
;
text-align
:
center
;
}
td
{
border-bottom
:
1px
solid
#ccc
;
border-right
:
1px
solid
#ccc
;
padding
:
3px
5px
;
}
}
p
{
line-height
:
2
;
}
}
}
}
</
style
>
\ No newline at end of file
src/view/public/bid-list.vue
View file @
2ed280d8
...
@@ -214,6 +214,7 @@
...
@@ -214,6 +214,7 @@
'time'
:
iMiment
(
funcResponse
.
list
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
'time'
:
iMiment
(
funcResponse
.
list
[
i
].
releaseTime
).
format
(
'YYYY-MM-DD'
),
'title'
:
funcResponse
.
list
[
i
].
title
,
'title'
:
funcResponse
.
list
[
i
].
title
,
'typeId'
:
iDictionary
.
noticeType
.
mapping
[
iDictionary
.
noticeType
.
raw
.
indexOf
(
Number
(
funcResponse
.
list
[
i
].
noticeType
))],
'typeId'
:
iDictionary
.
noticeType
.
mapping
[
iDictionary
.
noticeType
.
raw
.
indexOf
(
Number
(
funcResponse
.
list
[
i
].
noticeType
))],
'isHistoricalData'
:
Boolean
(
Number
(
funcResponse
.
list
[
i
].
history
))
}
}
if
(
funcItem
.
type
===
'-'
)
{
if
(
funcItem
.
type
===
'-'
)
{
...
@@ -334,7 +335,12 @@
...
@@ -334,7 +335,12 @@
},
},
onBidDetails
:
function
(
funcItem
)
{
onBidDetails
:
function
(
funcItem
)
{
console
.
log
(
funcItem
)
if
(
funcItem
.
isHistoricalData
)
{
this
.
$router
.
push
(
'/bid/history?id='
+
funcItem
.
id
)
}
else
{
this
.
$router
.
push
(
'/bid/notice?type='
+
funcItem
.
typeId
+
'&id='
+
funcItem
.
id
)
this
.
$router
.
push
(
'/bid/notice?type='
+
funcItem
.
typeId
+
'&id='
+
funcItem
.
id
)
}
},
},
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment