公司名称
省份
承包模式
业务板块
项目数量:{{ totalCount }}
{{ statistics.all }}
合同额汇总(亿元)
{{ statistics.tiredAmount }}
开累完成额汇总(亿元)
{{ statistics.yearAmount }}
本年完成额汇总(亿元)
{{ statistics.monthAmount }}
本月完成额汇总(亿元)
:key="index +'infos'" >
{{ item.name }}
区域
:{{ item.module }}
公司:{{ item.company }}
承包模式
:{{ item.module }}
公司:{{ item.company }}
业务板块
:{{ item.module }}
公司:{{ item.company }}
公司
:{{ item.company }}
无搜索结果
@selfMethod="selfMethod"
ref="groupCheck"
class="checkStyle"
:userInfo="userInfo"
/>
@selfMethodTree="selfMethodTree"
ref="groupTree"
class="checkStyle"
:treeInfo="treeInfo"
/>
import apifrom "table/api/crcckl/index";
import CheckComponentsfrom "table/views/custom/crcckl/components/CheckComponentsMobile";
import groupTreeMobilefrom "table/views/custom/crcckl/components/groupTreeMobile";
import commonMixinfrom "table/views/mixins";
import {debounce }from 'throttle-debounce'
import {Checkbox, CheckboxGroup}from 'element-ui'
export default {
name:"DrillDownDetails",
mixins: [commonMixin],
components:{
CheckComponents,
groupTreeMobile,
[Checkbox.name]: Checkbox,
[CheckboxGroup.name]: CheckboxGroup
},
data(){
return {
loadList:debounce(500, () => {
this.listLoad()
}),
handleFilter:debounce(200, val => {
this.queryKeyword(val)
}),
userInfo: {//右侧树开关
isShow:false
},
treeInfo: {//左侧树开关
isShow:false
},
disabled:false,
keyValue:'',
checked:true,
loading:false, //loading加载
currentPage:1, //当前页
pageSize:20, //每页条数
totalCount:0, //总数
flag:true,
code:'', //树勾选code
idPaths: [], //组织信息
statistics: {}, //汇总信息
nodeList: [], //列表信息
showBtn:false, // 回到顶部,默认是false,就是隐藏起来
timer:null //计时器
}
},
watch: {
keyValue(value) {//搜索
this.handleFilter(value)
},
checked(value){// 勾选
this.handleFilter(value)
}
},
methods:{
/**
* @Description: 滑动出现布尔值
* @param {type}
* @return {type}
* @author: sun-l
*/
handeleSliding(){
this.$nextTick(()=>{
let scrollWrap =document.getElementById('scrollWrap');
let currentScrollTop = scrollWrap.scrollTop;
if (currentScrollTop >250) {
this.showBtn =true;
}else {
this.showBtn =false;
}
})
},
/**
* @Description: 右侧分页切换信息
* @param {type}
* @return {type}
* @author: sun-l
*/
selfMethod(value){
this.disabled =false
this.code = value
this.handleFilter()
this.handeleSliding()
},
/**
* @Description: 左侧公司勾选回调
* @param {type}
* @return {type}
* @author: sun-l
*/
selfMethodTree(value){
this.disabled =false
this.idPaths = value
this.handleFilter()
this.handeleSliding()
},
/**
* @Description: 空数据处理
* @param {type}
* @return {type}
* @author: sun-l
*/
handlePublic() {
if (this.nodeList.length >0) {
this.flag =true
}else {
this.flag =false
}
},
/**
* @Description: 获取二级数据信息
* @param {type}
* @return {type}
* @author: sun-l
*/
init(){
const resolve = (res) => {
this.nodeList = res.data.recourds
this.statistics = res.data.statistics
this.totalCount = res.data.totalCount
this.handlePublic()
}
const reject = mes => { }
this.getinitdata({currentPage:1 }, resolve, reject)
this.$nextTick(() => {
if (document.getElementById('scrollWrap')) {
const selectWrap =document.getElementById('scrollWrap');
selectWrap.addEventListener('scroll', this.scrollLoadMore);
}
});
},
/**
* @Description: 获取二级数据滚动加载信息
* @param {type}
* @return {type}
* @author: sun-l
*/
scrollLoadMore() {
let scrollWrap =document.getElementById('scrollWrap');
let currentScrollTop = scrollWrap.scrollTop;
if (currentScrollTop >250) {
this.showBtn =true;
}else {
this.showBtn =false;
}
let currentOffsetHeight = scrollWrap.scrollHeight;
let currentClientHeight = scrollWrap.clientHeight;
if ((currentScrollTop + currentClientHeight >= currentOffsetHeight -100) && !this.loading) {
this.loadList()
}
},
/**
* @Description: 获取二级数据滚动加载信息
* @param {type}
* @return {type}
* @author: sun-l
*/
listLoad() {
if (this.nodeList.length
this.loading =true
this.currentPage =this.currentPage +1
const resolve = res => {
this.nodeList =this.nodeList.concat(res.data.recourds)
this.loading =false
}
const reject = err => {
console.log(err)
}
this.getinitdata({currentPage:this.currentPage }, resolve, reject)
}
},
/**
* @Description: 获取二级数据搜索滚动加载信息
* @param {type}
* @return {type}
* @author: sun-l
*/
queryKeyword(val) {
this.loading =true
const resolve = res => {
this.currentPage =1
this.nodeList = res.data.recourds
this.statistics = res.data.statistics
this.totalCount = res.data.totalCount
this.handlePublic()
this.handeBackTop()
var then =this
setTimeout(function () {
then.loading =false
}, 500);
}
const reject = err => {
console.log(err)
}
this.getinitdata({currentPage:1, key: val}, resolve, reject)
},
/**
* @Description: 获取二级数据列表信息
* @param {type}
* @return {type}
* @author: sun-l
*/
getinitdata(data, resolve, reject){
const querys = {
module:this.$route.query.type,
name:this.keyValue,
// virtual: this.checked ? 1 : 0,
currentPage: data.currentPage ? data.currentPage :1,
pageSize:this.pageSize
}
if (this.checked){
querys.virtual =0
}
if (this.idPaths.length){
querys.idPaths =this.idPaths
}
if (this.code.length){
querys.code =this.code
}
this.$post(api.getOrganizationFilterDataForMobile(this.rootId,this.companyId),querys).then((res) => {
resolve(res)
}).catch(rem => {
reject(rem)
})
},
/**
* @Description: 公司名称点击事件
* @param {type}
* @return {type}
* @author: sun-l
*/
handleCompanyName(){
this.disabled = !this.disabled
this.userInfo.isShow =false
this.treeInfo.isShow = !this.treeInfo.isShow
this.$nextTick(()=>{
this.$refs.groupTree.keyValue =''
this.$refs.groupTree.fetchOrgListForProduct()
this.$refs.groupTree.checkedArr =this.$refs.groupTree.ids
})
},
/**
* @Description: 区域点击事件
* @param {type}
* @return {type}
* @author: sun-l
*/
handleArea() {
this.disabled = !this.disabled
this.treeInfo.isShow =false
this.userInfo.isShow = !this.userInfo.isShow
this.$nextTick(()=>{
this.$refs.groupCheck.keyValue =''
this.$refs.groupCheck.initData()
})
},
/**
* @Description: 回到顶部
* @param {type}
* @return {type}
* @author: sun-l
*/
handeBackTop(){
clearInterval(this.timer);
this.timer =setInterval(()=>{
let scrollWrap =document.getElementById('scrollWrap');
let osTop = scrollWrap.scrollTop;
let ispeed =Math.floor(-osTop /5);
scrollWrap.scrollTop = osTop + ispeed;
if(osTop ===0){
clearInterval(this.timer);
}
},30)
}
},
mounted() {
this.init()
},
beforeDestroy() {
clearInterval(this.timer);
}
}
.content{
width:100%;
height:100%;
background:#001170;
font-family:PingFangSC-Medium, PingFang SC;
position:relative;
.inputSty {
width:91.466%;
margin:0 auto;
height:30px;
padding-top:10px;
/deep/ .el-input {
//width: 54.518%;
}
/deep/ .el-input__inner {
height:30px;
background:#01014D;
opacity:0.8;
border-radius:15px;
border:1px solid #0055FF;
}
/deep/ .el-input__prefix {
top: -5px;
}
/deep/ .el-input__suffix {
top: -5px;
}
.inputStyBox{
overflow:hidden;
.inputStyBoxLeft{
float:left;
width:50.518%;
display:flex;
align-items:self-start;
justify-content:left;
}
.inputStyBoxRight{
display:flex;
align-items:self-start;
justify-content:right;
float:right;
overflow:hidden;
.text{
float:left;
font-size:14px;
font-weight:400;
color:#FFFFFF;
.textIcon{
margin-left:8px;
padding-top:5px;
}
.textIcons{
margin-left:8px;
padding-top:5px;
}
}
}
}
}
.bg{
margin-top:10px;
background:#0F0F4D;
height:calc(~"100% - 55px");
border-top-left-radius:24px;
border-top-right-radius:24px;
width:100%;
.bgTop{
overflow:hidden;
padding:18px 0 11px 0;
.bgTextLeft,.bgTextRight{
font-size:12px;
font-weight:400;
color:#FFFFFF;
}
.bgTextLeft{
float:left;
}
.bgTextRight{
float:right;
font-size:14px;
}
}
.bgW{
width:91.466%;
margin:0 auto;
}
.box{
height:calc(~"100% - 55px");
.ListItem{
height:100%;
overflow:auto;
.boxCard{
overflow:hidden;
margin-bottom:16px;
.boxCardLeft{
width:39%;
float:left;
background:linear-gradient(180deg, rgba(0,85,255,0)0%, rgba(0,85,255,0.4000)100%);
border-radius:10px;
border:1px solid rgba(0, 85, 255, 0.5);
padding:12px 14px;
text-align:center;
position:relative;
.boxCardLeftTop{
font-size:18px;
font-weight:500;
color:#FFFFFF;
}
.boxCardLeftBottom{
font-size:12px;
font-weight:500;
color:#FFFFFF;
padding-top:2px;
}
}
.boxCardRight{
position:relative;
width:39%;
float:right;
background:linear-gradient(180deg, rgba(0,85,255,0)0%, rgba(0,85,255,0.4000)100%);
border-radius:10px;
border:1px solid rgba(0, 85, 255, 0.5);
padding:12px 14px;
text-align:center;
.boxCardRightTop{
font-size:18px;
font-weight:500;
color:#FFFFFF;
}
.boxCardRightBottom{
font-size:12px;
font-weight:500;
color:#FFFFFF;
padding-top:2px;
}
}
}
}
.ListItem::-webkit-scrollbar{
display:none;
}
}
}
}
/deep/ .el-checkbox__label{
color:#FFFFFF;
}
.echItem {
height:180px;
background:rgba(0,85,255,0.2000);
border-radius:10px;
border:1px solid rgba(0,85,255,0.2000);
display:flex;
flex-direction:column;
position:relative;
.titleBack {
width:130px;
height:130px;
position:absolute;
top:0;
left:0;
}
.title {
font-size:14px;
font-weight:500;
color:#ffffff;
line-height:20px;
padding:16px 0 0 16px;
z-index:100;
}
.ColumnarSty {
width:100%;
flex:1;
}
.content {
width:95%;
flex:1;
display:flex;
position:relative;
margin-left:2.5%;
#projectDashboard_1,
#projectDashboard_2 {
width:50%;
height:100%;
}
.left,
.right {
width:25%;
padding-top:80px;
text-align:center;
p {
font-size:16px;
font-weight:500;
color:#FFFFFF;
}
div {
font-size:12px;
font-weight:400;
color:#FFFFFF;
}
}
>img {
width:100%;
position:absolute;
left:0;
bottom:10px;
}
}
}
.personnel {
height:166px;
.people {
display:flex;
justify-content:space-between;
align-items:center;
margin:0 16px;
.division {
width:1px;
height:80%;
background:#0055FF;
opacity:0.5;
}
.mainNum {
width:40%;
display:flex;
flex-direction:column;
.titleName {
width:60px;
height:18px;
font-size:12px;
font-family:PingFangSC-Regular, PingFang SC;
font-weight:400;
color:#ffffff;
position:relative;
p {
width:93%;
height:50%;
position:absolute;
left:0;
top:27%;
background:linear-gradient(
90deg,
rgba(255, 209, 0, 0)0%,
rgba(255, 209, 0, 0.8)100%
);
}
.backP {
background:linear-gradient(
90deg,
rgba(0, 255, 236, 0)0%,
rgba(0, 255, 236, 0.8)100%
);
}
}
.number {
font-size:22px;
font-weight:500;
color:#ffd100;
}
}
.itemNum {
width:30%;
.titleNum {
font-size:14px;
font-weight:500;
color:#FFFFFF;
text-align:center;
}
.number {
padding-top:2px;
font-size:12px;
font-weight:400;
color:#ffffff;
text-align:center;
}
}
}
}
.bodyPeople {
flex:1;
display:flex;
flex-direction:column;
justify-content:space-evenly;
.bodyDivision {
height:1px;
background:#0055FF;
opacity:0.5;
margin:0 16px;
}
}
.topText{
margin:0 16px;
.topTextCharacter{
font-size:16px;
font-weight:500;
color:#FFFFFF;
}
.bottomTextandValue{
margin-top:13px;
overflow:hidden;
.bottomTextandValueLeft{
float:left;
position:relative;
font-size:12px;
font-weight:400;
color:#FFFFFF;
width:36px;
height:26px;
line-height:24px;
p {
width:75%;
height:50%;
position:absolute;
left:17px;
top:22%;
background:linear-gradient(
90deg,
rgba(255, 209, 0, 0)0%,
rgba(255, 209, 0, 0.8)100%
);
}
}
.bottomTextandValueRight{
float:left;
font-size:18px;
font-weight:500;
color:#FFD100;
margin-left:16px;
}
}
}
.dragBottom{
font-size:12px;
font-weight:400;
color:#FFFFFF;
width:82.933%;
margin:0 auto;
background:linear-gradient(180deg, rgba(255,255,255,0)0%, rgba(255,255,255,0.3000)100%);
border-radius:0px 0px 10px 10px;
overflow:hidden;
padding:7px 0 7px 16px;
.dragBottomLeft{
width:49%;
float:left;
}
.dragBottomRight{
width:49%;
float:right;
}
}
.checkStyle{
position:absolute;
top:46px;
}
.overselling{
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
/deep/.el-loading-mask{
background:#01014D;
opacity:0.5;
}
.emptyBg{
position:relative;
}
.emptyContent{
position:absolute;
top:130px;
margin-left:23.333%;
}
.empty{
width:200px;
height:122px;
display:block;
background:url("../../../../../../assets/img/empty.png");
background-repeat:no-repeat;
background-position:center;
background-size:cover;
}
.emptyText{
font-size:14px;
font-weight:400;
color:#FFFFFF;
text-align:center;
opacity:0.7;
}
.backTop{
position:fixed;
bottom:16px;
right:16px;
width:34px;
height:34px;
background:url("../../../../../../assets/img/backTop.png");
display:block;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
z-index:9;
}
.boxCardBg{
width:2px;
height:14px;
background:url("../../../../../../assets/img/decorate.png");
display:block;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:absolute;
top:16px;
left:0;
}
.boxCardBgYellow{
width:2px;
height:14px;
background:url("../../../../../../assets/img/decorateYellow.png");
display:block;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:absolute;
top:16px;
left:0;
}
.active{
color:#5B5B5B!important;
}
.inputStyBoxRightActive{
.text{
float:left;
font-size:14px;
font-weight:400;
color:#FFFFFF;
.textIcon{
margin-left:16px;
padding-top:5px;
}
}
}
///deep/.el-loading-spinner .path{
// stroke: #c8291c;
// }
.table-container{
padding:0 0;
}