Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
ead87a57
Commit
ead87a57
authored
Dec 11, 2023
by
yht15023815643
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
评标助手
parent
d8ffcc9d
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1340 additions
and
0 deletions
+1340
-0
download.png
dsk-operate-ui/src/assets/images/download.png
+0
-0
plus.png
dsk-operate-ui/src/assets/images/plus.png
+0
-0
advisoryOrgan.vue
dsk-operate-ui/src/views/bigDataSearch/advisoryOrgan.vue
+13
-0
assistant.vue
dsk-operate-ui/src/views/supplier/assistant.vue
+74
-0
AptitudeStandard.vue
...ate-ui/src/views/supplier/components/AptitudeStandard.vue
+123
-0
BatchImport.vue
dsk-operate-ui/src/views/supplier/components/BatchImport.vue
+293
-0
SearchAptitude.vue
...erate-ui/src/views/supplier/components/SearchAptitude.vue
+772
-0
SearchResult.vue
...operate-ui/src/views/supplier/components/SearchResult.vue
+65
-0
No files found.
dsk-operate-ui/src/assets/images/download.png
0 → 100644
View file @
ead87a57
427 Bytes
dsk-operate-ui/src/assets/images/plus.png
0 → 100644
View file @
ead87a57
222 Bytes
dsk-operate-ui/src/views/bigDataSearch/advisoryOrgan.vue
0 → 100644
View file @
ead87a57
<
template
>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/supplier/assistant.vue
0 → 100644
View file @
ead87a57
<
template
>
<div
class=
"app-container enterprise_contatiner"
>
<div
class=
"header"
>
<el-tabs
v-model=
"activeName"
>
<el-tab-pane
label=
"查资质"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"现行资质标准"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"历史批量查询结果"
name=
"third"
></el-tab-pane>
</el-tabs>
</div>
<SearchAptitude
v-if=
"activeName === 'first'"
></SearchAptitude>
<AptitudeStandard
v-if=
"activeName === 'second'"
></AptitudeStandard>
<SearchResult
v-if=
"activeName === 'third'"
></SearchResult>
</div>
</
template
>
<
script
>
import
SearchAptitude
from
'./components/SearchAptitude'
import
AptitudeStandard
from
'./components/AptitudeStandard'
import
SearchResult
from
'./components/SearchResult'
export
default
{
name
:
'Assistant'
,
components
:
{
SearchAptitude
,
AptitudeStandard
,
SearchResult
},
data
()
{
return
{
activeName
:
'first'
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.header
{
justify-content
:
space-between
;
height
:
48px
;
background
:
#FFFFFF
;
border-radius
:
4px
4px
0
0
;
border-bottom
:
1px
solid
#EEEEEE
;
color
:
#232323
;
position
:
sticky
;
top
:
54px
;
z-index
:
999
;
::v-deep
.el-tabs
{
height
:
48px
;
line-height
:
48px
;
.
el-tabs__nav-wrap
:
:
after
{
position
:
static
!
important
;
}
.el-tabs__header
{
margin
:
0
;
.el-tabs__item
{
padding
:
0
16px
;
font-size
:
16px
;
}
.is-active
{
font-weight
:
bold
;
}
}
.el-tabs__content
{
width
:
100%
;
}
}
.location
{
font-size
:
14px
;
color
:
#0081FF
;
i
{
margin-right
:
6px
;
font-size
:
16px
;
}
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/supplier/components/AptitudeStandard.vue
0 → 100644
View file @
ead87a57
<
template
>
<div>
<div
class=
"apt_stan_header"
>
<span
v-for=
"(item,index) in list"
class=
"apt_stan_header_span"
:class=
"activeIndex==index?'active_span':''"
:key=
"index"
@
click=
"activeIndex=index"
>
{{
item
}}
</span>
</div>
<div
class=
"apt_stan_content"
>
<div
class=
"apt_stan_content_header"
>
<el-select
v-model=
"value"
placeholder=
"请选择"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
<div
style=
"padding:16px;"
>
<el-table
:data=
"tableData"
:header-cell-style=
"
{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column
label=
"资质名称"
fixed
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
province
}}
</
template
>
</el-table-column>
<el-table-column
label=
"等级"
width=
"274"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
biddingCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"经营范围"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
landInfoCount
||
"--"
}}
</
template
>
</el-table-column>
</el-table>
<div
class=
"apt_stan_content_text_box"
>
·建筑工程是指各类结构形式的民用建筑工程、工业建筑工程、构筑物工程以及相配套的道路、通信、管网管线等设施工程。工程内容包括地基与基础、主体结构、建筑屋面、装修装饰、建筑幕墙、附建人防工程以及给水排水及供暖、通风与空调、电气、消防、智能化、防雷等配套工程;
</div>
</div>
</div>
</div>
</template>
<
script
>
export
default
{
data
(){
return
{
tableData
:[],
activeIndex
:
0
,
list
:[
'建筑业企业资质'
,
'工程监理'
,
'工程设计'
,
'工程勘察'
,
'工程造价咨询'
],
options
:
[
{
value
:
'选项1'
,
label
:
'黄金糕'
},
{
value
:
'选项2'
,
label
:
'双皮奶'
},
{
value
:
'选项3'
,
label
:
'蚵仔煎'
},
{
value
:
'选项4'
,
label
:
'龙须面'
},
{
value
:
'选项5'
,
label
:
'北京烤鸭'
}
],
value
:
''
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.apt_stan_header
{
border-radius
:
0px
0px
4px
4px
;
display
:
flex
;
padding
:
16px
;
background
:
#FFFFFF
;
.apt_stan_header_span
{
cursor
:
pointer
;
font-size
:
14px
;
color
:
#3D3D3D
;
height
:
32px
;
border-radius
:
4px
;
padding
:
5px
12px
;
margin-right
:
12px
;
display
:
inline-block
;
background
:
#F3F4F5
;
}
.active_span
{
background
:
#F6F9FC
;
color
:
#0081FF
;
}
}
.apt_stan_content
{
margin-top
:
16px
;
background
:
#FFFFFF
;
border-radius
:
4px
4px
0px
0px
;
.apt_stan_content_header
{
padding
:
16px
;
border-width
:
0px
0px
1px
0px
;
border-style
:
solid
;
border-color
:
#EEEEEE
;
}
::v-deep
.el-input__inner
{
border
:
none
;
}
.apt_stan_content_text_box
{
border-radius
:
0px
0px
4px
4px
;
padding
:
16px
;
background
:
#FFFFFF
;
border
:
1px
solid
#E6EAF1
;
color
:
#3D3D3D
;
font-size
:
12px
;
margin-top
:
16px
;
}
}
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/supplier/components/BatchImport.vue
0 → 100644
View file @
ead87a57
<
template
>
<el-dialog
title=
"批量查资质"
custom-class=
"batch_import_dialog"
:visible
.
sync=
"visible"
>
<div
class=
"upload"
v-if=
"addfile==false"
>
<div
class=
"up_title"
>
导入Excel文件,高效查询或导出企业信息;查询成功后可使用筛选项二次筛选
</div>
<div>
<div
class=
"step_box"
v-for=
"(item,index) in list"
:key=
"index"
>
<span
class=
"step"
>
{{
index
+
1
}}
</span><span
class=
"step_text"
>
{{
item
}}
</span><span
class=
"step_line"
v-if=
"index!=3"
></span>
</div>
</div>
<div
class=
"up_box"
>
<el-upload
class=
"batch_import_upload"
:action=
"action"
:multiple=
"false"
accept=
".xls,.xlsx"
drag
ref=
"upload"
:auto-upload=
"false"
:file-list=
"fileList"
:on-change=
"handleFileListChange"
:headers=
"headers"
:on-success=
"onSuccess"
>
<img
class=
"up_img"
src=
"@/assets/images/plus.png"
>
<div
class=
"up_text"
>
点击选择文件或将文件拖拽至此导入企业名录
</div>
<div
class=
"up_tip"
>
· 导入的文件内容必须依照下载模板的要求填写);
</div>
<div
class=
"up_tip"
>
· 上传文件最大为2M,仅支持Excel表格文件(xls,xlsx);
</div>
<div
class=
"up_tip"
>
· 单次查询企业数量限时免费 5000 家。
</div>
</el-upload>
</div>
<div
class=
"bd"
></div>
<div
class=
"btns1 clearfix"
>
<div
class=
"btn btn_default dowload"
@
click=
"downloadClick"
><img
src=
"@/assets/images/download.png"
alt=
""
>
下载模板
</div>
<div
class=
"btn btn_primary btn_disabled fr"
v-if=
"isUpload==false"
>
查询
</div>
<div
class=
"btn btn_primary fr"
@
click=
"importConfirmClick"
v-else
>
查询
</div>
<div
class=
"btn btn_default fr"
@
click=
"importCancel"
>
取消
</div>
</div>
</div>
<div
class=
"success"
v-if=
"addfile==true"
>
<div
v-if=
"addsuccess==false"
>
<img
class=
"img"
src=
"@/assets/images/project/clock.png"
>
<div
class=
"p1"
>
查询客户中...
</div>
<div
class=
"p2"
>
请耐心等待,过程大概30秒
</div>
</div>
<div
v-if=
"addsuccess == true"
>
<div
class=
"p3"
>
<img
src=
"@/assets/images/project/success.png"
>
查询成功
</div>
<div
class=
"p2"
>
{{
messages
}}
</div>
<div
class=
"btns"
>
<div
class=
"btn btn_primary h32"
@
click=
"getmsg"
>
查看
</div>
</div>
</div>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
import
"@/assets/styles/project.scss"
import
{
importData
}
from
'@/api/custom/custom'
export
default
{
name
:
'batchImport'
,
props
:{
importtype
:
''
},
data
(){
return
{
list
:[
'下载模版'
,
'按要求在模板内填写企业全称名录'
,
'上传文件'
,
'查询结果'
],
visible
:
false
,
isUpload
:
false
,
//有上传的文件
addfile
:
false
,
//已上传文件
addsuccess
:
false
,
//已成功加入数据
//批量导入
action
:
""
,
fileList
:
[],
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
},
downloadhref
:
''
,
//样例地址
successCount
:
0
,
//成功条数
messages
:
''
,
}
},
created
(){
if
(
this
.
importtype
==
'project'
){
//项目管理
this
.
downloadhref
=
'/file/projectTemplate.xlsx'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
'/business/info/upload'
}
if
(
this
.
importtype
==
'custom'
){
//客户管理
this
.
downloadhref
=
'/file/Template.xlsx'
this
.
action
=
process
.
env
.
VUE_APP_BASE_API
+
"/customer/importData"
}
},
methods
:{
getmsg
(){
this
.
importCancel
()
this
.
$emit
(
'getdatas'
)
},
handleFileListChange
(
file
,
fileList
)
{
var
testmsg
=
file
.
name
.
substring
(
file
.
name
.
lastIndexOf
(
"."
)
+
1
);
const
extension
=
testmsg
===
"xlsx"
;
const
extension1
=
testmsg
===
"xls"
;
if
(
!
extension
&&
!
extension1
)
{
this
.
$message
({
message
:
"上传文件只能是.xls,.xlsx格式!"
,
type
:
"warning"
,
});
return
false
;
}
const
isLt2M
=
file
.
size
/
1024
/
1024
<
2
if
(
!
isLt2M
)
{
this
.
$refs
.
upload
.
clearFiles
()
this
.
$message
({
message
:
'上传文件大小不能超过 2MB!'
,
type
:
'warning'
})
return
false
}
if
(
fileList
.
length
>
0
)
{
this
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
this
.
isUpload
=
true
}
},
onSuccess
(
res
,
file
,
fileList
)
{
if
(
res
.
code
==
200
)
{
this
.
successCount
=
res
.
successCount
if
(
this
.
importtype
==
'project'
){
//项目管理
this
.
messages
=
res
.
msg
}
if
(
this
.
importtype
==
'custom'
){
//客户管理
let
num
=
res
.
data
?
res
.
data
.
length
:
0
let
str
=
'成功导入客户条数'
+
res
.
successCount
+
',客户去重条数'
+
num
this
.
messages
=
str
}
this
.
addsuccess
=
true
}
else
{
this
.
importCancel
()
this
.
$message
.
error
({
message
:
res
.
msg
,
showClose
:
true
})
}
},
downloadClick
()
{
let
a
=
document
.
createElement
(
"a"
);
a
.
setAttribute
(
"href"
,
this
.
downloadhref
);
a
.
setAttribute
(
"download"
,
"批量导入模版.xlsx"
);
document
.
body
.
appendChild
(
a
);
a
.
click
();
a
.
remove
();
},
// 批量导入
importConfirmClick
()
{
if
(
this
.
fileList
.
length
>
0
)
{
this
.
$refs
[
"upload"
].
submit
();
this
.
addfile
=
true
}
else
{
this
.
$message
(
"请先选择文件"
);
}
},
importCancel
(){
this
.
addfile
=
false
this
.
isUpload
=
false
this
.
addsuccess
=
false
this
.
fileList
=
[]
this
.
$emit
(
'cancels'
)
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.batch_import_dialog
{
width
:
656px
;
border-radius
:
4px
;
.el-dialog__header
{
font-size
:
16px
;
color
:
#232323
;
font-weight
:
700
;
}
.el-dialog__body
{
border-top
:
1px
solid
#E5E6EB
;
}
.up_title
{
font-size
:
12px
;
color
:
#666666
;
position
:
absolute
;
top
:
23px
;
left
:
116px
;
}
.upload
{
.step_box
{
display
:
inline-block
;
font-size
:
12px
;
color
:
#3D3D3D
;
.step
{
display
:
inline-block
;
width
:
12px
;
height
:
12px
;
background
:
#0081FF
;
color
:
#ffffff
;
margin-right
:
4px
;
text-align
:
center
;
border-radius
:
50%
;
}
.step_line
{
width
:
27px
;
height
:
1px
;
display
:
inline-block
;
background
:
#D8D8D8
;
position
:
relative
;
top
:
-4px
;
margin
:
0
12px
;
}
}
.up_box
{
margin-top
:
20px
;
.batch_import_upload
{
.el-upload-dragger
{
width
:
616px
;
height
:
224px
;
background
:
#F2F3F5
;
border-radius
:
2px
2px
2px
2px
;
border
:
1px
solid
#E5E6EB
;
.up_img
{
width
:
14px
;
height
:
14px
;
margin-top
:
50px
;
margin-bottom
:
24px
;
}
.up_text
{
font-size
:
14px
;
color
:
#232323
;
margin-bottom
:
4px
;
}
.up_tip
{
color
:
#999999
;
font-size
:
12px
;
height
:
20px
;
line-height
:
20px
;
}
}
}
.el-upload-list__item
{
height
:
36px
;
line-height
:
36px
;
background
:
#F7F8FA
;
border-radius
:
2px
2px
2px
2px
;
a
{
color
:
#1D2129
;
}
.el-icon-close
{
top
:
10px
;
}
}
}
.bd
{
width
:
656px
;
margin-left
:
-20px
;
height
:
1px
;
background
:
#E5E6EB
;
margin-top
:
17px
;
}
.btns1
{
.btn
{
border-radius
:
2px
;
padding
:
0
16px
;
width
:
auto
;
height
:
32px
;
line-height
:
32px
;
margin-top
:
16px
;
}
.btn_default
{
border-color
:
#DCDFE6
;
color
:
#232323
;
margin-left
:
0
;
}
.fr
{
float
:right
;
}
.dowload
{
img
{
width
:
16px
;
height
:
16px
;
}
}
.btn_disabled
{
background
:
#94BFFF
;
color
:
#ffffff
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/supplier/components/SearchAptitude.vue
0 → 100644
View file @
ead87a57
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/supplier/components/SearchResult.vue
0 → 100644
View file @
ead87a57
<
template
>
<div
class=
"search_result_box"
>
<el-table
:data=
"tableData"
:header-cell-style=
"
{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row>
<el-table-column
type=
"index"
label=
"序号"
fixed
width=
"60"
>
<template
slot-scope=
"scope"
>
<span>
{{
(
pageNum
-
1
)
*
pageSize
+
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"表格名称"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
biddingCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"查询时间"
width=
"189"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
landInfoCount
||
"--"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"154"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bondBalance
||
"--"
}}
</
template
>
</el-table-column>
</el-table>
<el-pagination
background
:current-page=
"pageNum"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</template>
<
script
>
export
default
{
data
(){
return
{
tableData
:[],
total
:
0
,
pageNum
:
1
,
}
},
methods
:{
handleCurrentChange
(
pageNum
)
{
this
.
pageNum
=
pageNum
;
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.search_result_box
{
background
:
#ffffff
;
padding
:
16px
;
.el-pagination
{
display
:
flex
;
justify-content
:
end
;
padding
:
0
;
margin-right
:
-5px
;
margin-top
:
16px
;
}
}
</
style
>
\ No newline at end of file
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