Commit a1b02ca2 authored by tianhongyang's avatar tianhongyang

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

parents caac205d d7711d96
......@@ -141,3 +141,12 @@ export function peojectTop(data) {
data: data
})
}
// 集团成员导出
export function memberListExport(data) {
return request({
url: '/combine/info/memberList/export',
method: 'post',
data: data
})
}
......@@ -178,6 +178,51 @@ export const searchOwnerUnitListApi = (data) => request({
method: 'post',
data
});
// 查城投平台导出
export const uipSerachExport = (data) => request({
url: '/enterprise/uipSerach/export',
method: 'post',
data
});
// 企业基本信息导出
export const infoExport = (data) => request({
url: '/enterprise/info/export',
method: 'post',
data
});
// 企业资质导出
export const aptitudeExport = (data) => request({
url: '/enterprise/aptitude/export',
method: 'post',
data
});
export default { label, centralEnterprsesocialPage, centralEnterprselocalPage, centralEnterprseChildPage, centralEnterprsesocial, centralEnterprselocal, centralEnterprseChild, searchCentralEnterprse, centralEnterprse, region, aptitudeCode, personCert, searchDic, regionWebList, uipGroupData, uipSerach, claim, cancelClaim, enterprisePage, infoHeader, historyClaim, customerStatus, searchOwnerUnitListApi };
export default {
label,
centralEnterprsesocialPage,
centralEnterprselocalPage,
centralEnterprseChildPage,
centralEnterprsesocial,
centralEnterprselocal,
centralEnterprseChild,
searchCentralEnterprse,
centralEnterprse,
region,
aptitudeCode,
personCert,
searchDic,
regionWebList,
uipGroupData,
uipSerach,
claim,
cancelClaim,
enterprisePage,
infoHeader,
historyClaim,
customerStatus,
searchOwnerUnitListApi,
uipSerachExport,
infoExport,
aptitudeExport
};
......@@ -337,6 +337,15 @@ export function getUipIdByCid(param) {
})
}
//城投平台导出
export function urbanInvestmentExport(param) {
return request({
url: '/urbanInvestment/export',
method: 'POST',
data: param
})
}
......
......@@ -230,10 +230,9 @@ let getImportantDetail = function getImportantDetail(param) {
})
}
//项目清单导出
let radarExport = function radarExport(param) {
return request({
url: '/radar/export/important',
url: '/radar/importantPage/export',
method: 'post',
data: param
})
......@@ -269,4 +268,4 @@ export default {
tenderDetail,
tenderPage,
getUipIdByCid
}
\ No newline at end of file
}
......@@ -11,7 +11,7 @@ body {
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Arial, sans-serif;
Microsoft YaHei, Arial, sans-serif;
}
label {
......@@ -106,7 +106,7 @@ aside {
line-height: 32px;
font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
......@@ -149,11 +149,11 @@ aside {
padding-right: 20px;
transition: 600ms ease position;
background: linear-gradient(
90deg,
rgba(32, 182, 249, 1) 0%,
rgba(32, 182, 249, 1) 0%,
rgba(33, 120, 241, 1) 100%,
rgba(33, 120, 241, 1) 100%
90deg,
rgba(32, 182, 249, 1) 0%,
rgba(32, 182, 249, 1) 0%,
rgba(33, 120, 241, 1) 100%,
rgba(33, 120, 241, 1) 100%
);
.subtitle {
......@@ -229,9 +229,9 @@ li {
.app-main {
position: relative;
background-color: #f5f5f5;
>div{
width: calc(100% - 48px);
}
>div{
width: calc(100% - 48px);
}
}
.app-container {
margin: 16px 24px;
......@@ -246,7 +246,7 @@ li {
}
}
.el-input__inner::placeholder {
color: rgba(35, 35, 35, 0.8) !important;
color: rgba(35, 35, 35, 0.4) !important;
}
.el-select .el-input .el-select__caret {
color: #232323;
......
* {
padding: 0;
margin: 0;
padding: 0;
margin: 0;
}
......@@ -27,126 +27,126 @@ td,
p,
span,
a {
border: 0;
border: 0;
}
img,
input {
border: none;
vertical-align: middle;
background: none;
outline: none;
border: none;
vertical-align: middle;
background: none;
outline: none;
}
html {
height: 100%;
box-sizing: border-box;
height: 100%;
box-sizing: border-box;
}
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
ul,
ol {
list-style-type: none;
list-style-type: none;
}
th,
td,
input {
font-size: 12px;
font-size: 12px;
}
h3 {
font-size: 14px;
font-size: 14px;
}
s,
i,
em {
font-style: normal;
text-decoration: none;
font-style: normal;
text-decoration: none;
}
button {
border: none;
cursor: pointer;
font-size: 12px;
background-color: transparent;
border: none;
cursor: pointer;
font-size: 12px;
background-color: transparent;
}
select {
border-width: 1px;
_zoom: 1;
border-style: solid;
padding-top: 2px;
font-size: 12px;
border-width: 1px;
_zoom: 1;
border-style: solid;
padding-top: 2px;
font-size: 12px;
}
.clear {
clear: both;
font-size: 1px;
height: 0;
visibility: hidden;
line-height: 0;
clear: both;
font-size: 1px;
height: 0;
visibility: hidden;
line-height: 0;
}
.clearfix:after {
content: "";
display: block;
clear: both;
content: "";
display: block;
clear: both;
}
.clearfix {
zoom: 1;
zoom: 1;
}
.float_left {
float: left;
float: left;
}
.float_right {
float: right;
float: right;
}
.el-input {
width: 100%;
width: 100%;
}
.el-input .el-input__inner {
width: 100%;
height: 34px;
line-height: 34px;
background: #ffffff;
border: 1px solid #e0e0e0;
border-radius: 2px;
box-sizing: border-box;
width: 100%;
height: 34px;
line-height: 34px;
background: #ffffff;
border: 1px solid #e0e0e0;
border-radius: 2px;
box-sizing: border-box;
}
.el-input__icon {
line-height: 34px;
line-height: 34px;
}
.el-dropdown-link {
cursor: pointer;
color: #333333;
cursor: pointer;
color: #333333;
}
.el-dropdown-link .el-input {
width: 100%;
width: 100%;
}
.el-dropdown-link .el-input__inner {
width: 100%;
width: 100%;
}
.el-input--suffix .el-input__inner {
padding-right: 15px;
padding-right: 15px;
}
.el-select .el-input.is-focus .el-input__inner,
......@@ -154,1095 +154,1095 @@ select {
.el-input__inner:focus,
.el-select .el-input__inner:focus,
.el-range-editor.is-active:focus-within {
border-color: #3181fa;
border-color: #3181fa;
}
.el-popper[x-placement^=top] {
margin-bottom: 4px;
margin-bottom: 4px;
}
.el-popper[x-placement^=bottom] {
margin-top: 5px;
margin-top: 5px;
}
.el-select-dropdown .popper__arrow {
display: none;
display: none;
}
.el-popper .popper__arrow {
display: none;
display: none;
}
.select-popper {
text-align: center;
display: inline-block;
position: relative;
color: #333333;
font-size: 14px;
cursor: pointer;
margin-right: 24px;
text-align: center;
display: inline-block;
position: relative;
color: #333333;
font-size: 14px;
cursor: pointer;
margin-right: 24px;
}
.select-popper .color_text {
color: #0381fa;
color: #0381fa;
}
.select-popper .select-popper-img {
width: 24px;
height: 12px;
position: absolute;
top: -10px;
right: 2px;
width: 24px;
height: 12px;
position: absolute;
top: -10px;
right: 2px;
}
.select-popper .el-select__tags,
.select-popper .el-cascader__tags,
.select-popper .el-input__suffix {
display: none;
display: none;
}
.select-popper:hover {
color: #0381fa;
color: #0381fa;
}
.select-popper-active {
color: #0381fa;
color: #0381fa;
}
.select-popper-title {
padding: 4px 6px;
padding: 4px 6px;
}
.select-popper-title .colorhover {
color: #0381fa;
color: #0381fa;
}
.select-popper::-webkit-scrollbar-thumb {
background-color: #a1a3a9;
border-radius: 6px;
background-color: #a1a3a9;
border-radius: 6px;
}
.select-popper::-webkit-scrollbar {
width: 6px;
height: 6px;
width: 6px;
height: 6px;
}
.select-popper::-webkit-scrollbar-track {
background: #fff;
background: #fff;
}
.select-popper::-webkit-scrollbar-corner {
background: #fff;
background: #fff;
}
.select-popper .el-select {
width: 100%;
width: 100%;
}
.cascader-region {
position: absolute;
left: 0;
top: 0px;
opacity: 0;
line-height: 16px;
position: absolute;
left: 0;
top: 0px;
opacity: 0;
line-height: 16px;
}
.cascader-region .el-input {
width: 100%;
line-height: 16px;
width: 100%;
line-height: 16px;
}
.cascader-region .el-input .el-input__inner {
width: 100%;
height: 16px !important;
width: 100%;
height: 16px !important;
}
.content_item .select-caret {
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
line-height: 16px;
font-weight: 400;
color: #333333;
cursor: pointer;
position: relative;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
line-height: 16px;
font-weight: 400;
color: #333333;
cursor: pointer;
position: relative;
}
.select-popper .select-active {
color: #0381fa;
color: #0381fa;
}
.content_item .select-popper:hover .select-caret {
color: #0074E5;
color: #0074E5;
}
.content_item .select-caret:focus {
border: none;
outline: none;
border: none;
outline: none;
}
.select-multiple {
position: absolute;
left: 0;
top: 0px;
opacity: 0;
line-height: 16px;
position: absolute;
left: 0;
top: 0px;
opacity: 0;
line-height: 16px;
}
.select-multiple .el-input {
width: 100%;
line-height: 16px;
width: 100%;
line-height: 16px;
}
.select-multiple .el-input .el-input__inner {
width: 100%;
height: 16px !important;
width: 100%;
height: 16px !important;
}
.select-multiple .el-tag__close.el-icon-close {
display: none;
display: none;
}
.el-dropdown-land {
margin-right: 24px;
margin-right: 24px;
}
.el-dropdown-land .color_text {
color: #1890ff;
background-color: #FFFFFF;
color: #1890ff;
background-color: #FFFFFF;
}
.el-dropdown-menu .color_text {
color: #1890ff;
background-color: #FFFFFF;
color: #1890ff;
background-color: #FFFFFF;
}
.el-dropdown-land .el-icon-caret-bottom {
color: rgba(35,35,32,0.4);
margin-left: 2px;
color: rgba(35,35,32,0.4);
margin-left: 2px;
}
.el-icon-caret-bottom:before{
color: rgba(35,35,32,0.4);
color: rgba(35,35,32,0.4);
}
}
.land_date_picker {
position: absolute !important;
visibility: hidden;
left: 100px;
top: 206px;
position: absolute !important;
visibility: hidden;
left: 100px;
top: 206px;
}
.jabph_popper_box {
position: absolute;
left: 144px;
bottom: -1px;
background: #ffffff;
width: 186px;
color: #606266;
text-indent: 0;
padding: 16px;
padding-top: 0px;
border: 1px solid #e0e0e0;
position: absolute;
left: 144px;
bottom: -1px;
background: #ffffff;
width: 186px;
color: #606266;
text-indent: 0;
padding: 16px;
padding-top: 0px;
border: 1px solid #e0e0e0;
}
.jabph_popper_box .jabph_popper_wrap {
margin-top: 16px;
display: inline-block;
margin-top: 16px;
display: inline-block;
}
.jabph_popper_box .jabph_popper_wrap .jabph_popper_input {
width: 100px;
display: inline-block;
margin: 0px 8px;
width: 100px;
display: inline-block;
margin: 0px 8px;
}
.jabph_popper_box .jabph_popper_wrap .jabph_popper_input .el-input__inner {
width: 100px;
width: 100px;
}
.jabph_popper_box div:last-child {
display: flex;
justify-content: center;
margin-top: 16px;
display: flex;
justify-content: center;
margin-top: 16px;
}
.jabph_popper_box1 {
left: 0;
border: none;
left: 0;
border: none;
}
.jabph_popper_box2 {
left: 101px;
left: 101px;
}
.jabph_popper_box3 {
left: 115px;
left: 115px;
}
.content_item .geduan {
width: 100%;
height: 0px;
opacity: 1;
border-bottom: 1px solid #EFEFEF;
margin-top: 20px;
margin-bottom: 24px;
width: 100%;
height: 0px;
opacity: 1;
border-bottom: 1px solid #EFEFEF;
margin-top: 20px;
margin-bottom: 24px;
}
.content_item .search-new {
width: 100%;
padding-bottom: 24px;
font-size: 14px;
width: 100%;
padding-bottom: 24px;
font-size: 14px;
}
.content_item .search-new span:last-child {
display: inline-block;
width: 80px;
text-align: center;
color: #5B5B5B;
line-height: 32px;
cursor: pointer;
border-radius: 4px;
border: 1px solid #D4D4D4;
opacity: 1;
display: inline-block;
width: 80px;
text-align: center;
color: #5B5B5B;
line-height: 32px;
cursor: pointer;
border-radius: 4px;
border: 1px solid #D4D4D4;
opacity: 1;
}
.content_item .search-new span:first-child {
margin-right: 12px;
display: inline-block;
width: 80px;
text-align: center;
cursor: pointer;
background: #0089ff;
color: #fff;
line-height: 34px;
border-radius: 4px;
opacity: 1;
margin-right: 12px;
display: inline-block;
width: 80px;
text-align: center;
cursor: pointer;
background: #0089ff;
color: #fff;
line-height: 34px;
border-radius: 4px;
opacity: 1;
}
.content_item .search-new span:first-child:hover {
background: #0080FF;
background: #0080FF;
}
.content_item .search-new span:last-child:hover {
background: #f5faff;
color: #0081FF;
border-color: #0081FF;
background: #f5faff;
color: #0081FF;
border-color: #0081FF;
}
.toolbar-right-download {
padding: 6px 16px;
position: relative;
top: 1px;
margin: 0px;
cursor: pointer;
font-weight: 400;
color: #232323;
background: #FFFFFF;
border-radius: 2px;
text-align: center;
font-size: 14px;
font-weight: 400;
padding: 6px 16px;
position: relative;
top: 1px;
margin: 0px;
cursor: pointer;
font-weight: 400;
color: #232323;
background: #FFFFFF;
border-radius: 2px;
text-align: center;
font-size: 14px;
font-weight: 400;
}
.toolbar-right-download .el-icon-arrow-down {
margin-left: 8px;
margin-left: 8px;
}
.viewlist-el-popover {
min-width: 130px;
padding: 0px;
min-width: 130px;
padding: 0px;
}
.viewlist-el-popover .pup_list {
line-height: 36px;
text-align: left;
margin: 4px 0;
cursor: pointer;
line-height: 36px;
text-align: left;
margin: 4px 0;
cursor: pointer;
}
.viewlist-el-popover .pup_list li {
padding: 0 16px;
padding: 0 16px;
}
.viewlist-el-popover .pup_list li span {
position: relative;
display: inline-block;
position: relative;
display: inline-block;
}
.viewlist-el-popover .pup_list li:hover {
color: #0081FF;
background: #F4F6F9;
color: #0081FF;
background: #F4F6F9;
}
.viewlist-el-popover .pup_list .activefield {
color: #0081FF;
background: #F4F6F9;
color: #0081FF;
background: #F4F6F9;
}
.viewlist-el-popover .pup_list_export li {
display: flex;
align-items: center;
padding-right: 0px;
display: flex;
align-items: center;
padding-right: 0px;
}
.viewlist-el-popover .pup_list_export li img {
width: auto;
height: 12px;
margin-left: 4px;
width: auto;
height: 12px;
margin-left: 4px;
}
.viewlist-el-popover .pup_zhclist .active {
color: #0081FF;
background: #F4F6F9;
color: #0081FF;
background: #F4F6F9;
}
.viewlist-el-popover .pup_zhclist li span:hover {
color: #0081FF;
font-weight: 400;
color: #0081FF;
font-weight: 400;
}
.viewlist-el-popover .pup_zhclist .active span {
color: #0081FF;
font-weight: 400;
color: #0081FF;
font-weight: 400;
}
.viewlist-el-popover .pup_list_export li .lowerRate_imgzhc {
width: 39px;
height: 14px;
width: 39px;
height: 14px;
}
.content_item_ckquery .item_ckquery_list {
display: flex;
display: flex;
}
.content_item_ckquery .item_ckquery_list .el-input__icon {
position: relative;
top: 1px;
position: relative;
top: 1px;
}
.content_item_ckquery .item_ckquery_distance {
margin-top: 8px;
margin-top: 8px;
}
.ckquery_list_right {
width: 716px;
width: 716px;
}
.content_item_ckquery .item_ckquery_btn {
display: inline-block;
border-radius: 2px 2px 2px 2px;
cursor: pointer;
text-align: center;
font-size: 14px;
margin-left: 16px;
margin-right: 24px;
padding: 0px 8px;
height: 34px;
line-height: 34px;
border: 1px solid #0081FF;
font-weight: 400;
color: #0081FF;
display: inline-block;
border-radius: 2px 2px 2px 2px;
cursor: pointer;
text-align: center;
font-size: 14px;
margin-left: 16px;
margin-right: 24px;
padding: 0px 8px;
height: 34px;
line-height: 34px;
border: 1px solid #0081FF;
font-weight: 400;
color: #0081FF;
}
.content_item_ckquery .item_ckquery_btn:hover {
background: #0080FF;
color: #fff;
background: #0080FF;
color: #fff;
}
.content_item_ckquery .el-radio__label {
margin-left: 0px;
padding-left: 4px;
margin-right: 24px;
margin-left: 0px;
padding-left: 4px;
margin-right: 24px;
}
.content_item_list {
line-height: 34px;
line-height: 34px;
}
.content_item_zizi .el-radio__label {
margin-right: 0;
margin-right: 0;
}
.content_item_zizi .el-cascader-node>.el-radio {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 40px;
opacity: 0;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 40px;
opacity: 0;
}
.el-select-dropdown.is-multiple .el-select-dropdown__item:hover {
color: #3181fa;
color: #3181fa;
}
.select-list {
color: #666;
line-height: 24px;
font-size: 14px;
padding: 0;
user-select: none;
min-width: 100px;
max-width: 380px;
max-height: 400px;
overflow: auto;
box-shadow: none;
border-radius: 0;
background-color: #fff;
padding: 6px 0px;
color: #666;
line-height: 24px;
font-size: 14px;
padding: 0;
user-select: none;
min-width: 100px;
max-width: 380px;
max-height: 400px;
overflow: auto;
box-shadow: none;
border-radius: 0;
background-color: #fff;
padding: 6px 0px;
}
.select-radio {
max-height: 400px;
background: #fff;
max-height: 400px;
background: #fff;
}
.select-radio[x-placement^=bottom] {
margin-top: 8px;
margin-top: 8px;
}
.select-radio .select-radio-list {
position: relative;
position: relative;
}
.select-radio .select-radio-icon {
position: absolute;
top: 8px;
right: 4px;
position: absolute;
top: 8px;
right: 4px;
}
.select-radio .select-radio-picker {
opacity: 0;
position: absolute;
top: -6px;
left: 0;
width: 0px;
opacity: 0;
position: absolute;
top: -6px;
left: 0;
width: 0px;
}
.select-radio::-webkit-scrollbar-thumb {
background-color: #b9b9b9 !important;
border-radius: 6px !important;
background-color: #b9b9b9 !important;
border-radius: 6px !important;
}
.select-radio::-webkit-scrollbar {
width: 6px !important;
height: 6px !important;
width: 6px !important;
height: 6px !important;
}
.select-radio::-webkit-scrollbar-track {
background: #fff !important;
background: #fff !important;
}
.select-radio::-webkit-scrollbar-corner {
background: #fff !important;
background: #fff !important;
}
.select-list li {
cursor: pointer;
display: block;
padding: 0;
cursor: pointer;
display: block;
padding: 0;
}
.select-list li:hover {
color: #0381fa;
background: #f2f7ff;
color: #0381fa;
background: #f2f7ff;
}
.select-list li .el-icon--right {
float: right;
margin-top: 4px;
float: right;
margin-top: 4px;
}
.select-list .el-dropdown-menu__item {
padding: 0;
padding: 0;
}
.select-list .el-dropdown-menu__item :hover {
color: #0381fa;
background: #f2f7ff;
color: #0381fa;
background: #f2f7ff;
}
.select-list .select-list-li {
text-align: left;
padding: 0px 16px;
line-height: 32px;
position: relative;
text-align: left;
padding: 0px 16px;
line-height: 32px;
position: relative;
}
.select-list-li .ivu-date-picker .ivu-select-dropdown {
/* position: absolute;
top: 0;
left: 0;
width: 96px;
opacity: 0; */
left: 120px !important;
z-index: 1000;
/* position: absolute;
top: 0;
left: 0;
width: 96px;
opacity: 0; */
left: 120px !important;
z-index: 1000;
}
.ivu-select-dropdown {
z-index: 9000;
z-index: 9000;
}
.select-list-li-span {
width: 96px;
width: 96px;
}
.select-list .active {
color: #0381fa;
background: #f2f7ff;
color: #0381fa;
background: #f2f7ff;
}
.select-list .active .el-radio__label {
color: #0381fa;
color: #0381fa;
}
.select-list-left {
border-left: 1px solid #ccc;
margin-left: 2px;
border-left: 1px solid #ccc;
margin-left: 2px;
}
.select-list .el-radio {
display: block;
line-height: 36px;
margin: 0;
display: block;
line-height: 36px;
margin: 0;
}
.select-list .el-radio .el-radio__label {
padding-left: 16px;
padding-right: 16px;
display: block;
margin: 0;
padding-left: 16px;
padding-right: 16px;
display: block;
margin: 0;
}
.select-list .el-radio .el-radio__label:hover {
color: #0381fa;
background: #f2f7ff;
color: #0381fa;
background: #f2f7ff;
}
.select-list .el-radio__input.is-checked+.el-radio__label {
background: #f2f7ff;
background: #f2f7ff;
}
.select-list .el-radio__input {
display: none;
display: none;
}
.checkbox {
display: flex;
align-items: flex-start;
display: flex;
align-items: flex-start;
}
.checkbox .checkbox-titel {
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
margin-right: 24px;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
margin-right: 24px;
}
.checkbox .checkbox-content {
display: flex;
align-items: flex-start;
display: flex;
align-items: flex-start;
}
.checkbox .el-checkbox__label {
padding-left: 6px;
color: #606266;
padding-left: 6px;
color: #606266;
}
.checkbox .checkbox-content .checkbox-content-qx {
margin-right: 24px;
margin-right: 24px;
}
.toolbar-right-search {
margin-left: 16px;
margin-left: 16px;
}
.bottomlist-title-left {
display: inline-flex;
align-items: center;
display: inline-flex;
align-items: center;
}
.toolbar-right-search .toolbar-right_input {
width: 228px;
display: inline-flex;
align-items: center;
width: 228px;
display: inline-flex;
align-items: center;
}
.toolbar-right-search .el-input__inner {
width: 228px;
height: 32px;
line-height: 32px;
width: 228px;
height: 32px;
line-height: 32px;
}
.toolbar-right-search .el-input .el-input__inner {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: none;
height: 30px;
line-height: 30px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: none;
height: 30px;
line-height: 30px;
}
.toolbar-right-search .el-input-group__append {
padding: 0;
padding: 0;
}
.toolbar-right-search .toolbar-right-search .el-input .el-input__inner {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: none;
height: 30px;
line-height: 30px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: none;
height: 30px;
line-height: 30px;
}
.toolbar-right-search .result-search {
width: 59px;
height: 30px;
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
text-align: center;
line-height: 30px;
padding: 0;
cursor: pointer;
color: #0081FF;
background: #F5F5F5;
border: 1px solid #D9D9D9;
border-left: none;
width: 59px;
height: 30px;
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
text-align: center;
line-height: 30px;
padding: 0;
cursor: pointer;
color: #0081FF;
background: #F5F5F5;
border: 1px solid #D9D9D9;
border-left: none;
}
.info-list {
display: flex;
/* width: 1200px; */
margin: auto;
background: #fff;
padding: 24px 0px;
/* border-bottom: 1px solid #EFEFEF; */
position: relative;
/* cursor: pointer; */
display: flex;
/* width: 1200px; */
margin: auto;
background: #fff;
padding: 24px 0px;
/* border-bottom: 1px solid #EFEFEF; */
position: relative;
/* cursor: pointer; */
}
.info-list .solid{
position: absolute;
padding: 0 16px;
bottom: 0px;
width: 100%;
position: absolute;
padding: 0 16px;
bottom: 0px;
width: 100%;
}
.info-list .solid p{
width: 100%;
height: 1px;
background-color: #EFEFEF;
width: 100%;
height: 1px;
background-color: #EFEFEF;
}
.info-list:hover {
background: #F5FAFF;
background: #F5FAFF;
}
.info-list .info-list-left {
padding: 0px 16px;
display: flex;
justify-content: center;
align-items: flex-start;
padding: 0px 16px;
display: flex;
justify-content: center;
align-items: flex-start;
}
.info-list .info-list-right {
width: auto;
width: auto;
}
.info-list-left img {
width: 72px;
height: 72px;
width: 72px;
height: 72px;
}
.info-list-left .list-left-titel {
width: 78px;
height: 78px;
line-height: 78px;
border-radius: 4px 4px 4px 4px;
text-align: center;
color: #fff;
font-size: 32px;
width: 78px;
height: 78px;
line-height: 78px;
border-radius: 4px 4px 4px 4px;
text-align: center;
color: #fff;
font-size: 32px;
}
.info-list-right .card-right-title {
display: flex;
align-items: center;
line-height: 18px;
font-size: 14px;
/* cursor: pointer; */
display: flex;
align-items: center;
line-height: 18px;
font-size: 14px;
/* cursor: pointer; */
}
.info-list-right .card-right-title .card-right-img {
width: 14px;
height: 14px;
margin-right: 2px;
margin-top: 2px;
width: 14px;
height: 14px;
margin-right: 2px;
margin-top: 2px;
}
.info-list-right .card-right-title .right-title-black {
display: inline-block;
font-weight: 400;
color: #333333;
margin-right: 24px;
display: inline-block;
font-weight: 400;
color: #333333;
margin-right: 24px;
}
.info-list-right .card-right-title .right-title-black-640 {
max-width: 640px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 640px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.info-list-right .card-right-title .right-title-blue {
font-weight: 400;
color: #0081FF;
margin-right: 24px;
cursor: pointer;
font-weight: 400;
color: #0081FF;
margin-right: 24px;
cursor: pointer;
}
.info-list-right .card-right-title .right-title-grey {
font-weight: 400;
color: #999999;
font-weight: 400;
color: #999999;
}
.info-list-right .card-right-title .right-title-blue .blue {
color: #0081FF;
margin-right: 12px;
color: #0081FF;
margin-right: 12px;
}
.info-list-right .card-right-title .right-title-blue .black {
color: #333333;
margin-right: 12px;
color: #333333;
margin-right: 12px;
}
.info-list-right .card-right-title .right-title-blue .grey {
color: #999999;
margin-right: 12px;
color: #999999;
margin-right: 12px;
}
/* 标题 */
.info-list-right .card-right-title .title {
font-size: 18px;
font-weight: bold;
color: #333333;
margin-right: 12px;
line-height: 24px;
cursor: pointer;
padding: 0;
font-size: 18px;
font-weight: bold;
color: #333333;
margin-right: 12px;
line-height: 24px;
cursor: pointer;
padding: 0;
}
.info-list-right .card-right-title .right-title-caption {
font-size: 18px;
font-weight: bold;
color: #333333;
margin-right: 12px;
line-height: 24px;
cursor: pointer;
/* height: 24px; */
font-size: 18px;
font-weight: bold;
color: #333333;
margin-right: 12px;
line-height: 24px;
cursor: pointer;
/* height: 24px; */
}
/* 地区标签 */
.info-list-right .card-right-title .region {
display: inline-block;
border-radius: 2px 2px 2px 2px;
border: 1px solid #099D4B;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #F3F3FF;
color: #8491E8;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
border: 1px solid #099D4B;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #F3F3FF;
color: #8491E8;
margin-right: 8px;
}
/* 曾用名 */
.info-list-right .card-right-title .formername {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #EEEEEE;
color: #838383;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #EEEEEE;
color: #838383;
margin-right: 8px;
}
/* 正向标签 */
.info-list-right .card-right-title .positive {
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
height: 22px;
padding: 0 16px;
color: #54BC7E;
background-color: #ECF6E7;
margin-right: 8px;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
height: 22px;
padding: 0 16px;
color: #54BC7E;
background-color: #ECF6E7;
margin-right: 8px;
}
/* 中性标签 */
.info-list-right .card-right-title .neutral {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #E4F3FD;
color: #41A1FD;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #E4F3FD;
color: #41A1FD;
margin-right: 8px;
}
.info-list-right .card-right-title .neutral1 {
margin-bottom: 8px;
margin-bottom: 8px;
}
/* 警示标签 */
.info-list-right .card-right-title .warning {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FFF3F3;
color: #FD5757;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FFF3F3;
color: #FD5757;
margin-right: 8px;
}
/* 其它紫色 */
.info-list-right .card-right-title .purple {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FCF3FF;
color: #B589DB;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FCF3FF;
color: #B589DB;
margin-right: 8px;
}
/*地区淡蓝色 */
.info-list-right .card-right-title .cityblue {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #F3F3FF;
color: #8491E8;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #F3F3FF;
color: #8491E8;
margin-right: 8px;
}
/* 工程用途 */
.info-list-right .card-right-title .purposeStr {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #E3F6F8;
color: #44BCC4;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #E3F6F8;
color: #44BCC4;
margin-right: 8px;
}
/* 荣誉奖项 */
.info-list-right .card-right-title .honoraryaward {
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FFF1DC;
color: #BFA061;
margin-right: 8px;
display: inline-block;
border-radius: 2px 2px 2px 2px;
display: inline-block;
text-align: center;
font-size: 12px;
line-height: 22px;
padding: 0 16px;
background: #FFF1DC;
color: #BFA061;
margin-right: 8px;
}
.info-list-right .card-right-title .honoraryaward .color-0 {
background: #E4F3FD;
color: #41A1FD;
background: #E4F3FD;
color: #41A1FD;
}
.info-list-right .card-right-title .honoraryaward .color-1 {
background: #FFF1DC;
color: #BFA061;
background: #FFF1DC;
color: #BFA061;
}
.info-list-right .card-right-title .honoraryaward .color-2 {
background: #E3F6F8;
color: #44BCC4;
background: #E3F6F8;
color: #44BCC4;
}
.info-list-right .card-right-title .honoraryaward .color-3 {
background: #F3F3FF;
color: #8491E8;
background: #F3F3FF;
color: #8491E8;
}
.info-list-right .card-right-title .honoraryaward .color-4 {
background: #FCF3FF;
color: #B589DB;
background: #FCF3FF;
color: #B589DB;
}
.info-list-right .card-right-title .honoraryaward .color-5 {
background: #E4F3FD;
color: #41A1FD;
background: #E4F3FD;
color: #41A1FD;
}
.info-list-right .card-right-title .honoraryaward .color-6 {
background: #FFF1DC;
color: #BFA061;
background: #FFF1DC;
color: #BFA061;
}
.info-list-right .card-right-title .honoraryaward .color-7 {
background: #E3F6F8;
color: #44BCC4;
background: #E3F6F8;
color: #44BCC4;
}
.info-list-right .card-right-title .honoraryaward .color-8 {
background: #F3F3FF;
color: #8491E8;
background: #F3F3FF;
color: #8491E8;
}
.info-list-right .card-right-title .honoraryaward .color-9 {
background: #FCF3FF;
color: #B589DB;
background: #FCF3FF;
color: #B589DB;
}
.performance_other_select.el-select-dropdown.el-popper .el-select-dropdown__wrap.el-scrollbar__wrap {
max-height: 274px;
max-height: 274px;
}
.performance_other_select .el-scrollbar {
display: block !important;
display: block !important;
}
.performance_other_select .performance_source_name_ipt {
margin: 10px 20px;
width: 300px;
margin: 10px 20px;
width: 300px;
}
.performance_pagination_wrap {
border-top: 1px solid #EFEFEF;
padding-right: 6px;
padding-bottom: 16px;
margin-bottom: 24px;
border-top: 1px solid #EFEFEF;
padding-right: 6px;
padding-bottom: 16px;
margin-bottom: 24px;
}
.performance_pagination_wrap .common-pagination {
margin-top: 16px;
margin-top: 16px;
}
.table-item .el-table tr,
.table-item .el-table td {
font-size: 14px;
font-size: 14px;
}
.table-item-jf .el-table tr,
.table-item-jf .el-table td {
font-size: 14px;
font-size: 14px;
}
.table-item-jf1 {
padding: 0px 16px;
padding: 0px 16px;
}
.table-item-jf1 .item-jf-img {
display: block;
margin: 24px auto;
width: 108px;
display: block;
margin: 24px auto;
width: 108px;
}
.table-item-jf1 .item-jf-titel {
font-size: 16px;
font-weight: 400;
color: #333333;
line-height: 21px;
margin-bottom: 8px;
text-align: center;
font-size: 16px;
font-weight: 400;
color: #333333;
line-height: 21px;
margin-bottom: 8px;
text-align: center;
}
.table-item-jf1 .item-jf-text {
font-size: 14px;
font-weight: 400;
color: #999999;
line-height: 18px;
padding-bottom: 48px;
text-align: center;
font-size: 14px;
font-weight: 400;
color: #999999;
line-height: 18px;
padding-bottom: 48px;
text-align: center;
}
.title_wrap{
padding: 20px;
background-color: #FFFFFF;
border-bottom: 1px solid #e0e0e0;
padding: 20px;
background-color: #FFFFFF;
border-bottom: 1px solid #e0e0e0;
}
.enterprise_title{
border-left: 2px solid #445781;
padding-left: 8px;
font-size: 16px;
height: 16px;
line-height: 16px;
font-weight: 700;
color: #232323;
}
border-left: 2px solid #445781;
padding-left: 8px;
font-size: 16px;
height: 16px;
line-height: 16px;
font-weight: 700;
color: #232323;
}
.enterprise_contatiner{
}
.el-input-group__append{
cursor: pointer;
padding: 0px;
border-radius:2px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
&:hover{
background: #0081FF!important;
.btn-search{
color: #FFFFFF;
}
}
.btn-search{
width: 70px;
color: #0081ff;
text-align: center;
}
.btn-search1{
width: 60px;
}
cursor: pointer;
padding: 0px;
border-radius:2px;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
&:hover{
background: #0081FF!important;
.btn-search{
color: #FFFFFF;
}
}
.btn-search{
width: 70px;
color: #0081ff;
text-align: center;
}
.btn-search1{
width: 60px;
}
}
<template>
<div class="child-container">
<el-dialog :visible.sync="dialogExportVisible" width="640px" append-to-body class="dialogExport">
<el-dialog :visible.sync="dialogExportVisible" width="770px" append-to-body class="dialogExport" :close-on-click-modal="false" :show-close='false'>
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />数据导出
<!--<img class="tip-img" src="@/assets/images/icon.png" />-->
数据导出
</template>
<div class="exportTitle"><span>文件名称</span><p>{{data.title}}</p></div>
<img class="exportImg" src="@/assets/images/export.png" />
<div class="table-item">
<el-table :data="exportTableData">
<el-table-column prop="issueTime" label="招标发布时间" width="110"></el-table-column>
<el-table-column prop="tenderee" label="招标成员" width="200"></el-table-column>
<el-table-column prop="stockPercent" label="持股比例" min-width="100"></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="220"></el-table-column>
<el-table-column prop="bidAmount" label="预算金额" min-width="100"></el-table-column>
<el-table-column prop="address" label="项目地区" min-width="100"></el-table-column>
<el-table-column prop="subjectMatter" label="招标采购分类" min-width="130"></el-table-column>
<el-table-column prop="projectType" label="项目类型" min-width="100"></el-table-column>
<el-table-column prop="agency" label="代理单位" min-width="160"></el-table-column>
<el-table-column
v-for="(item,index) in forData"
:key="index"
:label="item.label"
:prop="item.prop"
:width="item.width"
:min-width="item.minWidth"></el-table-column>
</el-table>
</div>
<div class="input">
导出数量:
<el-input placeholder="" v-model="value" oninput="value=value.replace(/[^\d]/g,'')">
<template slot="append"></template>
</el-input>
<p v-if="value > 2000"><i class="el-icon-error"></i>最多支持导出2000条,如需更多请联系销售人员</p>
<div>
导出数量:
<el-input placeholder="" v-model="value" oninput="value=value.replace(/[^\d]/g,'')">
<template slot="append"></template>
</el-input>
<p class="tips1"><span>导出文件格式为Excel表格</span><span>最多导出2000条数据,若需导出更多数据,请联系大司空工作人员。</span></p>
</div>
<p class="tips2" v-if="value > 2000">导出数据最多支持导出2000条数据</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="clickEXCEL">确认导出</el-button>
<el-button @click="cancel(1)">取消</el-button>
<el-button @click="handleCancel()">取消</el-button>
<el-button type="primary" @click="handleEXCEL">确认导出</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogExportVisible1" width="640px" append-to-body class="dialogExport">
<el-dialog :visible.sync="dialogExportVisible1" width="348px" append-to-body class="dialogExport1" @close="handleCancel2">
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />
数据导出
<img class="tip-img" src="@/assets/images/success.png" />
提交成功
</template>
<div class="content">
<img class="success" src="@/assets/images/success.png" />
<p class="p1">导出成功</p>
<p class="p2">
在个人中心查看导出表格
<span @click="toUrl">前往个人中心</span>
前往个人中心查看导出的全部表格
<!--<span @click="toUrl">前往个人中心</span>-->
</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="downloadFile(exportData.url,exportData.originalName)">下载表格</el-button>
<el-button @click="cancel(2)">取消</el-button>
<el-button @click="handleCancel2()">取消</el-button>
<!--<el-button type="primary" @click="downloadFile(exportData.url,exportData.originalName)">下载表格</el-button>-->
<el-button type="primary" @click="toUrl">前往个人中心</el-button>
</div>
</el-dialog>
</div>
......@@ -61,39 +64,60 @@ export default {
data() {
return {
dialogExportVisible: this.data.dialogExportVisible,
dialogExportVisible1: this.data.dialogExportVisible1,
dialogExportVisible1: false,
exportTableData:[],
forData:[],
value:'',
}
},
watch: {
'data.exportEXCEL':{
handler(newValue, oldValue) {
if(newValue === true){
this.dialogExportVisible=false;
this.dialogExportVisible1=true;
}
},
immediate: true
},
},
created() {
this.exportTableData=this.data.exportTableData
this.forData=this.data.forData;
},
computed: {
},
methods: {
clickEXCEL(){
this.$emit('clickEXCEL',this.value)
handleEXCEL(){
this.$nextTick(() => {
this.$emit('clickEXCEL',this.value)
})
},
handleCancel(){
this.dialogExportVisible=false;
this.$parent.cancel();
},
cancel(key){
this.$emit('cancel',key)
handleCancel2(){
this.dialogExportVisible1=false;
this.$parent.cancel();
},
downloadFile(url, fileName) {
downloadFile() {
const x = new XMLHttpRequest()
x.open("GET", url, true)
x.open("GET", this.exportEXCEL.url, true)
x.responseType = 'blob'
x.onload=function(e) {
const url = window.URL.createObjectURL(x.response)
const a = document.createElement('a')
a.href = url
a.download = fileName
a.download = this.exportEXCEL.fileName
a.click()
a.remove()
}
x.send()
},
toUrl(){
this.$parent.cancel();
this.dialogExportVisible1=false;
this.$router.push({
path: '/user/profile',
......@@ -129,12 +153,41 @@ export default {
}
}
}
.exportTitle{
height: 34px;
margin-bottom: 20px;
span{
color: rgba(35,35,35,0.8);
font-size: 14px;
margin-right: 12px;
}
p{
display: inline-block;
width: 669px;
border: 1px solid #D9D9D9;
border-radius: 2px;
height: 32px;
line-height: 32px;
color: #232323;
margin: 0;
padding-left: 12px;
}
}
.exportImg{
width: 84px;
height: 24px;
display: block;
}
.el-dialog__body{
padding: 16px;
padding: 16px 16px 24px 16px;
border-bottom: 1px solid #E5E6EB;
.input{
margin-top: 16px;
position: relative;
.el-input{
width: 160px;
width: 120px;
border-radius: 2px;
height: 32px;
.el-input__inner{
......@@ -145,19 +198,30 @@ export default {
.el-input-group__append{
padding: 0 14px;
}
p{
color: #FF3C3C;
.el-input-group__append:hover{
background: #F5F7FA !important;
}
.tips1{
color: rgba(35,35,35,0.4);
font-size: 12px;
margin-left: 12px;
display: inline-block;
i{
font-size: 14px;
margin-right: 4px;
position: absolute;
left: 220px;
top: 0;
span{
display: block;
}
}
.tips2{
color: #FF3C3C;
font-size: 12px;
margin-top: 8px;
line-height: 20px;
margin-left: 75px;
}
}
.content{
text-align: center;
/*text-align: center;*/
margin-top: 36px;
.success{
width: 64px;
......@@ -168,14 +232,47 @@ export default {
padding: 0;
margin: 0;
}
.p1{
color: #232323;
font-size: 16px;
margin-bottom: 8px;
}
}
.el-dialog__footer{
text-align: right;
padding: 16px 20px;
}
}
}
.dialogExport1{
::v-deep .el-dialog{
.el-dialog__header{
height: 48px;
line-height: 48px;
padding: 0 16px;
font-weight: bold;
color: #1D2129;
font-size: 16px;
.tip-img{
width: 18px;
height: 18px;
margin-right: 7px;
margin-bottom: -3px;
}
.el-dialog__headerbtn{
font-size: 20px;
font-weight: bold;
top: 15px;
.el-dialog__close{
color:#999999;
}
}
}
.el-dialog__body{
padding: 0 16px;
.content{
text-align: center;
.p2{
color: rgba(35,35,35,0.4);
font-size: 14px;
margin: 6px;
span{
color:#0081FF;
cursor: pointer;
......@@ -184,8 +281,8 @@ export default {
}
}
.el-dialog__footer{
text-align: center;
padding-bottom: 24px;
text-align: right;
padding: 16px 20px;
}
}
}
......
......@@ -10,13 +10,13 @@
<div class="table_search">
<div>
<!-- 未点击前的输入框样式 -->
<div class="normal-search-container" :class="{'is-hover-search' : hover}" @mouseover="searchHover($event)"
@mouseleave="searchUnHover($event,searchParam.companyName)">
<div class="normal-search-container" :class="{'is-hover-search' : searchHoverStatus}" @mouseover="searchHover($event)"
@mouseleave="searchUnHover($event)">
<img src="@/assets/images/enterprise/enterprise-search-icon.svg" alt="">
<span v-show="!hover && !searchParam.companyName">搜索</span>
<el-input v-model="searchParam.companyName" placeholder="输入关键词查询"
@focus="searchFocus($event)" @blur="searchBlur($event)" @keydown.native.enter="getCustomerList"
@input="value => searchInput(value)" v-show="hover || searchParam.companyName">
<span v-if="!searchHoverStatus && !searchParam.companyName">搜索</span>
<el-input v-model="searchParam.companyName" placeholder="输入关键词查询" style="width:238px;" @focus="searchFocus($event)"
@blur="searchBlur($event)" @input="value => searchInput(value)" v-else="searchHoverStatus || searchParam.companyName"
@keydown.native.enter="handleSearch">
<template slot="suffix">
<transition mode="out-in" appear name="fade">
<img src="@/assets/images/enterprise/search-input-clear-icon.svg" alt="" @click.stop="searchParam.companyName = '';getCustomerList()"
......@@ -253,6 +253,7 @@ export default {
RLcompanyName:'',//重新认领企业名称
isSkeleton:true,
showClearIcon: false,
searchHoverStatus: false,
hover: false,
}
},
......@@ -345,6 +346,12 @@ export default {
this.handleCurrentChange(1)
}
},
handleSearch() {
this.$nextTick(() => {
this.searchParam.pageNum = 1;
this.getCustomerList();
});
},
//翻页
handleCurrentChange(val) {
this.isSkeleton = true
......@@ -358,19 +365,28 @@ export default {
}
},
searchBlur(event) {
this.showClearIcon=false
const { target } = event;
// 失去焦点没有文字
if (!target?.value?.length) {
this.searchHoverStatus = false;
}
this.showClearIcon = false;
this.getCustomerList();
},
searchInput(value) {
if (value?.length) {
this.showClearIcon=true
this.showClearIcon = true;
} else {
this.showClearIcon = false;
}
},
searchHover(event) {
this.hover=true
this.searchHoverStatus = true;
},
searchUnHover(event, value) {
if (!value) {
this.hover=false
searchUnHover(event) {
if (!this.searchParam.companyName) {
this.showClearIcon = false;
this.searchHoverStatus = false;
}
},
}
......
......@@ -7,7 +7,8 @@
:query-params="queryParams"
:total="tableDataTotal"
:headerFixed="true"
:isExcel="false"
:isExcel="true"
@handle-excel="clickDialog"
@handle-search="handleSearch"
>
<template slot="slot">
......@@ -69,18 +70,21 @@
<div>{{scope.row.stockPercent || '--'}}{{scope.row.stockPercent ? '%':''}}</div>
</template>
</tables>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
<script>
import {memberList,memberCount} from '@/api/detail/groupAccount/groupAccount'
import {memberList,memberCount,memberListExport} from '@/api/detail/groupAccount/groupAccount'
import dataRegion from '@/assets/json/dataRegion'
import { getDictType } from '@/api/main'
import mixin from '../../party-a/mixins/mixin'
import ExportDialog from "../../../component/export-dialog"
export default {
name: 'members',
props: ['customerId'],
mixins: [mixin],
components:{ExportDialog},
data(){
return{
isSkeleton:true,
......@@ -175,6 +179,43 @@
cgblList:['100%','50%以上','20%以上','5%以上','1%-5%'],
cgblName:'',
paramsData:{}, //储存组件筛选的条件
dataEXCEL:{},
exportData:{
title:'集团成员',
dialogExportVisible:false,
forData: [
{label: '企业名称', prop: 'companyName',slot: true,minWidth: '250'},
// {label: '科技型企业', prop: 'companyName', slot: true,minWidth: '160'},
{label: '成员层级', prop: 'combineMemberLevel',slot: true,minWidth: '100'},
// {label: '主营业务', prop: 'projectName', slot: true,minWidth: '260'},
{label: '法定代表人', prop: 'corporatePerson',slot: true,minWidth: '100'},
{label: '企业地区', prop: 'address',minWidth: '120'},
{label: '注册资本', prop: 'regCapital',minWidth: '150'},
{label: '持股比例', prop: 'stockPercent',minWidth: '100'},
{label: '成立日期', prop: 'registeredDate', slot: true,minWidth: '100'},
],
exportTableData:[
{
companyName:'XXX集团有限公司',
combineMemberLevel:'集团本身',
corporatePerson:'柳xx',
regCapital:'8000.0万元',
address:'海南',
stockPercent:'32%',
registeredDate:'2017-9-17',
},
{
companyName:'XXX集团有限公司',
combineMemberLevel:'一级企业',
corporatePerson:'江xx',
regCapital:'14000.0万元',
address:'重庆',
stockPercent:'40%',
registeredDate:'2018-9-17',
},
],
exportEXCEL:false
},
}
},
watch:{
......@@ -253,6 +294,7 @@
if(!data.combineId){
data.combineId=this.customerId;
}
this.dataEXCEL=JSON.parse(JSON.stringify(data));
memberList(data).then(res=>{
this.isSkeleton = false
this.tableLoading = false
......@@ -435,6 +477,30 @@
this.handleQuery(params)
this.$emit('handle-scroll')
},
clickDialog(){
this.exportData.dialogExportVisible=true;
},
clickEXCEL(value) {
if(value > 2000){
return
}
this.dataEXCEL.exportExeclName=this.exportData.title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=2000;
}
delete this.dataEXCEL.pageNum
memberListExport(this.dataEXCEL).then(res=>{
if(res.code === 200){
this.exportData.exportEXCEL=true;
}
})
},
cancel(){
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
}
}
</script>
......
......@@ -9,7 +9,7 @@
:headerFixed="true"
:isExcel="true"
@handle-search="handleSearch"
@handle-excel="clickEXCEL"
@handle-excel="clickDialog"
>
<template slot="slot">
......@@ -51,6 +51,8 @@
<div>{{scope.row.bidAmount || '--'}}{{scope.row.bidAmount ? '万元':''}}</div>
</template>
</tables>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
......@@ -59,11 +61,12 @@
import {businessList,exportWinBid} from '@/api/detail/groupAccount/groupAccount'
import dataRegion from '@/assets/json/dataRegion1'
import { getDictType } from '@/api/main'
import ExportDialog from "../../../component/export-dialog"
export default {
name: 'qualifications',
props: ['customerId','combineName'],
mixins: [mixin],
components:{},
components:{ExportDialog},
data(){
return{
isSkeleton:true,
......@@ -108,7 +111,48 @@
],
timeList: ['近三天', '近七天', '近半月', '自定义'],
moneyList: ['5000万以下', '5000万-1亿', '1亿-5亿', '5亿-10亿','10亿以上', '自定义'],
dataEXCEL:{}
dataEXCEL:{},
exportData:{
title:'集团业绩',
dialogExportVisible:false,
forData: [
{label: '中标时间', prop: 'bidTime',slot: true,minWidth: '100'},
{label: '中标成员', prop: 'companyName', slot: true,minWidth: '160'},
{label: '持股比例', prop: 'stockPercent',slot: true,minWidth: '80'},
{label: '项目名称', prop: 'projectName', slot: true,minWidth: '260'},
{label: '中标金额', prop: 'bidAmount',slot: true,minWidth: '140'},
{label: '中标地区', prop: 'address',minWidth: '100'},
{label: '业绩类型', prop: 'boundType',minWidth: '80'},
{label: '项目类型', prop: 'projectType',minWidth: '80'},
{label: '业主单位', prop: 'projectUnit', slot: true,minWidth: '160'},
],
exportTableData:[
{
bidTime:'2023-11-07',
companyName:'XXX集团有限公司',
stockPercent:'1.56%',
projectName:'新建沪渝蓉高铁武汉至宜昌段汉川东至宜昌北通信系统及铁塔静态验...',
bidAmount:'303.837529万元',
address:'辽宁省',
boundType:'施工',
projectType:'铁路工程',
projectUnit:'xxx有限责任公司',
},
{
bidTime:'2023-11-07',
companyName:'XXX集团有限公司',
stockPercent:'1.24%',
projectName:'国电电力-胜利电厂-灵活性改造可行性研究报告编制',
bidAmount:'465万元',
address:'云南省',
boundType:'施工',
projectType:'铁路工程',
projectUnit:'xxx有限责任公司',
},
],
exportEXCEL:false
},
}
},
created() {
......@@ -267,35 +311,30 @@
this.handleQuery(params)
this.$emit('handle-scroll')
},
clickEXCEL() {
this.dataEXCEL.combineName=this.combineName;
if(this.tableDataTotal > 2000){
this.dataEXCEL.pageSize=2000;
clickDialog(){
this.exportData.dialogExportVisible=true;
},
clickEXCEL(value) {
if(value > 2000){
return
}
this.dataEXCEL.exportExeclName=this.exportData.title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=this.tableDataTotal;
this.dataEXCEL.pageSize=2000;
}
delete this.dataEXCEL.pageNum
exportWinBid(this.dataEXCEL).then(res=>{
if(res.code === 200){
this.downloadFile(res.data.url,res.data.originalName)
this.exportData.exportEXCEL=true;
}
})
// this.$download.exportByPost('/combine/info/export/win/bid',this.dataEXCEL,'集团中标.xlsx');
},
downloadFile(url, fileName) {
const x = new XMLHttpRequest()
x.open("GET", url, true)
x.responseType = 'blob'
x.onload=function(e) {
const url = window.URL.createObjectURL(x.response)
const a = document.createElement('a')
a.href = url
a.download = fileName
a.click()
a.remove()
}
x.send()
}
cancel(){
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
}
}
</script>
......
......@@ -2,12 +2,13 @@
<div class="performance">
<head-form-new
ref="headForm"
title=""
title="集团招标"
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:isExcel="false"
@handle-search="handleSearch"
@handle-excel="clickDialog"
></head-form-new>
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<tables
......@@ -45,53 +46,7 @@
<div>{{scope.row.bidAmount || '--'}}{{scope.row.bidAmount ? '万元':''}}</div>
</template>
</tables>
<el-dialog :visible.sync="dialogExportVisible" width="640px" append-to-body class="dialogExport">
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />数据导出
</template>
<div class="table-item">
<el-table :data="exportTableData">
<el-table-column prop="issueTime" label="招标发布时间" width="110"></el-table-column>
<el-table-column prop="tenderee" label="招标成员" width="200"></el-table-column>
<el-table-column prop="stockPercent" label="持股比例" min-width="100"></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="220"></el-table-column>
<el-table-column prop="bidAmount" label="预算金额" min-width="100"></el-table-column>
<el-table-column prop="address" label="项目地区" min-width="110"></el-table-column>
<el-table-column prop="subjectMatter" label="招标采购分类" min-width="130"></el-table-column>
<el-table-column prop="projectType" label="项目类型" min-width="100"></el-table-column>
<el-table-column prop="agency" label="代理单位" min-width="160"></el-table-column>
</el-table>
</div>
<div class="input">
导出数量:
<el-input placeholder="" v-model="value" oninput="value=value.replace(/[^\d]/g,'')">
<template slot="append"></template>
</el-input>
<p v-if="value > 2000"><i class="el-icon-error"></i>最多支持导出2000条,如需更多联系大司空客服人员</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="clickEXCEL">确认导出</el-button>
<el-button @click="cancel">取消</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogExportVisible1" width="640px" append-to-body class="dialogExport">
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />
数据导出
</template>
<div class="content">
<img class="success" src="@/assets/images/success.png" />
<p class="p1">导出成功</p>
<p class="p2">
可在个人中心查看导出表格
<span @click="toUrl">前往个人中心</span>
</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="downloadFile(exportData.url,exportData.originalName)">下载表格</el-button>
<el-button @click="dialogExportVisible1 = false">取消</el-button>
</div>
</el-dialog>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
......@@ -102,11 +57,12 @@
import {bidPage,exportBid} from '@/api/detail/groupAccount/groupAccount'
import dataRegion from '@/assets/json/dataRegion1'
import { getDictType } from '@/api/main'
import ExportDialog from "../../../component/export-dialog"
export default {
name: 'qualifications',
props: ['customerId'],
mixins: [mixin],
components:{CustomTimeSelect,CustomMoneySelect},
components:{CustomTimeSelect,CustomMoneySelect,ExportDialog},
data(){
return{
isSkeleton:true,
......@@ -157,8 +113,6 @@
timeList: ['近三天', '近七天', '近半月', '自定义'],
moneyList: ['5000万以下', '5000万-1亿', '1亿-5亿', '5亿-10亿','10亿以上', '自定义'],
dataEXCEL:{},
dialogExportVisible:false,
dialogExportVisible1:false,
exportTableData:[
{
"address":"四川省-成都市",
......@@ -186,7 +140,46 @@
},
],
value:'',
exportData:{}
exportData:{
title:'集团招标',
dialogExportVisible:false,
forData: [
{label: '招标发布时间', prop: 'issueTime',minWidth: '110'},
{label: '招标成员', prop: 'tenderee', slot: true,minWidth: '130'},
{label: '持股比例', prop: 'stockPercent',slot: true,minWidth: '80'},
{label: '项目名称', prop: 'projectName', slot: true,minWidth: '240'},
{label: '预算金额', prop: 'bidAmount',slot: true,minWidth: '130'},
{label: '项目地区', prop: 'address',minWidth: '110'},
{label: '招标采购分类', prop: 'subjectMatter',minWidth: '110'},
{label: '项目类型', prop: 'projectType',minWidth: '80',slot: true},
{label: '代理单位', prop: 'agency',minWidth: '160',slot: true},
],
exportTableData:[
{
issueTime:'2023-11-07',
tenderee:'XXX有限公司',
stockPercent:'1.56%',
projectName:'新建沪渝蓉高铁武汉至宜昌段汉川东至宜昌北通信系统及铁塔静态验...',
bidAmount:'303.837529万元',
address:'辽宁省',
subjectMatter:'施工',
projectType:'铁路工程',
agency:'xxx有限责任公司',
},
{
issueTime:'2023-11-07',
tenderee:'XXX有限公司',
stockPercent:'1.24%',
projectName:'国电电力-胜利电厂-灵活性改造可行性研究报告编制',
bidAmount:'465万元',
address:'云南省',
subjectMatter:'施工',
projectType:'铁路工程',
agency:'xxx有限责任公司',
},
],
exportEXCEL:{}
},
}
},
created() {
......@@ -320,53 +313,29 @@
clickFocus(e){
document.getElementById(e).classList.toggle('span-ba')
},
clickDialog(){
this.dialogExportVisible=true;
this.exportData.dialogExportVisible=true;
},
clickEXCEL() {
if(this.value > 2000){
clickEXCEL(value) {
if(value > 2000){
return
}
this.dialogExportVisible=false;
this.dataEXCEL.combineName=this.combineName;
if(this.value){
this.dataEXCEL.pageSize=this.value
this.dataEXCEL.exportExeclName=this.exportData.title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=this.tableDataTotal > 2000 ? 2000 : this.tableDataTotal;
this.dataEXCEL.pageSize=2000;
}
delete this.dataEXCEL.pageNum
exportBid(this.dataEXCEL).then(res=>{
if(res.code === 200){
this.dialogExportVisible1=true;
this.value=''
this.exportData=res.data;
this.exportData.exportEXCEL=true;
}
})
},
cancel(){
this.dialogExportVisible=false
this.value=''
},
downloadFile(url, fileName) {
const x = new XMLHttpRequest()
x.open("GET", url, true)
x.responseType = 'blob'
x.onload=function(e) {
const url = window.URL.createObjectURL(x.response)
const a = document.createElement('a')
a.href = url
a.download = fileName
a.click()
a.remove()
}
x.send()
},
toUrl(){
this.dialogExportVisible1=false;
this.$router.push({
path: '/user/profile',
})
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
}
}
......
<template>
<div class="head-form-new" :class="headerFixed ? 'headerFixed':''">
<div class="common-title" v-if="title">{{ title }}</div>
<div class="common-title" v-if="title && title !='集团招标'">{{ title }}</div>
<div class="flex-box query-box">
<div class="flex-box query-params">
<div class="headForm-from">
......@@ -78,7 +78,7 @@
</template>
<div v-else class="flex-box">
<span class="flex-box ability-total" v-if="isTotal">共有{{ total }}条</span>
<span class="flex-box ability-excel" v-hasPermi="['combine:info:export:win:bid','combine:info:export:bid']" v-if="isExcel && title ==='集团业绩'"
<span class="flex-box ability-excel" v-hasPermi="['combine:info:export:win:bid','combine:info:export:bid']" v-if="isExcel && title ==='集团业绩'|| title ==='集团业绩' "
@click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<span class="flex-box ability-excel" v-else @click="clickEXCEL"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
......@@ -296,7 +296,7 @@ export default {
this.$emit('handle-search');
},
clickEXCEL() {
if (this.title === '集团业绩') {
if (this.title === '集团业绩' || this.title === '集团招标' || this.title === '集团成员') {
this.$emit('handle-excel');
} else {
this.$message({
......
......@@ -123,7 +123,7 @@
<div class="title-right">
<p>
<img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
<span class="excel" @click="clickDialog">导出EXCEL</span>
</p>
</div>
......@@ -463,6 +463,8 @@
<span class="dialog-footer-btn2" @click="dialogVisible2 = false">关闭</span>
</div>
</el-dialog>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
......@@ -471,10 +473,11 @@ import { encodeStr } from "@/assets/js/common.js";
import jsk_data from '../../../../../public/jsk.json';
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/enterpriseData/enterpriseData.js';
import ExportDialog from "../../../component/export-dialog"
import "@/assets/styles/public.scss";
export default {
name: 'Owner',
components: { skeleton },
components: { skeleton,ExportDialog },
data() {
return {
encodeStr,
......@@ -521,25 +524,22 @@ export default {
fieldshow: false,
fieldText: '默认排序',
sort: '3', //查询结果排序方式
fieldOptions: [{
key: "3",
value: "默认排序",
status: true,
},
{
key: "5",
value: "招标数量从多到少",
status: false,
},
{
key: "7",
value: "土地数量从多到少",
status: false,
},
fieldOptions: [
{
key: "3",
value: "默认排序",
status: true,
},
{
key: "5",
value: "招标数量从多到少",
status: false,
},
{
key: "7",
value: "土地数量从多到少",
status: false,
},
],
companyId: '',
companyName: '',
......@@ -550,7 +550,69 @@ export default {
tableData: [],
total: 0,
pageNum: 1,
pageSize: 50
pageSize: 50,
dataEXCEL:{},
exportData:{
title:'查城投平台',
dialogExportVisible:false,
forData: [
{label: '公司名称', prop: 'companyName',slot: true,minWidth: '140'},
{label: '区域', prop: 'province', slot: true,minWidth: '160'},
{label: '招标数量', prop: 'biddingCount',slot: true,minWidth: '80'},
{label: '城投拿地', prop: 'landInfoCount', slot: true,minWidth: '80'},
{label: '供应商', prop: 'supplierCount',slot: true,minWidth: '100'},
{label: '债券余额(亿元)', prop: 'bondBalance',minWidth: '130'},
{label: '主体评级', prop: 'bratingSubjectLevel',minWidth: '80'},
{label: '行政级别', prop: 'uipExecutiveLevel',minWidth: '80'},
{label: '股东背景', prop: 'shareholderBg', slot: true,minWidth: '100'},
{label: '股权关系', prop: 'equityRelationship', slot: true,minWidth: '100'},
{label: '平台重要性', prop: 'platformImportance', slot: true,minWidth: '130'},
{label: '城投业务类型', prop: 'uipBusinessType', slot: true,minWidth: '130'},
{label: '实控人', prop: 'actualController', slot: true,minWidth: '140'},
{label: '最新报告期', prop: 'latestReportPeriod', slot: true,minWidth: '120'},
{label: '总资产(亿元)', prop: 'totalAssets', slot: true,minWidth: '120'},
{label: '归母净资产', prop: 'belongNetAssets', slot: true,minWidth: '120'},
],
exportTableData:[
{
companyName:'xxx有限公司',
province:'重庆-重庆市-永川区',
biddingCount:'64',
landInfoCount:'4',
supplierCount:'456',
bondBalance:'73',
bratingSubjectLevel:'AAA',
uipExecutiveLevel:'区县级',
shareholderBg:'城建',
equityRelationship:'直接控股',
platformImportance:'主要平台',
uipBusinessType:'综合性平台',
actualController:'xxx监督管理委员会',
latestReportPeriod:'2022-12-21',
totalAssets:'55.47',
belongNetAssets:'21.74',
},
{
companyName:'xxx有限公司',
province:'北京-北京市-大兴区',
biddingCount:'25',
landInfoCount:'2',
supplierCount:'465',
bondBalance:'61',
bratingSubjectLevel:'AAA',
uipExecutiveLevel:'区县级',
shareholderBg:'政府',
equityRelationship:'间接控股',
platformImportance:'一般平台',
uipBusinessType:'土地开发整理',
actualController:'xxx监督管理委员会',
latestReportPeriod:'2022-12-21',
totalAssets:'764.74',
belongNetAssets:'62.13',
},
],
exportEXCEL:{}
},
};
},
computed: {
......@@ -568,9 +630,6 @@ export default {
flag = true;
arr.push(data);
}
this.conditionsArr = arr;
return flag;
},
......@@ -633,9 +692,6 @@ export default {
this.jskBidQueryDto = obj;
this.search();
},
addressListfn() {
var str = [];
for (let x = 0; x < 3; x++) {
......@@ -680,19 +736,14 @@ export default {
}
this.addressList = str;
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.init();
},
init() {
this.search();
this.addressListfn();
},
checkuipExecutivebtn(val) {
this.uipExecutiveText = [];
this.checkuipExecutive = true;
......@@ -932,6 +983,7 @@ export default {
delete params.equityRelationship;
}
this.isSkeleton = true;
this.dataEXCEL=JSON.parse(JSON.stringify(params));
api.uipSerach(params).then(res => {
this.isSkeleton = false;
this.tableData = res.rows;
......@@ -945,6 +997,30 @@ export default {
// this.$router.push({path:'/home',query: {id:'1'}})
// 跳转地址
},
clickDialog(){
this.exportData.dialogExportVisible=true;
},
clickEXCEL(value) {
if(value > 2000){
return
}
this.dataEXCEL.exportExeclName=this.exportData.title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=2000;
}
delete this.dataEXCEL.pageNum
api.uipSerachExport(this.dataEXCEL).then(res => {
if(res.code === 200){
this.exportData.exportEXCEL=true;
}
})
},
cancel(){
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
},
......
......@@ -60,13 +60,13 @@
备案网站{{regionWeb.length>0?(regionWeb.length+'项'):''}}
<i class="el-icon-caret-bottom"></i>
</div>
<el-select v-model="regionWeb" @input="regionWebbtn" class="select-multiple" multiple
placeholder="请选择">
<el-option v-for=" (itme,i) in regionWebList" :key="i" :label="itme"
:value="itme">
</el-option>
</el-select>
</div> -->
<div class="select-popper">
......@@ -128,7 +128,7 @@
有无资质{{radioQuali?' 1项':''}}
<i class="el-icon-caret-bottom"></i>
</div>
<el-dropdown-menu slot="dropdown" class="select-list select-radio">
<el-dropdown-item v-for="(itme,i) in qualifiedType" :key="i">
<el-radio :label="itme.key" v-model="radioQuali" @input="qualifiedTypebtn()">
......@@ -136,17 +136,17 @@
</el-radio>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div> -->
<!-- <div class="select-popper">
<el-dropdown trigger="click" placement='bottom-start'>
<div class="el-dropdown-link " :class="hasPhone?'select-active':''">
有无联系电话{{hasPhone?' 1项':''}}
<i class="el-icon-caret-bottom"></i>
</div>
<el-dropdown-menu slot="dropdown" class="select-list select-radio">
<el-dropdown-item v-for="(itme,i) in hasPhoneType" :key="i">
<el-radio :label="itme.key" v-model="hasPhone" @input="hasPhoneTypebtn()">
......@@ -154,7 +154,7 @@
</el-radio>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div> -->
<!-- <div class="select-popper">
......@@ -163,7 +163,7 @@
<span>建筑安许证{{hasLiceCert!=''?' 1项':''}}</span>
<i class="el-icon-caret-bottom"></i>
</div>
<el-dropdown-menu slot="dropdown" class="select-list select-radio">
<el-dropdown-item v-for="itme in hasLiceCertList" :key="itme.key">
<el-radio :label="itme.key" v-model="hasLiceCert" @input="hasLiceCertListbtn()">
......@@ -171,7 +171,7 @@
</el-radio>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div> -->
<div class="select-popper">
......@@ -296,7 +296,7 @@
</div>
<div>
<el-button size="mini" @click="cancel('注册资本')">取消</el-button>
<el-button size="mini" @click="handleCancel('注册资本')">取消</el-button>
<el-button type="primary" size="mini" @click="popperConfirm('注册资本')">确定
</el-button>
</div>
......@@ -336,7 +336,7 @@
</el-input>
</div>
<div>
<el-button size="mini" @click="cancel('实缴资本')">取消</el-button>
<el-button size="mini" @click="handleCancel('实缴资本')">取消</el-button>
<el-button type="primary" size="mini" @click="popperConfirm('实缴资本')">确定
</el-button>
</div>
......@@ -378,7 +378,7 @@
</el-input>
</div>
<div style="">
<el-button size="mini" @click="cancel('社保人数')">取消</el-button>
<el-button size="mini" @click="handleCancel('社保人数')">取消</el-button>
<el-button type="primary" size="mini" @click="popperConfirm('社保人数')">确定
</el-button>
</div>
......@@ -425,10 +425,14 @@
</div>
</div>
<div class="title-right">
<p>
<p class="p" @click="exportShow=true">
<img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
<span class="excel">导出EXCEL</span>
</p>
<div class="export" v-if="exportShow">
<p style="margin-bottom: 6px;" @click="clickDialog(1)">企业资质导出</p>
<p @click="clickDialog(2)">企业基本信息导出</p>
</div>
</div>
</div>
......@@ -577,6 +581,7 @@
</div>
</div>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
<script>
......@@ -588,10 +593,10 @@ import api from '@/api/enterpriseData/enterpriseData.js';
import { encodeStr } from "@/assets/js/common.js";
import skeleton from '@/views/project/projectList/component/skeleton';
import "@/assets/styles/public.scss";
import ExportDialog from "../../../component/export-dialog"
export default {
name: 'EnterpriseQuery',
components: { skeleton },
components: { skeleton,ExportDialog },
directives: {
numberOnly: {
bind: function (el) {
......@@ -612,7 +617,8 @@ export default {
encodeStr,
ename: '',
isSkeleton: true,
enameQueryTypeList: [{
enameQueryTypeList: [
{
key: 'and',
status: false,
value: '模糊搜索',
......@@ -626,9 +632,9 @@ export default {
},
],
enameQueryType: 'or',
optionss: [],
aptitudeDtoList: [{
aptitudeDtoList: [
{
nameStr: '',
codeStr: [],
queryTypelist: [{
......@@ -649,7 +655,8 @@ export default {
],
queryType: 'and'
}],
aptitudeDtoListOut: [{
aptitudeDtoListOut: [
{
nameStr: '',
codeStr: [],
queryTypelist: [{
......@@ -666,17 +673,16 @@ export default {
queryType: 'and'
}],
filePlaceCode: '',
props: {
multiple: true,
expandTrigger: "hover",
value: 'id'
},
filePlaceCodeList: [],
province_city: [],
province_citylist: [],
filePlaceTypeList: [{
filePlaceTypeList: [
{
text: '本省与进省企业',
value: '1'
},
......@@ -693,7 +699,8 @@ export default {
addressList: [],
addressType: [],
addresslength: 0,
qualifiedType: [{
qualifiedType: [
{
key: '',
status: true,
value: '不限'
......@@ -710,7 +717,8 @@ export default {
}
],
radioQuali: '',
hasPhoneType: [{
hasPhoneType: [
{
key: '',
status: true,
value: '不限'
......@@ -737,8 +745,8 @@ export default {
}
],
hasPhone: '',
hasLiceCertList: [{
hasLiceCertList: [
{
key: '',
status: true,
value: '不限'
......@@ -755,9 +763,9 @@ export default {
}
],
hasLiceCert: '',
systemCertishow: false,
systemCertification: [{
systemCertification: [
{
value: '质量管理体系认证(ISO9000)',
key: '1',
status: false,
......@@ -784,7 +792,8 @@ export default {
],
systemValue: [],
systemType: "",
isHighTechList: [{
isHighTechList: [
{
value: '',
label: '不限'
},
......@@ -799,7 +808,8 @@ export default {
],
isHighTechtext: '',
aTaxYearList: [{
aTaxYearList: [
{
value: '不限',
label: '不限'
},
......@@ -842,7 +852,8 @@ export default {
},
],
aTaxYeartext: ['不限'],
companyTypeList: [{
companyTypeList: [
{
label: '不限',
value: '不限'
},
......@@ -897,7 +908,8 @@ export default {
],
companyTypeText: ['不限'],
businessStatusList: [{
businessStatusList: [
{
label: '不限',
value: '不限'
},
......@@ -936,7 +948,8 @@ export default {
],
businessStatusText: ['不限'],
establishList: [{
establishList: [
{
value: '不限',
key: '不限',
status: true,
......@@ -985,7 +998,8 @@ export default {
establishText: '不限',
startTime: '',
endTime: '',
registeredAssets: [{
registeredAssets: [
{
label: '不限',
value: '不限',
status: false,
......@@ -1034,7 +1048,8 @@ export default {
actualCapi: '不限',
leftActualCapi: '',
rightActualCapi: '',
InsuredNumList: [{
InsuredNumList: [
{
label: '0-0',
value: '0人'
},
......@@ -1077,12 +1092,12 @@ export default {
InsuredNumText: '',
startInsuredNum: '',
endInsuredNum: '',
registeredCapital: '',
registerProvince: [],
registerCityList: [],
registerCity: [],
registerProvinceList: [{
registerProvinceList: [
{
key: '重庆',
status: false,
value: '重庆',
......@@ -1307,7 +1322,8 @@ export default {
}
],
aptitudeQueryType: 'and',
btnaptitude: [{
btnaptitude: [
{
key: 'and',
status: true,
value: '同时具备'
......@@ -1321,7 +1337,8 @@ export default {
aptitudelist: [],
regionWeb: [],
regionWebList: [],
hasPhoneList: [{
hasPhoneList: [
{
value: '1',
label: '有联系电话'
},
......@@ -1331,7 +1348,8 @@ export default {
}
],
hasPhonetext: '',
systemWay: [{
systemWay: [
{
key: 'and',
status: true,
value: '同时具备',
......@@ -1358,7 +1376,6 @@ export default {
},
startTimetext: '',
openDatePicker: false,
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
......@@ -1408,12 +1425,79 @@ export default {
}
],
resultEname: '',
tableData: [],
total: 0,
page: 1,
limit: 20
limit: 20,
exportShow:false,
dataEXCEL:{},
exportData:{
title:'企业基本信息',
dialogExportVisible:false,
forData: [
{label: '企业名称', prop: 'text1',slot: true,minWidth: '120'},
{label: '企业性质', prop: 'text2', slot: true,minWidth: '120'},
{label: '资质情况', prop: 'text3',slot: true,minWidth: '160'},
{label: '经营状态', prop: 'text4', slot: true,minWidth: '160'},
{label: '经营范围', prop: 'text5',slot: true,minWidth: '250'},
{label: '统一社会信用代码', prop: 'text6',minWidth: '160'},
{label: '注册省/市/区', prop: 'text7',minWidth: '150'},
{label: '经营地址', prop: 'text8',minWidth: '140'},
{label: '法人代表', prop: 'text9', slot: true,minWidth: '100'},
{label: '注册资本(万元)', prop: 'text10', slot: true,minWidth: '150'},
{label: '成立时间', prop: 'text11', slot: true,minWidth: '130'},
{label: '曾用名', prop: 'text12', slot: true,minWidth: '100'},
{label: '企业类型', prop: 'text13', slot: true,minWidth: '140'},
{label: '参保人数', prop: 'text14', slot: true,minWidth: '120'},
{label: '税务评级', prop: 'text15', slot: true,minWidth: '120'},
{label: '安许证到期时间', prop: 'text16', slot: true,minWidth: '120'},
{label: '联系电话', prop: 'text17', slot: true,minWidth: '120'},
{label: '企业详情页(平台)', prop: 'text18', slot: true,minWidth: '150'},
],
exportTableData:[
{
text1:'xxx有限公司',
text2:'央企子公司',
text3:'地基基础工程专业承包一级',
text4:'存续(在营、开业、在册)',
text5:'承担国内外公用、民用房屋建筑工程的施工、安装、咨询...',
text6:'911100xxxx9351850',
text7:'北京-北京市-海淀区',
text8:'北京市XXXXX',
text9:'张XX',
text10:'3000000万元',
text11:'2007-12-10',
text12:'-',
text13:'有限责任公司',
text14:'1401',
text15:'A级',
text16:'2026-11-23',
text17:'6420xx11',
text18:'XXXXX',
},
{
text1:'xxx有限公司',
text2:'省属国企',
text3:'建筑装修装饰工程专业承包一级',
text4:'存续(在营、开业、在册)',
text5:'承担国内外公用、民用房屋建筑工程的施工、安装、咨询...',
text6:'911100xxxx9351850',
text7:'重庆-重庆市-渝北区',
text8:'重庆市XXXXX',
text9:'李XX',
text10:'200000万元',
text11:'2008-12-10',
text12:'-',
text13:'有限责任公司',
text14:'1101',
text15:'A级',
text16:'2027-11-23',
text17:'6430xx11',
text18:'XXXXX',
},
],
exportEXCEL:{}
},
};
},
......@@ -1462,8 +1546,6 @@ export default {
this.addressListbtn();
});
}
},
methods: {
......@@ -2436,7 +2518,7 @@ export default {
},
// 注册资本 实缴资本 社保人数 自定义输入取消
cancel(type) {
handleCancel(type) {
if (type == '注册资本') {
this.startNumMoney = '';
this.endNumMoney = '';
......@@ -2763,6 +2845,7 @@ export default {
data.aptitudeQueryDto['aptitudeSource'] = 'new';
}
this.isSkeleton = true;
this.dataEXCEL=JSON.parse(JSON.stringify(data));
api.enterprisePage(data).then(res => {
this.isSkeleton = false;
if (res.code == 200) {
......@@ -2774,7 +2857,6 @@ export default {
});
},
toEnterprise(id, html, type,name) {
this.$tab.openPage(name, '/company/' + encodeStr(id) + '/' + (html ? html + '/' : '') + (type ? '?flag=true&type=' + type : ''))
},
......@@ -2826,6 +2908,168 @@ export default {
}
return obj;
},
clickDialog(key){
if(key === 1){
this.exportData={
title:'企业资质',
dialogExportVisible:false,
forData: [
{label: '企业名称', prop: 'text1',slot: true,minWidth: '120'},
{label: '企业性质', prop: 'text2', slot: true,minWidth: '100'},
{label: '资质类别', prop: 'text3',slot: true,minWidth: '150'},
{label: '资质名称', prop: 'text4', slot: true,minWidth: '180'},
{label: '发证日期', prop: 'text5',slot: true,minWidth: '110'},
{label: '到期时间', prop: 'text6',minWidth: '110'},
{label: '发证机关', prop: 'text7',minWidth: '150'},
{label: '联系电话', prop: 'text8',minWidth: '140'},
{label: '地址', prop: 'text9', slot: true,minWidth: '150'},
{label: '备案情况', prop: 'text10', slot: true,minWidth: '150'},
{label: '法定代表人', prop: 'text11', slot: true,minWidth: '120'},
{label: '注册资本(万元)', prop: 'text12', slot: true,minWidth: '160'},
{label: '成立时间', prop: 'text13', slot: true,minWidth: '120'},
{label: '经营范围', prop: 'text14', slot: true,minWidth: '150'},
{label: '企业详情链接', prop: 'text15', slot: true,minWidth: '150'},
],
exportTableData:[
{
text1:'xxx有限公司',
text2:'国有企业',
text3:'建筑业企业资质',
text4:'建筑工程施工总承包特级',
text5:'2022-03-14',
text6:'2023-12-31',
text7:'住房和城乡建设部',
text8:'6420xx11',
text9:'重庆市渝中区XXX',
text10:'外地入渝(重庆市工程信息网)',
text11:'张XX',
text12:'100000.0万元',
text13:'1992-01-21',
text14:'房屋建筑工程、公路工程、市政工程...',
text15:'XXXXX',
},
{
text1:'xxx有限公司',
text2:'省属国企',
text3:'建筑业企业资质',
text4:'建筑工程施工总承包特级',
text5:'2022-03-14',
text6:'2023-12-31',
text7:'住房和城乡建设部',
text8:'6430xx11',
text9:'重庆市渝北区XXX',
text10:'重庆本地',
text11:'王XX',
text12:'120000.0万元',
text13:'2000-06-16',
text14:'房屋建筑工程、公路工程、市政工程...',
text15:'XXXXX',
},
],
exportEXCEL:{}
}
}
if(key === 2){
this.exportData={
title:'企业基本信息',
dialogExportVisible:false,
forData: [
{label: '企业名称', prop: 'text1',slot: true,minWidth: '120'},
{label: '企业性质', prop: 'text2', slot: true,minWidth: '120'},
{label: '资质情况', prop: 'text3',slot: true,minWidth: '160'},
{label: '经营状态', prop: 'text4', slot: true,minWidth: '160'},
{label: '经营范围', prop: 'text5',slot: true,minWidth: '250'},
{label: '统一社会信用代码', prop: 'text6',minWidth: '160'},
{label: '注册省/市/区', prop: 'text7',minWidth: '150'},
{label: '经营地址', prop: 'text8',minWidth: '140'},
{label: '法人代表', prop: 'text9', slot: true,minWidth: '100'},
{label: '注册资本(万元)', prop: 'text10', slot: true,minWidth: '150'},
{label: '成立时间', prop: 'text11', slot: true,minWidth: '130'},
{label: '曾用名', prop: 'text12', slot: true,minWidth: '100'},
{label: '企业类型', prop: 'text13', slot: true,minWidth: '140'},
{label: '参保人数', prop: 'text14', slot: true,minWidth: '120'},
{label: '税务评级', prop: 'text15', slot: true,minWidth: '120'},
{label: '安许证到期时间', prop: 'text16', slot: true,minWidth: '120'},
{label: '联系电话', prop: 'text17', slot: true,minWidth: '120'},
{label: '企业详情页(平台)', prop: 'text18', slot: true,minWidth: '150'},
],
exportTableData:[
{
text1:'xxx有限公司',
text2:'央企子公司',
text3:'地基基础工程专业承包一级',
text4:'存续(在营、开业、在册)',
text5:'承担国内外公用、民用房屋建筑工程的施工、安装、咨询...',
text6:'911100xxxx9351850',
text7:'北京-北京市-海淀区',
text8:'北京市XXXXX',
text9:'张XX',
text10:'3000000万元',
text11:'2007-12-10',
text12:'-',
text13:'有限责任公司',
text14:'1401',
text15:'A级',
text16:'2026-11-23',
text17:'6420xx11',
text18:'XXXXX',
},
{
text1:'xxx有限公司',
text2:'省属国企',
text3:'建筑装修装饰工程专业承包一级',
text4:'存续(在营、开业、在册)',
text5:'承担国内外公用、民用房屋建筑工程的施工、安装、咨询...',
text6:'911100xxxx9351850',
text7:'重庆-重庆市-渝北区',
text8:'重庆市XXXXX',
text9:'李XX',
text10:'200000万元',
text11:'2008-12-10',
text12:'-',
text13:'有限责任公司',
text14:'1101',
text15:'A级',
text16:'2027-11-23',
text17:'6430xx11',
text18:'XXXXX',
},
],
exportEXCEL:{}
}
}
this.exportData.dialogExportVisible=true;
},
clickEXCEL(value) {
if(value > 2000){
return
}
this.dataEXCEL.exportExeclName=this.exportData.title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=2000;
}
delete this.dataEXCEL.pageNum
if(this.exportData.title === '企业资质'){
api.aptitudeExport(this.dataEXCEL).then(res => {
if(res.code === 200){
this.exportData.exportEXCEL=true;
}
})
}
if(this.exportData.title === '企业基本信息'){
api.infoExport(this.dataEXCEL).then(res => {
if(res.code === 200){
this.exportData.exportEXCEL=true;
}
})
}
},
cancel(){
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
}
}
......@@ -2982,7 +3226,8 @@ export default {
.title-right {
display: flex;
align-items: center;
p:last-child {
position: relative;
.p{
display: flex;
align-items: center;
font-size: 14px;
......@@ -2996,6 +3241,26 @@ export default {
.excel {
cursor: pointer;
}
.export{
width: 135px;
position: absolute;
top: 30px;
align-items: center;
background: #ffffff;
z-index: 9;
left: -11px;
padding: 6px 10px;
box-shadow: 0px 2px 10px rgba(0,21,41,.08);
p{
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
cursor: pointer;
}
p:hover{
color:#0089ff;
}
}
}
}
.bottomlist-content {
......@@ -3048,4 +3313,4 @@ export default {
bottom: 0;
}
}
</style>
\ No newline at end of file
</style>
......@@ -13,7 +13,7 @@
</div>
<div class="flex-box query-ability">
<!--<span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span>-->
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<!--<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>-->
</div>
</div>
<div class="table-item" ref="regionalStyle" id="regionalStyle">
......
......@@ -12,7 +12,7 @@
</el-form>
</div>
<div class="flex-box query-ability">
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<!--<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>-->
</div>
</div>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
......
......@@ -14,7 +14,7 @@
</el-form>
</div>
<div class="flex-box query-ability">
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<!--<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>-->
</div>
</div>
<div class="table-item">
......
......@@ -41,7 +41,7 @@
<span class="total">{{tableDataTotal}}</span>
</div>
<div class="flex-box query-ability">
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<!--<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>-->
</div>
</div>
<div class="table-item">
......
......@@ -26,7 +26,7 @@
</div>
<div class="flex-box query-ability">
<router-link to="/macro/economies?activeName=four" tag="a" class="a-link"><span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span></router-link>
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<!--<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>-->
</div>
</div>
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
......
......@@ -142,7 +142,7 @@
</div>
<div class="flex-box query-ability">
<!--<span class="total">共{{tableDataTotal}}条</span>-->
<span class="flex-box" @click="handleMessage"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
<span class="flex-box" @click="clickDialog"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
</div>
<div class="table-item">
......@@ -281,6 +281,7 @@
<span class="dialog-footer-btn2" @click="dialogVisible1 = false">关闭</span>
</div>
</el-dialog>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
......@@ -288,14 +289,16 @@
import {encodeStr} from "@/assets/js/common.js"
import skeleton from '../component/skeleton'
import dataRegion from '@/assets/json/dataRegion'
import { uipGroupData,urbanInvestmentPage,urbanInvestmentStatistics,claim,location,customerStatus,historyClaim,urbanInvestmentExport } from '@/api/macro/macro'
import api from '@/api/enterpriseData/enterpriseData.js';
import { uipGroupData,urbanInvestmentPage,urbanInvestmentStatistics,claim,location,customerStatus,historyClaim } from '@/api/macro/macro'
import { infoHeader } from '@/api/detail/party-a/index'
import Region from '../component/region'
import ExportDialog from "../../component/export-dialog"
export default {
name: 'Urban',
components: {
Region,skeleton
Region,skeleton,ExportDialog
},
data() {
return {
......@@ -340,7 +343,69 @@ export default {
dataQuery:{},
province:'',
provinceId:[],
isSkeleton:true
isSkeleton:true,
dataEXCEL:{},
exportData:{
title:'城投平台',
dialogExportVisible:false,
forData: [
{label: '公司名称', prop: 'companyName',slot: true,minWidth: '140'},
{label: '区域', prop: 'province', slot: true,minWidth: '160'},
{label: '招标数量', prop: 'biddingCount',slot: true,minWidth: '80'},
{label: '城投拿地', prop: 'landInfoCount', slot: true,minWidth: '80'},
{label: '供应商', prop: 'supplierCount',slot: true,minWidth: '100'},
{label: '债券余额(亿元)', prop: 'bondBalance',minWidth: '130'},
{label: '主体评级', prop: 'bratingSubjectLevel',minWidth: '80'},
{label: '行政级别', prop: 'uipExecutiveLevel',minWidth: '80'},
{label: '股东背景', prop: 'shareholderBg', slot: true,minWidth: '100'},
{label: '股权关系', prop: 'equityRelationship', slot: true,minWidth: '100'},
{label: '平台重要性', prop: 'platformImportance', slot: true,minWidth: '130'},
{label: '城投业务类型', prop: 'uipBusinessType', slot: true,minWidth: '130'},
{label: '实控人', prop: 'actualController', slot: true,minWidth: '140'},
{label: '最新报告期', prop: 'latestReportPeriod', slot: true,minWidth: '120'},
{label: '总资产(亿元)', prop: 'totalAssets', slot: true,minWidth: '120'},
{label: '归母净资产', prop: 'belongNetAssets', slot: true,minWidth: '120'},
],
exportTableData:[
{
companyName:'xxx有限公司',
province:'重庆-重庆市-永川区',
biddingCount:'64',
landInfoCount:'4',
supplierCount:'456',
bondBalance:'73',
bratingSubjectLevel:'AAA',
uipExecutiveLevel:'区县级',
shareholderBg:'城建',
equityRelationship:'直接控股',
platformImportance:'主要平台',
uipBusinessType:'综合性平台',
actualController:'xxx监督管理委员会',
latestReportPeriod:'2022-12-21',
totalAssets:'55.47',
belongNetAssets:'21.74',
},
{
companyName:'xxx有限公司',
province:'北京-北京市-大兴区',
biddingCount:'25',
landInfoCount:'2',
supplierCount:'465',
bondBalance:'61',
bratingSubjectLevel:'AAA',
uipExecutiveLevel:'区县级',
shareholderBg:'政府',
equityRelationship:'间接控股',
platformImportance:'一般平台',
uipBusinessType:'土地开发整理',
actualController:'xxx监督管理委员会',
latestReportPeriod:'2022-12-21',
totalAssets:'764.74',
belongNetAssets:'62.13',
},
],
exportEXCEL:{}
},
}
},
watch:{
......@@ -461,33 +526,6 @@ export default {
// this.isSkeleton = true
const params = { pageNum: this.pageIndex, pageSize: this.pageSize,type:Number(this.queryParams.radio)}
const param={}
// if(this.queryParams.address.length > 0){
// let arr = this.$refs.address.getCheckedNodes();
// let provinceCode = [],cityCode = [],countyCode = [];
// for (var i in arr) {
// if (arr[i].parent) {
// if (!arr[i].parent.checked) {
// arr[i].hasChildren && cityCode.push(arr[i].value);
// !arr[i].hasChildren && countyCode.push(arr[i].value);
// }
// } else {
// provinceCode.push(arr[i].value)
// }
// }
// if(provinceCode.length > 0){
// params.provinceIds=provinceCode
// param.provinceIds=provinceCode
// }
// if(cityCode.length > 0){
// params.cityIds=cityCode
// param.cityIds=cityCode
// }
// if(countyCode.length > 0){
// params.areaIds=countyCode
// param.areaIds=countyCode
// }
// }
if(this.provinceId.length > 0){
params.provinceIds=[this.provinceId[0]]
}
......@@ -533,7 +571,7 @@ export default {
if(this.queryParams.keyword){
params.keyword=this.queryParams.keyword
}
this.dataEXCEL=JSON.parse(JSON.stringify(params));
urbanInvestmentPage(params).then(res => {
this.isSkeleton = false;
this.tableLoading = false;
......@@ -806,7 +844,31 @@ export default {
// })
}
})
}
},
clickDialog(){
this.exportData.dialogExportVisible=true;
},
clickEXCEL(value) {
if(value > 2000){
return
}
this.dataEXCEL.exportExeclName=this.exportData.title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=2000;
}
delete this.dataEXCEL.pageNum
urbanInvestmentExport(this.dataEXCEL).then(res=>{
if(res.code === 200){
this.exportData.exportEXCEL=true;
}
})
},
cancel(){
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
},
}
</script>
......
......@@ -225,53 +225,7 @@
</el-pagination>
</div>
</div>
<el-dialog :visible.sync="dialogExportVisible" width="640px" append-to-body class="dialogExport">
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />数据导出
</template>
<div class="table-item">
<el-table :data="exportTableData">
<el-table-column prop="buildingProjectType" label="项目类型" width="80"></el-table-column>
<el-table-column prop="projectName" label="项目名称" width="220"></el-table-column>
<el-table-column prop="chargeDepartment" label="主管部门" min-width="170"></el-table-column>
<el-table-column prop="constructUnit" label="项目法人" min-width="170"></el-table-column>
<el-table-column prop="projectTotalInvestment" label="项目投资额" min-width="100"></el-table-column>
<el-table-column prop="domicile" label="项目地区" min-width="80"></el-table-column>
<el-table-column prop="projectScale" label="建设规模" min-width="430"></el-table-column>
<el-table-column prop="fileTitle" label="附件名称" min-width="200"></el-table-column>
<el-table-column prop="fileUrl" label="附件链接" min-width="360"></el-table-column>
</el-table>
</div>
<div class="input">
导出数量:
<el-input placeholder="" v-model="value" oninput="value=value.replace(/[^\d]/g,'')">
<template slot="append"></template>
</el-input>
<p v-if="value > 2000"><i class="el-icon-error"></i>最多支持导出2000条,如需更多联系大司空客服人员</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="clickEXCEL">确认导出</el-button>
<el-button @click="cancel">取消</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogExportVisible1" width="640px" append-to-body class="dialogExport">
<template slot="title">
<img class="tip-img" src="@/assets/images/icon.png" />
数据导出
</template>
<div class="content">
<img class="success" src="@/assets/images/success.png" />
<p class="p1">导出成功</p>
<p class="p2">
可在个人中心查看导出表格
<span @click="toUrl">前往个人中心</span>
</p>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="downloadFile(exportData.url,exportData.originalName)">下载表格</el-button>
<el-button @click="dialogExportVisible1 = false">取消</el-button>
</div>
</el-dialog>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
</div>
</template>
......@@ -280,41 +234,18 @@ import jsk_data from '../../../../../public/jsk.json';
import { encodeStr } from "@/assets/js/common.js";
import skeleton from '@/views/project/projectList/component/skeleton';
import api from '@/api/radar/radar.js';
import ExportDialog from "../../../component/export-dialog"
export default {
name: 'MajorProject',
components: { skeleton },
components: { skeleton,ExportDialog },
data() {
return {
encodeStr,
dialogExportVisible1: false,
exportTableData: [
{
"domicile": "江津区",
"chargeDepartment": "兴庆区商合局",
"constructUnit": '鞍钢股份有限公司',
"projectScale": "项目建设规划总面积约3000亩,其中商住用地面积2000亩,文化旅游综合用地约1000亩,打造集“市井民俗文化体验、休闲度假、亲子研学等”为一体的复合型文化旅游目的地,企业已完成项目规划方案。",
"fileTitle": "宁夏回族自治区银川市2023年度重点项目清单.pdf",
"fileUrl": "http://file.jiansheku.com/key_project/b9e22fbf2e409642aa97f8238e934272.pdf",
"buildingProjectType": "房建工程",
"projectTotalInvestment": "70000万元",
"projectName": "'上河堡'文旅综合体项目",
},
{
"domicile": "江津区",
"chargeDepartment": "国网重庆江津区供电公司",
"constructUnit": '国网重庆江津区供电公司',
"projectScale": "新建110kV变电站1座,主变容量2*50MVA,新建110kV线路20km",
"fileTitle": "重庆市江津区2023年度重点项目清单.xlsx",
"fileUrl": "http://file.jiansheku.com/key_project/4080bef69da03056d1db953698f4d807.xlsx",
"buildingProjectType": "电力工程",
"projectTotalInvestment": "5500万元",
"projectName": "重庆江津李市110kV输变电工程",
}],
exportData: {},
fieldshow: false,
fieldText: '默认排序',
field: 'year', //查询结果排序方式
fieldOptions: [{
fieldOptions: [
{
key: "year",
value: "默认排序",
status: true,
......@@ -415,17 +346,6 @@ export default {
},
],
showNum: 10,
importantProjectDto: {
province: [],
city: [],
area: [],
year: [],
fileTitle: [],
buildingProjectType: [],
keywordStr: ['projectName'],
keyword: '',
projectLevel: [],
},
provinceText: [],
pageFlag: true,
conditionsArr: [],
......@@ -436,7 +356,47 @@ export default {
limit: 20,
dataEXCEL: {},
dialogExportVisible: false,
value: ''
value: '',
exportData:{
title:'重点项目清单',
dialogExportVisible:false,
forData: [
{label: '项目类型', prop: 'buildingProjectType',slot: true,minWidth: '100'},
{label: '项目名称', prop: 'projectName', slot: true,minWidth: '200'},
{label: '主管部门', prop: 'chargeDepartment',slot: true,minWidth: '200'},
{label: '项目法人', prop: 'constructUnit', slot: true,minWidth: '150'},
{label: '项目投资额', prop: 'projectTotalInvestment',slot: true,minWidth: '100'},
{label: '项目地区', prop: 'domicile',minWidth: '100'},
{label: '建设规模', prop: 'projectScale',minWidth: '400'},
{label: '重点项目清单', prop: 'fileTitle',minWidth: '200'},
{label: '附件链接', prop: 'fileUrl', slot: true,minWidth: '300'},
],
exportTableData:[
{
"domicile": "广州",
"chargeDepartment": "广州市商合局",
"constructUnit": '鞍钢股份有限公司',
"projectScale": "项目建设规划总面积约3000亩,其中商住用地面积2000亩,文化旅游综合用地约1000亩,打造集“市井民俗文化体验、休闲度假、亲子研学等”为一体的复合型文化旅游目的地,企业已完成项目规划方案。",
"fileTitle": "广州2023年度重点项目清单.pdf",
"fileUrl": "http://file.jiansheku.com/key_project/b9e22fbf2e409642aa97f8238e934272.pdf",
"buildingProjectType": "房建工程",
"projectTotalInvestment": "1355万元",
"projectName": "广州市产业园区配套基础设施建设",
},
{
"domicile": "重庆",
"chargeDepartment": "国网重庆江津区供电公司",
"constructUnit": '国网重庆江津区供电公司',
"projectScale": "新建110kV变电站1座,主变容量2*50MVA,新建110kV线路20km",
"fileTitle": "重庆市2023年度重点项目清单.xlsx",
"fileUrl": "http://file.jiansheku.com/key_project/b9e22fbf2e409642aa97f8238e934272.pdf",
"buildingProjectType": "电力工程",
"projectTotalInvestment": "5056万元",
"projectName": "重庆江津市110kV输变电工程...",
},
],
exportEXCEL:{}
},
};
},
mounted() {
......@@ -523,7 +483,7 @@ export default {
},
importantProjectDto: data,
};
this.dataEXCEL = params;
this.dataEXCEL = JSON.parse(JSON.stringify(params));;
api.getImportantPage(params).then(res => {
this.isSkeleton = false;
if (res.code == 200) {
......@@ -658,23 +618,6 @@ export default {
this.importantProjectDto = obj;
this.$refs.transactionPriceShowPopper.hide();
},
transactionPricehandleCommand(command) {
if (command) {
this.$refs.transactionPriceShowPopper.hide();
var obj = JSON.parse(JSON.stringify(this.importantProjectDto));
this.startMoney = "";
this.endMoney = "";
if (command == "不限") {
obj.startMoney = "";
obj.endMoney = "";
} else {
obj.startMoney = command[0];
obj.endMoney = command[1];
}
this.importantProjectDto = obj;
}
},
addressListfn() {
var str = [];
for (let x = 0; x < 3; x++) {
......@@ -719,9 +662,6 @@ export default {
}
this.addressList = str;
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.init();
......@@ -742,51 +682,29 @@ export default {
this.fieldOptions[index].status = true;
this.search();
},
clickDialog() {
this.dialogExportVisible = true;
clickDialog(){
this.exportData.dialogExportVisible=true;
},
clickEXCEL() {
if (this.value > 2000) {
return;
clickEXCEL(value) {
if(value > 2000){
return
}
this.dialogExportVisible = false;
if (this.value) {
this.dataEXCEL.page.limit = this.value;
} else {
this.dataEXCEL.page.limit = this.total > 2000 ? 2000 : this.total;
this.dataEXCEL.exportExeclName=this.exportData.title;
if(value){
this.dataEXCEL.pageSize=value
}else {
this.dataEXCEL.pageSize=2000;
}
delete this.dataEXCEL.page.page;
delete this.dataEXCEL.pageNum
api.radarExport(this.dataEXCEL).then(res => {
if (res.code === 200) {
this.dialogExportVisible1 = true;
this.value = '';
this.exportData = res.data;
if(res.code === 200){
this.exportData.exportEXCEL=true;
}
});
},
cancel() {
this.dialogExportVisible = false;
this.value = '';
})
},
downloadFile(url, fileName) {
const x = new XMLHttpRequest();
x.open("GET", url, true);
x.responseType = 'blob';
x.onload = function (e) {
const url = window.URL.createObjectURL(x.response);
const a = document.createElement('a');
a.href = url;
a.download = fileName;
a.click();
a.remove();
};
x.send();
},
toUrl() {
this.dialogExportVisible1 = false;
this.$router.push({
path: '/user/profile',
});
cancel(){
this.exportData.dialogExportVisible=false;
this.exportData.exportEXCEL={}
},
},
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment