Commit 2fe734af authored by Mac's avatar Mac
parents a3a3fb49 070274fd
.newSummaryLogin .item img {
width: 100%;
}
.Summary_login_Div {
width: 480px;
height: 420px;
position: absolute;
text-align: center;
background: #fff;
border-radius: 12px;
-webkit-box-shadow: 1px -1px 25px rgba(249, 7, 32,0.2);
box-shadow: 1px -1px 25px rgba(249, 7, 32,0.2);
z-index: 2018;
margin: auto;
top: 0;
left: 0;
bottom: 0;
right: 0;
float:right;
margin-right:165px;
}
.newSummaryLogin .error-msg{
color:#cccccc;
font-size:12px;
text-align: left;
width:300px;
margin:0 auto 0;
height:20px;
padding-left: 16px;
}
.newSummaryLogin .error-msg img{
position:relative;
top:3px;
margin:0 10px 0 5px;
}
.Summary_login_Div .sumMainTitle{
font-size:28px;
padding-top:40px;
color:#111111;
margin-bottom:40px;
font-weight:bold;
}
.Summary_login_Div .littTitle{
font-size:18px;
color:#333333;
}
.Summary_login_Div .icon-login-name,.icon-login-password{
width:16px;
height:15px;
display:inline-block;
position:absolute;
top:10px;
color: #000000
}
.Summary_login_Div .login-commonBotm{
width:260px;
position:relative;
margin:10px auto 0;
}
.Summary_login_Div .login-commonBotm img{
float:left;
margin-top:14px;
}
.Summary_login_Div input.input{
width:260px;
height:40px;
outline:none;
padding-left: 30px;
border:none;
border-bottom: 1px solid #CCCCCC;
color: #333333;
caret-color:#E95252;
}
.Summary_login_Div input::-webkit-input-placeholder {
color: #999999;
font-size: 12px;
}
.newSummaryLogin .sumPhone{width:100%;text-align:center;color:#333;margin-bottom:10px;}
.Summary_login_Div input:-webkit-autofill , .Summary_login_Div textarea:-webkit-autofill, .Summary_login_Div select:-webkit-autofill {
-webkit-text-fill-color: #ededed !important;
-webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
background-color:transparent;
background-image: none;
transition: background-color 50000s ease-in-out 0s;
}
.Summary_login_Div .sLoginBtn{
margin-top:30px;
width:300px;
height:40px;
background:#EE4454;
border-radius:20px;
outline:none;
border:none;
color:#fff;
transition: all linear 0.5s;
}
.Summary_login_Div .sLoginBtn:hover{
opacity:.8;
cursor:pointer;
background-color: #E95252;
color: #FFFFFF
}
.Summary_login_Div .validatCode{
color:#333333;
}
.newSummaryLogin .msgTips p{
color:#333333!important;
}
.newSummaryLogin .msgTips p, .newSummaryLogin .msgTips h2{
color:#333333!important;
}
.newSummaryLogin .bindTitle{margin-bottom:10px;}
.newSummaryLogin .changeBtn{
margin-top:10px;
}
.login-box .forgetPw{
width:300px;
height:40px;
text-align: right;
margin:auto;
color:#999999;
font-size:12px;
text-align: right;
line-height: 40px;
}
.forgetPw span{
cursor: pointer;
}
.newSummaryLogin .login-box .forgetPw span:hover{
color: #E95252;
}
.newSummaryLogin .login-way{
width:300px;
height:40px;
margin:25px auto;
font-size:12px;
color:#CCCCCC;
display: none;
line-height:40px;
}
.newSummaryLogin .wayLeft{
float:left;
}
.newSummaryLogin .icon-login-qqicon{
width:16px;
height:15px;
display:inline-block;
position:relative;
top:3px;
background:url(../img/qqIco.png) no-repeat;
}
.newSummaryLogin .icon-login-wechaticon{
width:19px;
height:15px;
display:inline-block;
position:relative;
top:3px;
background:url(../img/wechatIco.png) no-repeat;
}
.newSummaryLogin .wayRight{
float:right;
}
.newSummaryLogin .validatCode{
position: absolute;
right:0;
top:13px;
padding-left:10px;
color:#333;
font-size:12px;
letter-spacing: 2px;
border-left:1px solid #cccccc;
}
.newSummaryLogin .validatCode span:first-child{cursor: pointer;}
.newSummaryLogin .btValidate{
margin-top:30px;
}
.newSummaryLogin .login_elephant{
position: absolute;
left:-15px;
top:-80px;
}
.newSummaryLogin .homepage-hero-module,
.video-container {
position: relative;
height: 100vh;
overflow: hidden;
}
.newSummaryLogin .name_bline_left{position: absolute;right: 115px;bottom: 0;width: 0;height: 2px;background-color: #E95252;transition: all linear 0.5s;}
.newSummaryLogin .name_bline_right{position: absolute;left: 115px;bottom: 0;width: 0;height: 2px;background-color: #E95252;transition: all linear 0.5s;}
.newSummaryLogin .pwd_bline_left{position: absolute;right: 115px;bottom: 0;width: 0;height: 2px;background-color: #E95252;transition: all linear 0.5s;}
.newSummaryLogin .pwd_bline_right{position: absolute;left: 115px;bottom: 0;width: 0;height: 2px;background-color: #E95252;transition: all linear 0.5s;}
.newSummaryLogin .login-Div input:-webkit-autofill , .login-Div textarea:-webkit-autofill, .login-Div select:-webkit-autofill {
-webkit-text-fill-color: #ededed !important;
-webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
background-color:transparent;
background-image: none;
transition: background-color 50000s ease-in-out 0s;
}
.newSummaryLogin ._bline_w{width: 145px;}
<style scoped>
.page_bdm{padding: 20px 0;}
._tit{padding-left: 10px;border-left: 3px solid #E95252;font-size: 14px}
._conten,._process{margin-top: 20px;width: 890px;}
._conten{position: relative}
._explain{padding: 20px 15px;border-top: 1px dashed #BFBFBF;background-color: white;}
._explain>p{color: #1273BC;font-size: 12px;}
._explain>div{display: flex;justify-content: space-between;font-size: 12px;color: #333333;margin-top: 10px;align-items: center;}
._tit2{
<style>
.page_bdm .page_bdm{padding: 20px 0;}
.page_bdm ._tit{padding-left: 10px;border-left: 3px solid #E95252;font-size: 14px}
.page_bdm ._conten,._process{margin-top: 20px;width: 890px;}
.page_bdm ._conten{position: relative}
.page_bdm ._explain{padding: 20px 15px;border-top: 1px dashed #BFBFBF;background-color: white;}
.page_bdm ._explain>p{color: #1273BC;font-size: 12px;}
.page_bdm ._explain>div{display: flex;justify-content: space-between;font-size: 12px;color: #333333;margin-top: 10px;align-items: center;}
.page_bdm ._tit2{
border:none;
background-color: white;
border: 1px solid #DDDDDD;
}
._tit._tit2>p{
.page_bdm ._tit._tit2>p{
padding-left: 10px;
font-size: 14px;
color: #000;
......@@ -19,117 +19,117 @@
display: flex;
justify-content: space-between;
}
._tit._tit2 ._rotate{
.page_bdm ._tit._tit2 ._rotate{
transform:rotate(180deg);
}
._tit._tit2 ._btn{
.page_bdm ._tit._tit2 ._btn{
font-size: 12px;
color: #333333;
cursor: pointer;
}
._tit._tit2 ._btn:hover{
.page_bdm ._tit._tit2 ._btn:hover{
color: #E95252;
}
._tit._tit2 ._btn .iconfont{
.page_bdm ._tit._tit2 ._btn .iconfont{
font-size: 12px;
display: inline-block;
margin-left: 10px;
}
._tit._tit2 ._text{
.page_bdm ._tit._tit2 ._text{
border-left: 3px solid #e95252;
padding-left: 10px;
}
._process{background-color: white;padding: 20px 15px;position: relative;}
._process_box{border-top: 1px dashed #BFBFBF;padding-top: 30px;padding-bottom: 40px;}
._flow_chart{position:absolute;display: inline-block;right: 15px;top: 7px;padding:5px 25px;font-size: 12px;color: #FFFFFF;background-color: #E95252;border-radius: 14px;cursor: pointer;}
._pb_son{position: relative;padding-left: 65px;min-height: 100px;margin-bottom: 30px}
._left_radius{width: 40px;height: 40px;border-radius: 50%;text-align: center;line-height: 40px;background-color: #2BBB7E;color: white;font-size: 12px;position: absolute;left: 0}
._left_radius_err{background-color: #E95252;}
._left_radius_sus{background-color: #1273BC;}
._right_content{padding-left: 0}
._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;}
._right_content ._name ._m{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #E95252;margin-left: 5px;border-radius: 4px;}
._right_content ._name ._sm,._huoqian{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #FF9600;margin-left: 5px;border-radius: 4px;font-weight: 100;}
._right_content ._name ._sn{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #2BBB7E;margin-left: 5px;border-radius: 4px;}
._right_content ._time{font-size: 12px;color: #666666;padding-top: 5px;}
._right_content ._pp_info,._textarea{border-radius: 4px; border: 1px solid #E5E5E5;background:rgba(245,245,245,1);font-size: 12px;color: #333333;padding: 12px 14px;margin-top: 13px;position: relative;}
._right_content ._pp_info:before{display:block;content:'';border-width:8px 8px 8px 8px;border-style:solid;border-color: transparent transparent #dedede transparent;position:absolute;left:10px;top:-16px;}
._more{margin-top: 15px;}
.page_bdm ._process{background-color: white;padding: 20px 15px;position: relative;}
.page_bdm ._process_box{border-top: 1px dashed #BFBFBF;padding-top: 30px;padding-bottom: 40px;}
.page_bdm ._flow_chart{position:absolute;display: inline-block;right: 15px;top: 7px;padding:5px 25px;font-size: 12px;color: #FFFFFF;background-color: #E95252;border-radius: 14px;cursor: pointer;}
.page_bdm ._pb_son{position: relative;padding-left: 65px;min-height: 100px;margin-bottom: 30px}
.page_bdm ._left_radius{width: 40px;height: 40px;border-radius: 50%;text-align: center;line-height: 40px;background-color: #2BBB7E;color: white;font-size: 12px;position: absolute;left: 0}
.page_bdm ._left_radius_err{background-color: #E95252;}
.page_bdm ._left_radius_sus{background-color: #1273BC;}
.page_bdm ._right_content{padding-left: 0}
.page_bdm ._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;}
.page_bdm ._right_content ._name ._m{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #E95252;margin-left: 5px;border-radius: 4px;}
.page_bdm ._right_content ._name ._sm,._huoqian{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #FF9600;margin-left: 5px;border-radius: 4px;font-weight: 100;}
.page_bdm ._right_content ._name ._sn{color: #FFFFFF;font-size: 12px;display: inline-block;padding: 2px 5px;background-color: #2BBB7E;margin-left: 5px;border-radius: 4px;}
.page_bdm ._right_content ._time{font-size: 12px;color: #666666;padding-top: 5px;}
.page_bdm ._right_content ._pp_info,._textarea{border-radius: 4px; border: 1px solid #E5E5E5;background:rgba(245,245,245,1);font-size: 12px;color: #333333;padding: 12px 14px;margin-top: 13px;position: relative;}
.page_bdm ._right_content ._pp_info:before{display:block;content:'';border-width:8px 8px 8px 8px;border-style:solid;border-color: transparent transparent #dedede transparent;position:absolute;left:10px;top:-16px;}
.page_bdm ._more{margin-top: 15px;}
/* ._more ._right_content{padding: 0 0 0 10px;} */
._more ._right_content .iconfont{color: #AAAAAA}
._more ._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;padding-left: 3px;}
._right_content ._name{padding: 2px 0}
._name .icon-img-ren{color: #AAAAAA}
._info_img ul{padding: 10px 0}
._info_img ul li{float: left;position: relative;cursor: pointer}
._info_img ul li:hover ._see_img{opacity: 1;}
._info_img ul li img{width:88px;height:59px;}
._see_img{position: absolute;top: 0;width: 100%;height: 59px;padding-top: 16px;line-height: 34px;text-align: center;background-color: rgba(2, 2, 2, 0.3);display: inherit;opacity: 0;transition: all linear .5s}
._see_img i.iconfont{display: inline-block;width: 32px;height: 32px;border-radius: 50%;color: #FFFFFF !important;background-color: rgba(255, 255, 255, 0.5);}
._show_img_box{position: fixed; background: rgba(0,0,0,.6); left: 0; top:0; width: 100%; height: 100%; z-index: 999; text-align: center;overflow:auto;}
._textarea{width: 685px;height: 50px;background-color: white}
._textarea._mini{width: 95%;}
._upload_box ul li{float: left;height:82px;width:143px;padding:20px 20px 20px 0;text-align: center;position: relative;cursor: pointer;margin-right: 10px;}
._upload_box ul li img{height:82px;width:143px;}
._upload_box ul li:hover ._delete_img{opacity: 1;}
._delete_img{position: absolute;top: 20px;height:82px;width:143px;line-height: 34px;text-align: center;background-color: rgba(2, 2, 2, 0.6);display: inherit;opacity: 0;transition: all linear .5s}
._delete_img i.iconfont{display: inline-block;width: 32px;height: 32px;border-radius: 50%;color: #E95252 !important;background-color:rgba(251, 251, 251, 0.9); margin-top: 26px;}
._radio_lsit{padding-top: 15px}
._upload_tips{font-size: 12px;position: absolute;top: 66%;width: 100%;left: 0;text-align: center;color: #949494;}
._log_t{padding: 10px;}
._pay_box{padding: 20px 0}
._pay_box table{width: 100%;border-top-left-radius: 4px;border-top-right-radius: 4px;text-align: center;}
._pay_box th{border: none;background-color: #DCDCDC}
._pay_box th,._pay_box td{padding: 7px;font-size: 12px;}
.page_bdm ._more ._right_content .iconfont{color: #AAAAAA}
.page_bdm ._more ._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;padding-left: 3px;}
.page_bdm ._right_content ._name{padding: 2px 0}
.page_bdm ._name .icon-img-ren{color: #AAAAAA}
.page_bdm ._info_img ul{padding: 10px 0}
.page_bdm ._info_img ul li{float: left;position: relative;cursor: pointer}
.page_bdm ._info_img ul li:hover ._see_img{opacity: 1;}
.page_bdm ._info_img ul li img{width:88px;height:59px;}
.page_bdm ._see_img{position: absolute;top: 0;width: 100%;height: 59px;padding-top: 16px;line-height: 34px;text-align: center;background-color: rgba(2, 2, 2, 0.3);display: inherit;opacity: 0;transition: all linear .5s}
.page_bdm ._see_img i.iconfont{display: inline-block;width: 32px;height: 32px;border-radius: 50%;color: #FFFFFF !important;background-color: rgba(255, 255, 255, 0.5);}
.page_bdm ._show_img_box{position: fixed; background: rgba(0,0,0,.6); left: 0; top:0; width: 100%; height: 100%; z-index: 999; text-align: center;overflow:auto;}
.page_bdm ._textarea{width: 685px;height: 50px;background-color: white}
.page_bdm ._textarea._mini{width: 95%;}
.page_bdm ._upload_box ul li{float: left;height:82px;width:143px;padding:20px 20px 20px 0;text-align: center;position: relative;cursor: pointer;margin-right: 10px;}
.page_bdm ._upload_box ul li img{height:82px;width:143px;}
.page_bdm ._upload_box ul li:hover ._delete_img{opacity: 1;}
.page_bdm ._delete_img{position: absolute;top: 20px;height:82px;width:143px;line-height: 34px;text-align: center;background-color: rgba(2, 2, 2, 0.6);display: inherit;opacity: 0;transition: all linear .5s}
.page_bdm ._delete_img i.iconfont{display: inline-block;width: 32px;height: 32px;border-radius: 50%;color: #E95252 !important;background-color:rgba(251, 251, 251, 0.9); margin-top: 26px;}
.page_bdm ._radio_lsit{padding-top: 15px}
.page_bdm ._upload_tips{font-size: 12px;position: absolute;top: 66%;width: 100%;left: 0;text-align: center;color: #949494;}
.page_bdm ._log_t{padding: 10px;}
.page_bdm ._pay_box{padding: 20px 0}
.page_bdm ._pay_box table{width: 100%;border-top-left-radius: 4px;border-top-right-radius: 4px;text-align: center;}
.page_bdm ._pay_box th{border: none;background-color: #DCDCDC}
.page_bdm ._pay_box th,._pay_box td{padding: 7px;font-size: 12px;}
/* ._border_b_1{border-bottom: 1px solid #afafaf !important;} */
._now_pay{padding: 4px 10px;border-radius: 11px;color: white;font-size: 12px;background-color: #E95252;cursor: pointer;}
._allMoney{text-align: left !important}
._time_n{float: right;}
._mgt_15{margin-top: 15px;}
._padd_left_10{padding-left: 10px;}
._margin_b15{margin-bottom: 15px;}
._pay_box table tr td{text-align: center}
.w890px{width: 890px;padding: 0;margin: 0;}
.page_bdm ._now_pay{padding: 4px 10px;border-radius: 11px;color: white;font-size: 12px;background-color: #E95252;cursor: pointer;}
.page_bdm ._allMoney{text-align: left !important}
.page_bdm ._time_n{float: right;}
.page_bdm ._mgt_15{margin-top: 15px;}
.page_bdm ._padd_left_10{padding-left: 10px;}
.page_bdm ._margin_b15{margin-bottom: 15px;}
.page_bdm ._pay_box table tr td{text-align: center}
.page_bdm .w890px{width: 890px;padding: 0;margin: 0;}
.w600px{
.page_bdm .w600px{
width: 600px;
padding: 15px;
margin: 0 auto;
}
._explain ._addUpload_box{
.page_bdm ._explain ._addUpload_box{
display: block;
padding-bottom: 14px;
}
._explain2>div{
.page_bdm ._explain2>div{
margin-top: 0;
}
._explain2{
.page_bdm ._explain2{
border: none;
padding: 20px 0 0 14px;
background-color: aliceblue;
}
._addUpload_box>div:hover{
.page_bdm ._addUpload_box>div:hover{
background-color: #f5f5f5;
}
._submit{height:50px;padding:10px 20px;width:890px; position: absolute;bottom: 0;left: 0; display: flex;border-top: 1px dotted #eee;}
._submit .btn-box{width:216px;}
._submit .chosenNextBox{flex:1;font-size: 12px;height: 30px; line-height: 30px;}
._submit .chosenNextBox .red{color:#C94052;margin-right: 15px;}
._submit .el-input__inner{ width:300px !important;}
._addFile_name{
.page_bdm ._submit{height:50px;padding:10px 20px;width:890px; position: absolute;bottom: 0;left: 0; display: flex;border-top: 1px dotted #eee;}
.page_bdm ._submit .btn-box{width:216px;}
.page_bdm ._submit .chosenNextBox{flex:1;font-size: 12px;height: 30px; line-height: 30px;}
.page_bdm ._submit .chosenNextBox .red{color:#C94052;margin-right: 15px;}
.page_bdm ._submit .el-input__inner{ width:300px !important;}
.page_bdm ._addFile_name{
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
font-size: 12px;
}
._fujian_box{
.page_bdm ._fujian_box{
position: fixed;
left: 961px;
top: 148px;
width: 440px;
}
._wenjian{
.page_bdm ._wenjian{
padding: 15px;
width: 91px;
height: 80px;
......@@ -139,20 +139,20 @@
margin-right: 10px;
margin-top: 10px;
}
._wenjian_P{
.page_bdm ._wenjian_P{
font-size: 30px;
text-align: center;
color: #41D2A1;
}
.el-carousel__item{
.page_bdm .el-carousel__item{
align-items: center;
justify-content: center;
display: flex;
}
._pay_box table tr td:last-child{
.page_bdm ._pay_box table tr td:last-child{
text-align: left;
}
._splic{
.page_bdm ._splic{
width: 890px;
overflow: hidden;
font-size: 12px;
......@@ -160,38 +160,38 @@
margin-top: 15px;
line-height: 10px;
}
._zhuanjiao_tips{
.page_bdm ._zhuanjiao_tips{
font-size: 12px;
color: #C94052;
display: inline-block;
margin-left: 20px;
}
._jump_page{
.page_bdm ._jump_page{
cursor: pointer;
text-decoration: underline;
}
._jump_page:hover{
.page_bdm ._jump_page:hover{
color: #c94052;
}
._fujian_box_tit{
.page_bdm ._fujian_box_tit{
display: flex;
justify-content:space-between;
font-size: 14px;
color: #333333;
}
._fujian_box_tit .iconfont{
.page_bdm ._fujian_box_tit .iconfont{
font-size: 14px;
display: inline-block;
margin-right: 8px;
}
._fujian_box_tit .iconfont.icon-bangdingzhagnhuxinxi{
.page_bdm ._fujian_box_tit .iconfont.icon-bangdingzhagnhuxinxi{
color: #E95252;
}
._fujian_box_tit .iconfont.icon-gengduo{
.page_bdm ._fujian_box_tit .iconfont.icon-gengduo{
transform:rotate(90deg);
font-size: 12px;
}
._fujian_zhankai{
.page_bdm ._fujian_zhankai{
color: white;
width: 64px;
height: 0;
......@@ -205,7 +205,7 @@
left: -19px;
bottom: -21px;
}
._fujian_zhankai>span{
.page_bdm ._fujian_zhankai>span{
display: inline-block;
height: 100%;
width: 50%;
......@@ -215,47 +215,80 @@
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
._fujian_zhankai>span:nth-child(2){
.page_bdm ._fujian_zhankai>span:nth-child(2){
left: 18px;
bottom: 3px;
}
._TCIDAndTCNUMList{
.page_bdm ._TCIDAndTCNUMList{
display: flex;
}
._TCIDAndTCNUMList ._TCIDAndTCNUMList_item span{
.page_bdm ._TCIDAndTCNUMList ._TCIDAndTCNUMList_item span{
display: inline-block;
padding-bottom: 5px;
}
._font_bold{
.page_bdm ._font_bold{
font-weight: bold;
}
._TCIDAndTCNUMList_item{
.page_bdm ._TCIDAndTCNUMList_item{
max-width: 160px;
}
._fujiashuoming_tr td{
.page_bdm ._fujiashuoming_tr td{
font-size: 12px;
color: #696969;
padding: 5px 10px;
}
._zhuan_msg{
.page_bdm ._zhuan_msg{
font-size: 12px;
margin-top:10px;
padding-bottom: 10px;
}
._zhuan_msg span{
.page_bdm ._zhuan_msg span{
display: inline-block;
margin-right: 5px;
color: #696969;
}
._zhuan_msg span:last-child{
.page_bdm ._zhuan_msg span:last-child{
margin-left: 10px;
}
._zhuan_msg p:nth-child(2){
.page_bdm ._zhuan_msg p:nth-child(2){
color: #696969;
}
._zhuan_msg ._color_green{
.page_bdm ._zhuan_msg ._color_green{
color: #2BBB7E
}
.page_bdm .chongdi_box table{
width: 100%;
}
.page_bdm .chongdi_box table th{
border: none;
background-color: #DCDCDC;
}
.page_bdm .chongdi_box table th,.page_bdm .chongdi_box table td{
font-size: 12px;
padding: 7px;
}
.page_bdm .chongdi_list{
background-color: white;
padding: 15px;
border: 1px solid #e0e0e0;
}
.page_bdm .chongdi_list em{
font-size: 14px;
}
.page_bdm .chongdi_list ._kehu input{
border: 1px solid #dcdfe6 !important;
background-color: #fff !important;
padding: 0 15px !important;
}
.page_bdm .chongdi_list ._kehu .normalBtn{
float: right;
}
.page_bdm .chongdi_list>div{
margin-bottom: 10px;
}
.page_bdm .yixuanze_money{
float: right;
}
</style>
<template>
......@@ -419,6 +452,7 @@
<SaleOrderModule v-if="OrderSource==10&&SourceID&&OrderID" :SourceID='SourceID' :orderID='OrderID'/>
<TicketFinace v-if="OrderSource==4&&SourceID&&Callback&&ID" :SourceID='SourceID' :Callback='Callback' :id='ID'/>
<TicketingModule v-if="OrderSource==9&&FrID&&ID" :FrID='FrID' :id='ID'/>
<ChongDiPage v-if="GetDetail.Type === 7 || isChongDi" :dataList="ChongDiList" :type="danjuType"/>
</div>
<div class="_tit _tit2 w890px">
<p>
......@@ -545,6 +579,81 @@
<el-radio v-model="choiceMsg.Status" label="2">原路退款</el-radio>
</div>
</div>
<div v-if="chongDiShow && AuditOrRefundMsg.Status === '5'" class="chongdi_box">
<div style="padding: 10px 0;font-size: 14px;">
是否挂账冲抵:<el-switch v-model="shifouChongDi"
@change="ChongDiMoney = 0, HangingAccountList = []"
:disabled="(HangingAccountList.length < 1 && GetDetail.Type === 2) ? true : false"
active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
<em v-if="HangingAccountList.length < 1 && GetDetail.Type === 2">暂无可用冲抵挂账</em>
<span v-else class="yixuanze_money">已选择金额:{{ChongDiMoney}}</span>
</div>
<div v-if="shifouChongDi" class="chongdi_list">
<!-- <div>
<em>发团时间:</em>
<el-date-picker class="h34"
@change="timeAdd(1)"
v-model="productionDate"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="-">
</el-date-picker>
</div> -->
<div class="_kehu">
<em>{{$t('fnc.khleixing')}}:</em>
<el-select filterable v-model='ChongDiMsg.ClientType' :placeholder="$t('fnc.khleixing')" @change="financeinfo_post_GetClientAccountList(ChongDiMsg.ClientType, '1')" class="w135 _border_b_1">
<el-option v-for='item in ClientTypeList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
<el-select v-if="ChongDiMsg.ClientType==7" filterable v-model='ChongDiMsg.IsLeader' :placeholder="$t('fnc.khmingcheng')" class="w135 _border_b_1">
<el-option :label='$t("fnc.zslingdui")' :value='1' :key='1'> </el-option>
</el-select>
<el-select filterable v-model='ChongDiMsg.ClientID' :placeholder="$t('fnc.khmingcheng')" class="w135 _border_b_1">
<el-option v-for='item in ClientAccountList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>&nbsp;&nbsp;&nbsp;&nbsp;
<em>收支类型:</em>
<el-select filterable v-model='ChongDiMsg.Types' :placeholder="$t('fnc.khleixing')" class="w135 _border_b_1">
<el-option label='不限' value='' key='0'></el-option>
<el-option label='收' value='1' key='1'></el-option>
<el-option label='支' value='2' key='2'></el-option>
</el-select>
<button class="normalBtn" @click="GetHangingAccountList(),ChongDiMoney = 0">查询</button>
</div>
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;">
<tr>
<th><input type="checkbox" v-model="checkedAll" @change="changeCheckedAll()">费用类型</th>
<th>团号</th>
<th>财务单据</th>
<th>收支类型</th>
<th>金额</th>
<th>对象名称</th>
<th>备注</th>
<th>制单时间</th>
<th>制单人</th>
</tr>
<tr v-for="(item, index) in HangingAccountList">
<td style="text-align: left"><label><input type="checkbox" v-model="item.checked" @change="checkdIteam(item)"> {{item.CostTypeName}}</label></td>
<td>{{item.TCNUM}}</td>
<td>{{item.FrID}}</td>
<td>{{item.HangingAccountsTypeStr}}</td>
<td>{{item.Money}}</td>
<td>{{item.RemitterName}}</td>
<td>{{item.Remark}}</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.createByStr}}</td>
</tr>
</table>
</div>
</div>
<!--<div class="_pay_box" v-if="AuditOrRefundMsg.Status=='5'&&item.SpecialNode==2">-->
<div class="_pay_box" v-if="choiceMsg.Status=='2'">
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;" v-if="GetDetail.TradeDetailList&&GetDetail.TradeDetailList.length>0">
......@@ -571,6 +680,7 @@
</tr>
</table>
</div>
<!-- 111 -->
<div class="_pay_box" v-if="AuditOrRefundMsg.Status=='5'&&item.SpecialNode==2">
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;" v-if="GetDetail.CashierDetail&&GetDetail.CashierDetail.length<1">
<tr>
......@@ -780,6 +890,81 @@
<el-radio v-model="choiceMsg.Status" label="2">原路退款</el-radio>
</div>
</div>
<div v-if="chongDiShow && AuditOrRefundMsg.Status === '5'" class="chongdi_box">
<div style="padding: 10px 0;font-size: 14px;">
是否挂账冲抵:<el-switch v-model="shifouChongDi"
@change="ChongDiMoney = 0, HangingAccountList = []"
:disabled="(HangingAccountList.length < 1 && GetDetail.Type === 2) ? true : false"
active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
<em v-if="HangingAccountList.length < 1 && GetDetail.Type === 2">暂无可用冲抵挂账</em>
<span v-else class="yixuanze_money">已选择金额:{{ChongDiMoney}}</span>
</div>
<div v-if="shifouChongDi" class="chongdi_list">
<!-- <div>
<em>发团时间:</em>
<el-date-picker class="h34"
@change="timeAdd(1)"
v-model="productionDate"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="-">
</el-date-picker>
</div> -->
<div class="_kehu">
<em>{{$t('fnc.khleixing')}}:</em>
<el-select filterable v-model='ChongDiMsg.ClientType' :placeholder="$t('fnc.khleixing')" @change="financeinfo_post_GetClientAccountList(ChongDiMsg.ClientType, '1')" class="w135 _border_b_1">
<el-option v-for='item in ClientTypeList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
<el-select v-if="ChongDiMsg.ClientType==7" filterable v-model='ChongDiMsg.IsLeader' :placeholder="$t('fnc.khmingcheng')" class="w135 _border_b_1">
<el-option :label='$t("fnc.zslingdui")' :value='1' :key='1'> </el-option>
</el-select>
<el-select filterable v-model='ChongDiMsg.ClientID' :placeholder="$t('fnc.khmingcheng')" class="w135 _border_b_1">
<el-option v-for='item in ClientAccountList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>&nbsp;&nbsp;&nbsp;&nbsp;
<em>收支类型:</em>
<el-select filterable v-model='ChongDiMsg.Types' :placeholder="$t('fnc.khleixing')" class="w135 _border_b_1">
<el-option label='不限' value='' key='0'></el-option>
<el-option label='收' value='1' key='1'></el-option>
<el-option label='支' value='2' key='2'></el-option>
</el-select>
<button class="normalBtn" @click="GetHangingAccountList(),ChongDiMoney = 0">查询</button>
</div>
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;">
<tr>
<th><input type="checkbox" v-model="checkedAll" @change="changeCheckedAll(),ChongDiMoney = 0">费用类型</th>
<th>团号</th>
<th>财务单据</th>
<th>收支类型</th>
<th>金额</th>
<th>对象名称</th>
<th>备注</th>
<th>制单时间</th>
<th>制单人</th>
</tr>
<tr v-for="(item, index) in HangingAccountList">
<td style="text-align: left"><label><input type="checkbox" v-model="item.checked" @change="checkdIteam(item)"> {{item.CostTypeName}}</label></td>
<td>{{item.TCNUM}}</td>
<td>{{item.FrID}}</td>
<td>{{item.HangingAccountsTypeStr}}</td>
<td>{{item.Money}}</td>
<td>{{item.RemitterName}}</td>
<td>{{item.Remark}}</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.createByStr}}</td>
</tr>
</table>
</div>
</div>
<div class="_pay_box" v-if="choiceMsg.Status=='2'">
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;" v-if="GetDetail.TradeDetailList&&GetDetail.TradeDetailList.length>0">
<tr>
......@@ -805,11 +990,13 @@
</tr>
</table>
</div>
<!-- 111 -->
<div class="_pay_box" v-if="AuditOrRefundMsg.Status=='5'&&item.SpecialNode==2">
<!-- <div class="_pay_box"> -->
<table border="1" bordercolor="#D2D2D2" style="border-collapse:collapse;">
<tr>
<th>账户分类</th>
<th>账户分类 收支冲抵</th>
<th>付款方式</th>
<th>账户</th>
<!-- <th width="100px">账户余额</th> -->
......@@ -1116,6 +1303,7 @@ import teamProductModule from "../commonPage/teamProductModule.vue";
import TicketFinace from "../commonPage/TicketFinace.vue";
import SaleOrderModule from "../commonPage/SaleOrderModule.vue";
import TicketingModule from "../commonPage/TicketingModule.vue";
import ChongDiPage from "../commonPage/ChongDiPage.vue";
import { truncate } from 'fs';
// import MsgBus from '../../assets/utils/msgBus.js';
......@@ -1242,6 +1430,28 @@ export default {
currentMoney:0,
benMoney:0,
Ststus:0,
chongDiShow: false,
productionDate: [],
ChongDiMsg: {
QStartDate: '',
QEndDate: '',
TCID: '',
ClientType: '',
ClientID: '',
sTradeDate: '',
eTradeDate: '',
Types: '',
IsLeader: '',
},
shifouChongDi: false,
ClientTypeList:[],
ClientAccountList: [],
HangingAccountList: [],
checkedAll: false,
ChongDiMoney: 0,
ChongDiList: [],
isChongDi: false,
danjuType: ''
}
},components:{
"my-FlowChartModule": myFlowChartModule,
......@@ -1255,8 +1465,110 @@ export default {
'SaleOrderModule':SaleOrderModule,
'TicketFinace':TicketFinace,
'my-HB-Bill':myhrBill,
'ChongDiPage': ChongDiPage,
},
methods:{
// 单选计算
checkdIteam(item){
console.log(item.checked)
if (item.checked) {
if (item.HangingAccountsTypeStr === '收') {
this.ChongDiMoney += item.Money
} else {
this.ChongDiMoney -= item.Money
}
} else {
if (item.HangingAccountsTypeStr === '收') {
this.ChongDiMoney -= item.Money
} else {
this.ChongDiMoney += item.Money
}
}
},
// 全选
changeCheckedAll(){
if (this.checkedAll) {
let money = 0
this.HangingAccountList.map(item=>{
item.checked = true
if (item.HangingAccountsTypeStr === '收') {
money += item.Money
} else {
money -= item.Money
}
})
this.ChongDiMoney = money
} else {
this.HangingAccountList.map(item=>{
item.checked = false
})
this.ChongDiMoney = 0
}
},
GetHangingAccountList(){
if (this.GetDetail.Type === 1 && this.ChongDiMsg.ClientType === '' && this.ChongDiMsg.ClientID === '') {
this.$message.error('请选择客户类型!')
return
}
this.apipost('Financial_post_GetHangingAccountList', this.ChongDiMsg, res=>{
if(res.data.resultCode == 1) {
let data = res.data.data;
console.log(data)
data.map(item=>{
item.checked = false
})
this.HangingAccountList = data
}
}, null)
},
financeinfo_post_GetClientAccountList(t , sel){ //获取付款 对象类型 新增用
let msg = {
ID:0,
Type:t,
ObjID:0,
CardNum:''
}
if (sel) {
this.ChongDiMsg.ClientID='';
}
this.apipost('financeinfo_post_GetClientAccountList',msg, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
let ClientAccountList = [];
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.AccountHolder + `(${x.AccountAlias})`,
Nom:x.CardNum,
OpenBankName:x.OpenBankName,
ObjID:x.ObjID,
}
ClientAccountList.push(obj)
})
this.ClientAccountList = ClientAccountList;
}
}, err => {})
},
financeinfo_post_GetClientTypeList(){ // 获取对象类型
this.apipost('financeinfo_post_GetClientTypeList',{}, res => {
if(res.data.resultCode == 1) {
this.ClientTypeList = res.data.data;
}
}, err => {})
},
timeAdd(t){ // 日期格式
if(t==1){ //制单日期
if(!this.productionDate){
this.ChongDiMsg.QStartDate = '';
this.ChongDiMsg.QEndDate = '';
return
}
this.ChongDiMsg.QStartDate = this.productionDate[0];
this.ChongDiMsg.QEndDate = this.productionDate[1];
}
},
payMsgListShow: function (type, index) {
if(this.choiceMsg.Status==1){
this.payMsgList.forEach(x=>{
......@@ -1794,6 +2106,15 @@ export default {
// return;
// }
this.loading = true;
if (this.shifouChongDi) {
let idList = []
this.HangingAccountList.map(item=>{
if (item.checked) {
idList.push(item.FdID)
}
})
this.AuditOrRefundMsg.FdIdList = idList
}
this.apipost('Financial_post_AuditOrRefund',this.AuditOrRefundMsg,res=>{
this.loading = false;
if(res.data.resultCode==1){
......@@ -1854,6 +2175,47 @@ export default {
}
this.$viewer.show()
},
// 获取冲抵列表
getChongDiList(data){
this.danjuType = data.Type
let cmd = 'Financial_post_GetHangingAccountList'
if (data.Type === 7){
cmd = 'Financial_post_GetHangingMatchFinanceList'
}
this.apipost(cmd,{FrID: data.FrID}, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
this.ChongDiList = data;
}
}, err => {})
},
chongJudge(data){
// 收支冲抵显示
let p1 = false, p2 = false;
data.AuditSteps.map(item=>{
if (item.NextStep==1 && item.AuditType === 6 && item.Status==1) {
item.AuditRecordList.map(y=>{
if (y.AuditStatus === 1) {
p1 = true
} else {
p1 = false
}
})
}
})
data.DetailList.map(item=>{
if (item.CostTypeName === '挂账单冲抵') {
p2 = true
}
})
if (p1 && p2) {
this.chongDiShow = true;
}
if (p2 || data.Type === 7) {
this.isChongDi = true;
this.getChongDiList(data)
}
},
Financial_post_GetDetail(id,t){ //获取单据详情
this.apipost('Financial_post_GetDetail',{ID:id,Type:2}, res => {
if(res.data.resultCode == 1) {
......@@ -1875,8 +2237,15 @@ export default {
}
})
}
this.chongJudge(data)
this.GetDetail = data;
this.ChongDiMsg.Types = ''
this.ChongDiMsg.ClientType = data.Type === 2 ? data.ClientType : ''
this.ChongDiMsg.ClientID = data.Type === 2 ? data.ClientID : ''
if (data.Type === 2) {
this.financeinfo_post_GetClientAccountList(this.ChongDiMsg.ClientType)
this.GetHangingAccountList()
}
let AuditSteps=this.GetDetail.AuditSteps;
let ChuNaShenHe = false
for(let i = 0; i < AuditSteps.length; i++) {
......@@ -1917,7 +2286,6 @@ export default {
this.OrderSource = this.GetDetail.OrderSource;
this.SourceID = this.GetDetail.SourceID;
this.Callback = this.GetDetail.Callback;
this.FrID = this.GetDetail.FrID;
let lastSpecialNode = this.GetDetail.AuditSteps[this.GetDetail.AuditSteps.length-1].SpecialNode;
let lastStatus = this.GetDetail.AuditSteps[this.GetDetail.AuditSteps.length-1].Status;
if(lastSpecialNode==2&&lastStatus==1&&this.GetDetail.TradeDetailList.length>0){
......@@ -2060,6 +2428,7 @@ export default {
this.RB_Post_Id = userInfo.RB_Post_Id;
this.ID = this.$route.query.id;
this.queryMsg.FinanceId = this.$route.query.id;
this.financeinfo_post_GetClientTypeList();
this.Financial_post_GetDetail(this.ID);
this.financeinfo_post_GetList();
this.BankAccount_post_GetAccountType();
......
......@@ -528,6 +528,7 @@
<SaleOrderModule v-if="OrderSource==10&&SourceID&&OrderID" :SourceID='SourceID' :OrderID='OrderID'/>
<TicketFinace v-if="OrderSource==4&&SourceID&&Callback&&ID" :SourceID='SourceID' :Callback='Callback' :id='ID'/>
<TicketingModule v-if="OrderSource==9&&FrID&&ID" :FrID='FrID' :id='ID'/>
<ChongDiPage v-if="GetDetail.Type === 7 || isChongDi" :dataList="ChongDiList" :type="danjuType"/>
</div>
<div class="_tit _tit2 w890px">
......@@ -784,6 +785,7 @@ import teamProductModule from "../commonPage/teamProductModule.vue";
import TicketFinace from "../commonPage/TicketFinace.vue";
import SaleOrderModule from "../commonPage/SaleOrderModule.vue";
import TicketingModule from "../commonPage/TicketingModule.vue";
import ChongDiPage from "../commonPage/ChongDiPage.vue";
import myDJieBill from "./FinancialSubmodule/DjieMergeBillModule.vue";
export default {
data(){
......@@ -847,6 +849,9 @@ export default {
currentPage:1,
total: 0,
},
isChongDi: false,
ChongDiList: [],
danjuType: ''
}
},components:{
'my-FlowChartModule': myFlowChartModule,
......@@ -860,6 +865,7 @@ export default {
'SaleOrderModule':SaleOrderModule,
'TicketFinace':TicketFinace,
'myDJieBill': myDJieBill,
'ChongDiPage': ChongDiPage,
},
created(){
this.ID = this.$route.query.id;
......@@ -867,6 +873,33 @@ export default {
let userinfo = this.getLocalStorage();
this.bossID = userinfo.EmployeeId;
},methods:{
// 获取冲抵列表
getChongDiList(data){
this.danjuType = data.Type
let cmd = 'Financial_post_GetHangingAccountList'
if (data.Type === 7){
cmd = 'Financial_post_GetHangingMatchFinanceList'
}
this.apipost(cmd,{FrID: data.FrID}, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
this.ChongDiList = data;
}
}, err => {})
},
chongJudge(data){
// 收支冲抵显示
let p1 = false;
data.DetailList.map(item=>{
if (item.CostTypeName === '挂账单冲抵') {
p1 = true
}
})
if (p1 || data.Type === 7) {
this.isChongDi = true;
this.getChongDiList(data)
}
},
goUrl(path, id) {
this.$router.push({
name: path,
......@@ -1193,6 +1226,7 @@ export default {
}
})
}
this.chongJudge(data)
this.GetDetail = data;
// 截取掉驳回后面的审核步骤
this.ZhiDanRen = this.GetDetail.CreatBy;
......
......@@ -1199,6 +1199,26 @@ export default {
isResize: true,
componentName: "TCIDJumpWang"
},
{
field: "GZIncome",
// formatter: this.moneyFormat,
title: "挂账收入",
width: 90,
titleAlign: "left",
columnAlign: "right",
isResize: true,
componentName: "TCIDJumpWang"
},
{
field: "CDIncome",
// formatter: this.moneyFormat,
title: "冲抵收入",
width: 90,
titleAlign: "left",
columnAlign: "right",
isResize: true,
componentName: "TCIDJumpWang"
},
{
field: "ShiJiLiRun",
formatter: this.moneyFormat,
......
......@@ -118,7 +118,7 @@
<tr>
<td width="70" style="text-align:center;" colspan="2">
<span style="color:red">{{subItem.NewHotelName}}</span>
<el-popover placement="right" width="500" trigger="click" v-model="subItem.isShowPop">
<el-popover placement="right" width="540" trigger="click" v-model="subItem.isShowPop">
<comCheckHotel :ref="'comCheckHotel'+index+subIndex+''" v-on:childHotel="childHotelList" :UseDate="item.UseTimeStr">
</comCheckHotel>
<el-button size="small" type="danger" :data-index="'comCheckHotel'+index+subIndex+''"
......
<style>
@import "../assets/css/login.css";
@import "../assets/css/summaryLogin.css";
</style>
<style>
</style>
<template>
<div class="login-box">
<div class="login-box newSummaryLogin">
<div class="homepage-hero-module">
<!--<div class="video-container">-->
<!--<div :style="fixStyle" class="filter"></div>-->
<!--<video :style="fixStyle" autoplay loop class="fillWidth" v-on:canplay="canplay" ref="audio">-->
<!--<source src="/static/video/wt3.mp4" type="video/mp4"/>-->
<!--浏览器不支持 video 标签,建议升级浏览器。-->
<!--</video>-->
<!--<div class="poster hidden" v-if="!vedioCanPlay">-->
<!--<img :style="fixStyle" alt="">-->
<!--</div>-->
<!--</div>-->
<div class="silder-box" ref='box' :style="{'height':'100vh'}" v-show="height>0">
<div class="item" v-for="(item,index) in imgs" :key="index">
<img :style="{'height':'100vh'}" :class="index==crtIndex?'active':''" ref="swiper" :src="item">
<div :style="{'height':'100vh'}">
<div class="item">
<img :style="{'height':'100vh'}" src="../assets/img/summary.jpg" />
</div>
</div>
<!--<img src="../assets/img/login_bg_1.jpg" alt="">-->
</div>
<div class="cover"></div>
<form class="login-Div">
<form class="Summary_login_Div">
<div v-if="isShow==1">
<div class="mainTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<div class="login-commonBotm T1">
<div class="sumMainTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<div class="login-commonBotm">
<i class="icon-login-name iconfont icon-user11"></i>
<input class="input" @focus="name_bline=true" @blur="name_bline=false" maxlength="20" autocomplete="new-password" v-model="userInfo.name" style="background-color:transparent !important;" type="text" :placeholder="$t('login.login_account')" @keyup.enter="doLogin"/>
<div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div>
......@@ -45,7 +35,7 @@
<div class="error-msg">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png"/>{{ passwordErrorMsg }}</div>
</div>
<button type="button" class="loginBtn" :class="{'loginIng':loginState==1}" :disabled="loginState==1" @click="doLogin">{{loginState==1?'登录中...':'登录'}}</button>
<button type="button" class="sLoginBtn" :class="{'loginIng':loginState==1}" :disabled="loginState==1" @click="doLogin">{{loginState==1?'登录中...':'登录'}}</button>
<div class="forgetPw">
<span @click="updatePwd">{{$t('login.login_forgetpwd')}}?</span>
</div>
......@@ -61,9 +51,9 @@
</div>
</div>
<div v-if="isShow==2" class="phoneLogin">
<div class="mainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<div class="bindPhone">绑定手机号</div>
<div class="login-commonBotm T1">
<div class="sumMainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<div class="sumPhone">绑定手机号</div>
<div class="login-commonBotm">
<i class="icon-login-name iconfont icon-phone1"></i>
<input class="input" @focus="name_bline=true" @blur="name_bline=false" onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="11" autocomplete="new-password" v-model="mobileNumber" style="background-color:transparent !important;" type="text" placeholder="请输入手机号"/>
<div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div>
......@@ -85,13 +75,13 @@
<div class="error-msg">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png"/>{{ passwordErrorMsg }}</div>
</div>
<input type="button" class="loginBtn" @click="doBind" value="确认绑定"/>
<input type="button" class="sLoginBtn" @click="doBind" value="确认绑定"/>
</div>
<div v-if="isShow==3" class="phoneLogin">
<div class="mainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<div class="bindPhone">修改密码</div>
<div class="login-commonBotm T1">
<div class="sumMainTitle bindTitle">{{groupModel.GroupName?groupModel.GroupName:''}}</div>
<div class="sumPhone">修改密码</div>
<div class="login-commonBotm">
<i class="icon-login-name iconfont icon-phone1"></i>
<input class="input" @focus="name_bline=true" onkeyup="value=value.replace(/[^\d]/g,'')" maxlength="11" @blur="name_bline=false" autocomplete="new-password" v-model="mobileNumber" style="background-color:transparent !important;" type="text" placeholder="请输入手机号"/>
<div class="name_bline_left" :class="name_bline==true?'_bline_w':''"></div>
......@@ -118,13 +108,14 @@
</div>
</div>
<div class="forgetPw">
<span @click="goLogin">去登录</span>
</div>
<div class="error-msg">
<div class="error-msg" style="float:left;width:auto;">
<div v-show="passwordIsShow"><img src="../assets/img/login-error-tips.png"/>{{ passwordErrorMsg }}</div>
</div>
<input type="button" class="loginBtn changeBtn" @click="changePwd" value="确认修改"/>
<span @click="goLogin">去登录</span>
</div>
<input type="button" class="sLoginBtn changeBtn" @click="changePwd" value="确认修改"/>
</div>
<img class="login_elephant" src="../assets/img/elephant.gif" alt=""/>
</form>
</div>
</template>
......@@ -431,6 +422,13 @@ export default {
this.apipost("user_change_password_by_mobileNumber", msg, res => {
if (res.data.resultCode == 1) {
this.isShow = 1;
this.$notify.success({
title: "提示",
customClass: "msgTips",
message: res.data.message,
showClose: false,
duration: 3000
});
} else {
this.$notify.error({
title: "提示",
......
......@@ -291,8 +291,8 @@
</li>
<li>
<button class="hollowFixedBtn" @click="getList()">查询</button>
<button class="normalBtn" v-show="!buttonshow" @click="cancelEdit(),addShow=true" v-if="msg.isFinacial==1">添加</button>
<button class="normalBtn" v-show="buttonshow" @click="AddVisaProduct" v-if="msg.isFinacial==1">添加(新)</button>
<!-- <button class="normalBtn" v-show="!buttonshow" @click="cancelEdit(),addShow=true" v-if="msg.isFinacial==1">添加</button> -->
<button class="normalBtn" @click="AddVisaProduct" v-if="msg.isFinacial==1">添加</button>
</li>
</ul>
</div>
......@@ -395,7 +395,7 @@
</td>
<td class="groupTourOrderIcon">
<el-button-group>
<el-tooltip
<!-- <el-tooltip
class="item"
effect="dark"
content="修改"
......@@ -408,15 +408,15 @@
icon="iconfont icon-img_bianji_small"
@click="getDetail(item)"
></el-button>
</el-tooltip>
</el-tooltip> -->
<el-tooltip
class="item"
effect="dark"
content="修改(新)"
content="修改"
placement="top-start"
v-if="item.SendVisaStatus==1&&msg.isFinacial==1"
>
<el-button v-show="buttonshow"
<el-button
type="primary"
style="background:#409EFF; border-color:#409EFF"
icon="iconfont icon-img_bianji_small"
......@@ -665,15 +665,15 @@ export default {
addShow: false,
currentPage: 1,
VisaManagementList: [],
buttonshow:false,
// buttonshow:false,
Type:0,
};
},
created(){
let locationName = window.location.hostname;
if (locationName.indexOf('viitto') !== -1 || locationName.indexOf('www') !== -1){
this.buttonshow=true;
}
// let locationName = window.location.hostname;
// if (locationName.indexOf('viitto') !== -1 || locationName.indexOf('www') !== -1){
// this.buttonshow=true;
// }
},
methods: {
......
<template>
<div class="roomQuery">
<div class="query-box" style="border-bottom: none;">
<ul style="position:relative;">
<li>
<span>
<em>月份</em>
<el-date-picker v-model="msg.MonthStr" type="monthrange" range-separator="至" start-placeholder="开始月份"
end-placeholder="结束月份">
</el-date-picker>
</span>
</li>
<li style="position:absolute;right:10px;top:0;">
<input type="button" class="normalBtn" value="查询" @click="getList();resetPageIndex()" />
<input type="button" class="normalBtn" value="下载" @click="DownLoadHotel()" />
</li>
</ul>
</div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " class="ownScrollbarStyle">
<div style="font-size:12px;padding:2px 4px 3px 20px;">
<div style="display:inline-block;color:red">注意事项:每次导出数据最好不要超过一个月。</div>
<div class="rq_comSpan" style="display:inline-block;">颜色说明:
<span class="rq_span1">未操作</span><span class="rq_span2">操作中</span><span class="rq_span3">操作完成</span><span
class="rq_span4">机位数和人数不相符</span>
</div>
</div><br />
<table border="0" cellspacing="1" cellpadding="0" class="roomQuery_SupplierTable" v-loading='loading'>
<tr>
<th width="100">序号</th>
<th width="120">出发地</th>
<th width="100">公司团号</th>
<th width="80">团队状态</th>
<th width="100">系列</th>
<th width="120">机位总数<br />(Y/E/F)</th>
<th width="100">时间</th>
<th width="150">酒店</th>
<th width="100">酒店使用情况</th>
<th width="100">操作</th>
</tr>
<tr v-if="dataList.length==0">
<td colspan="9">暂无数据</td>
</tr>
<template v-for="(item,index) in dataList">
<template v-for="(subItem,subIndex) in item.subList">
<tr v-for="(childItem,childIndex) in subItem.hotelList" :class="{roomQuerySplitTrCss:index%2!=0}">
<td v-if="childIndex==0&&subIndex==0" :rowspan="item.RowSpan">
{{item.NewCombinationNum}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.hotelList.length">
{{subItem.StartCityNames}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.hotelList.length">
{{subItem.TCNUMS}}
</td>
<td v-if="childIndex==0"
:rowspan="subItem.SupplierRemarks!=''?subItem.hotelList.length+1:subItem.hotelList.length">
<span v-if="subItem.TCState==3&&subItem.Status==1">正常</span>
<span v-else>取消</span>
</td>
<td v-if="childIndex==0" :rowspan="subItem.hotelList.length">
{{subItem.LineteamIdNames}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.hotelList.length">
{{subItem.TotalSeat}}/{{subItem.RealityYSeatNum}}/{{subItem.RealityESeatNum}}/{{subItem.RealityFSeatNum}}
</td>
<td>
{{childItem.CheckInDateStr}}
</td>
<td class="tdLeft">
<template v-if="childItem.SupplierId==UserInfo.SupplierId">
<template v-if="childItem.SupplierHotelStatus==0"> {{childItem.NewHotelName}}</template>
<template v-else-if="childItem.SupplierHotelStatus==1">
<a style="color:#7abd53">{{childItem.NewHotelName}}</a></template>
<template v-else-if="childItem.SupplierHotelStatus==2">
<a style="color:blue">{{childItem.NewHotelName}}</a>
</template>
(
<template v-if="subItem.TotalSeat/2!=childItem.SupplierBookNum">
<a style="font-weight:bold; color:red;" title="总机位数和预订间数不相符"> {{childItem.SupplierBookNum}} </a>
</template>
<template v-else>
<a style="font-weight:bold;"> {{childItem.SupplierBookNum}} </a>
</template>
间)</template>
<template v-else>
组团社自理
</template>
</td>
<td>
<!--<span >
<template v-if="childItem.SupplierId==UserInfo.SupplierId">
<template v-if="childItem.OPState==1">[OP选房-OK]</template>
<template v-else-if="childItem.OPState==2&&childItem.DMCState==0">[OP-暂定]</template>
<template
v-else>{{childItem.DMCState==1?"[地接-OK]":(childItem.DMCState==0?"[地接-未操作]":"[地接-暂定]")}}</template>
</template>
</span>
-->
<template v-if="childItem.SupplierId==UserInfo.SupplierId">
<template v-if="childItem.SupplierHotelStatus==0">未操作</template>
<template v-else-if="childItem.SupplierHotelStatus==1"><a style="color:#7abd53">操作中</a></template>
<template v-else-if="childItem.SupplierHotelStatus==2"><a style="color:blue">操作完成</a></template>
</template>
</td>
<td v-if="childIndex==0"
:rowspan="subItem.SupplierRemarks!=''?subItem.hotelList.length+1:subItem.hotelList.length">
<el-tooltip class="item" effect="dark" content="操作信息" placement="top-start">
<el-popover placement="bottom" width="500" trigger="click">
<table>
<tr>
<th width="90">
时间
</th>
<th width="160">
酒店
</th>
<th width="100">
数量
</th>
<th width="100">
状态
</th>
</tr>
<tr v-for="opItem in CurrentHotelList">
<template v-if="opItem.SupplierId==UserInfo.SupplierId">
<td>
{{opItem.CheckInDateStr}}
</td>
<td style="padding-right:10px;">
{{opItem.NewHotelName}}
</td>
<td>
<el-input style="width:60px;" v-model='opItem.SupplierBookNum' type='text'
placeholder="预订数量">
</el-input>
</td>
<td>
<el-select v-model="opItem.SupplierHotelStatus" filterable class="multiple_input"
:placeholder="$t('pub.pleaseSel')">
<el-option label='未操作' :value='0' :key='0'>
</el-option>
<el-option label='操作中' :value='1' :key='1'>
</el-option>
<el-option label='操作完成' :value='2' :key='2'>
</el-option>
</el-select>
</td>
</template>
</tr>
</table>
<p class="alcenter mt10">
<input type="button" value="保存" @click="SaveSupplierData(CurrentHotelList)" class="normalBtn" />
</p>
<a style="text-decoration:underline;color:blue;cursor:pointer" slot="reference"
@click="GetItemHotelData(subItem.hotelList)">操作</a>
</el-popover>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="日志信息" placement="top-start">
<el-popover placement="bottom" width="500" trigger="click">
<table border="0" cellspacing="1" cellpadding="0" class="queryLogTable"
style=" border-collapse:collapse;">
<tr>
<th width="100"
style="background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;">
操作人</th>
<th width="100"
style="background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;">
日期</th>
<th width="100"
style="background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;">
操作时间</th>
<th width="190"
style="background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;">
内容</th>
</tr>
<template v-if="LogsList.length>0">
<tr v-for="(item,index) in LogsList">
<td style="height: 35px; font-size: 12px;text-align:center;border:1px solid #d1d1d1;">
{{item.CreateByName}}</td>
<td style="height: 35px; font-size: 12px;text-align:center;border:1px solid #d1d1d1;">
{{item.UseTimeStr}}</td>
<td style="height: 35px; font-size: 12px;text-align:center;border:1px solid #d1d1d1;">
{{item.CreateTimeStr}}
</td>
<td style="height: 35px; font-size: 12px;text-align:left;border:1px solid #d1d1d1;">
{{item.Remarks}}</td>
</tr>
</template>
<tr v-else>
<td colspan="5">暂无数据...</td>
</tr>
</table>
<el-pagination background @current-change="handleCurrentChange2"
:current-page.sync="queryLogMsg.currentPage" :page-size="queryLogMsg.pageSize"
layout="total,prev, pager, next, jumper" :total="queryLogMsg.total">
</el-pagination>
<a style="text-decoration:underline;color:blue;cursor:pointer" slot="reference"
@click="getLogsList(subItem.TCID)">日志</a>
</el-popover>
</el-tooltip>
<a style="text-decoration:underline;color:blue;cursor:pointer"
@click="AddSupplierComplain(subItem.Complain_Extend.Id,subItem.Complain_Extend.TCID)">
<template v-if="subItem.Complain_Extend.Id>0">编辑投诉</template>
<template v-else>添加投诉</template>
</a>
<a style="text-decoration:underline;color:red;cursor:pointer" v-if="subItem.Complain_Extend.Id>0"
@click="DeleteSupplierComplain(subItem.Complain_Extend.Id)">删除</a>
</td>
</tr>
<template v-if="subItem.SupplierRemarks">
<tr v-if="subIndex==0" :class="{roomQuerySplitTrCss:index%2!=0}">
<td colspan="9" class="redTip">
<p>备注:{{subItem.SupplierRemarks}}</p>
</td>
</tr>
</template>
</template>
</template>
</table>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total"> </el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
currentPage: 1,
total: 0,
msg: {
pageIndex: 1,
pageSize: 5,
SelectType: 1,
StartDate: '',
EndDate: '',
//酒店编号
HotelId: 0,
//日期
DateStr: "",
//出团公司
OutBranchIds: [],
LineId: 14,
PlaceID: 0,
LineteamId: 0,
//航空公司
AirLineId: 0,
CreateBy: 0,
TCNUM: '',
PriceStatus: 0,
CombinationNum: '',
MonthStr: "" //月份字符串
},
UserInfo: {},
//分公司类表
companyList: [],
//酒店列表
HotelList: [],
LineList: [],
LineTeamList: [],
thLengthTitle: [],
dataList: [],
//日志信息
LogsList: [],
queryLogMsg: {
pageIndex: 1,
pageSize: 5,
currentPage: 1,
total: 0,
HotelId: 0,
TCID: 0
},
queryCommonData: {
//公司数据
BranchList: [],
//国家
PlaceList: [],
LineList: [],
LineTeamList: [],
AirlineList: [],
EmployeeList: [],
},
//当前酒店列表
CurrentHotelList: [],
pickerBeginDateBefore: {
disabledDate: time => {
if (this.msg.EndDate == null) {
return false;
} else {
let endTime = new Date(this.msg.EndDate)
return endTime.getTime() < time.getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.StartDate)
return startTime.getTime() >= time.getTime()
}
}
}
},
methods: {
handleCurrentChange2(val) {
this.queryLogMsg.pageIndex = val;
this.getLogsList();
},
//获取日志
getLogsList(TCID) {
if (TCID) {
this.queryLogMsg.TCID = TCID;
}
this.ApiPost2('DmcInfoChangeLog_get_GetHotelLogList', this.queryLogMsg, res => {
if (res.data.resultCode == 1) {
this.LogsList = res.data.data.pageData;
this.queryLogMsg.total = res.data.data.count;
}
}, err => {})
},
GetItemHotelData(hotelList) {
this.CurrentHotelList = JSON.parse(JSON.stringify(hotelList));
},
//删除投诉
DeleteSupplierComplain(Id) {
if (Id > 0) {
var that = this;
this.Confirm("是否此投诉信息删除?", function () {
var msg = {
Id: Id
};
that.ApiPost2("supplierComplain_Post_RemoveSupplierComplain", msg,
res => {
if (res.data.resultCode == 1) {
that.Success('删除成功!');
that.getList();
} else {
that.Error(res.data.data);
}
}, null);
});
}
},
getLineList() {
this.ApiPost2("line_post_GetAllList", {}, res => {
if (res.data.resultCode == 1) {
this.LineList = res.data.data;
}
});
},
//获取系列列表
getLineTeamList(lineId) {
this.LineTeamList = [];
this.ApiPost2(
"team_post_GetList", {
lineID: 14,
isTOOP: 1
},
res => {
if (res.data.resultCode == 1) {
this.msg.LineteamId = "-1";
this.LineTeamList = res.data.data;
}
}
);
},
AddSupplierComplain(id, tcid) {
this.$router.push({
name: 'AddSupplierComplaints',
query: {
Id: id,
TCID: tcid,
blank: 'y',
tab: '供应商投诉'
}
})
},
goUrlR(path, obj, title) {
this.$router.push({
name: path,
query: {
"ID": obj,
blank: 'y',
tab: title
}
})
},
goUrlT(path, obj, title) {
this.$router.push({
name: path,
query: {
"id": obj,
blank: 'y',
tab: title
}
})
},
goUrl(path, obj, outItem, title) {
this.$router.push({
name: path,
query: {
"id": obj.TCIDS,
'TCNUM': obj.TCNUMS,
'flightTotal': obj.TotalSeat,
'GuestNum': obj.CommonReport.HouseStatistics.RealityNum,
'NewCombinationNum': outItem.NewCombinationNum,
blank: 'y',
tab: title
}
})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
getList() {
this.loading = true;
this.ApiPost2('dmcstatistics_post_GetUniteCombinationNumService_Supplier', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.dataList = res.data.data.pageData;
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
//获取酒店列表
GetHotelList() {
this.ApiPost2(
"hotel_post_GetHasStockHotelList_Supplier", {
Country: 651,
IsMoreThanZero: 1
},
res => {
if (res.data.resultCode == 1) {
this.HotelList = res.data.data;
}
},
err => {}
);
},
//保存酒店新
SaveSupplierData(hotelList) {
this.ApiPost2(
"dmcstatistics_post_SetNewHotelOrder_Supplier", hotelList,
res => {
if (res.data.resultCode == 1) {
this.Success("操作成功!");
this.getList();
} else {
this.Error("操作失败!");
}
},
err => {}
);
},
//下载Excel
DownLoadHotel() {
this.loading = true;
let qMsg = {
queryMsg: this.msg,
uid: this.UserInfo.SupplierAccountId,
OPType: 1
};
let fileName = "订房查询" + this.$commonUtils.getCurrentDate() + ".xls";
this.GetLocalFile("hotel_get_downloadHotel", qMsg, fileName,
res => {
this.loading = false;
});
},
//获取目的地列表
getLinePlaceList() {
this.msg.PlaceID = 0;
this.msg.LineteamId = 0;
let msg = {
lineID: this.msg.LineId,
}
this.ApiPost2('team_post_GetLinePlace', msg, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.PlaceList = res.data.data
this.queryCommonData.LineTeamList = []
}
})
},
//获取系列列表
getLineTeamList() {
this.msg.LineteamId = 0
let msg = {
lineID: this.msg.LineId,
placeID: this.msg.PlaceID,
isTOOP: 1
}
this.ApiPost2('team_post_GetList', msg, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineTeamList = res.data.data
}
})
},
//获取航空公司
getAirlineList() {
this.ApiPost2(
'airline_post_GetList', {},
res => {
if (res.data.resultCode == 1) {
this.queryCommonData.AirlineList = res.data.data
}
},
err => {}
)
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
let userInfo = this.getLocalStorage()
let msg = {
GroupId: userInfo.RB_Group_id,
BranchId: '-1',
DepartmentId: '-1',
PostId: '-1',
IsLeave: '0'
}
this.ApiPost2(
'admin_get_EmployeeGetList', {},
res => {
if (res.data.resultCode == 1) {
this.queryCommonData.EmployeeList = res.data.data
}
},
err => {}
)
},
//初始化公司
getCompanyList() {
let userInfo = this.getLocalStorage()
var RB_Group_id = userInfo.RB_Group_id
let msg = {
Status: 0,
is_show: 0,
RB_Group_Id: RB_Group_id
}
this.ApiPost2(
'admin_get_BranchGetList',
msg,
res => {
if (res.data.resultCode == 1) {
this.queryCommonData.BranchList = res.data.data;
}
},
err => {}
)
},
},
mounted() {
this.UserInfo = this.getLocalStorageSupplier();
let myDate = new Date();
let nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
if (this.$route.query.hotelId) {
this.msg.HotelId = this.$route.query.hotelId;
}
if (this.$route.query.dateStr) {
this.msg.DateStr = this.$route.query.dateStr;
}
if (this.$route.query.hotelId || this.$route.query.dateStr) {
this.msg.StartDate = "";
} else {
this.msg.StartDate = nowDate;
}
this.getLinePlaceList();
this.getAirlineList();
this.getEmployeeList();
this.getCompanyList();
this.GetHotelList();
this.getList();
},
}
</script>
<style>
.roomQuerySplitTrCss td {
background: #eee !important;
}
.roomQuery_SupplierTable {
width: 98%;
font-size: 12px;
color: #333;
margin: auto;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #d1d1d1;
}
.roomQuery_SupplierTable tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.roomQuery_SupplierTable tr td {
border: 1px solid #d1d1d1;
text-align: center;
padding: 5px 0;
}
.roomQuery_SupplierTable .tdLeft {
text-align: left;
padding-left: 5px;
}
.roomQuery_SupplierTable .redTip {
text-align: left;
color: red;
padding-left: 5px;
}
.roomQuery .rq_comSpan {
font-size: 14px;
margin-left: 20px;
}
.roomQuery .rq_comSpan>span {
display: inline-block;
padding: 2px 4px;
color: #fff;
border-radius: 5px;
margin-right: 10px;
}
.roomQuery .rq_span1 {
background-color: #333;
}
.roomQuery .rq_span2 {
background-color: #7abd53;
}
.roomQuery .rq_span3 {
background-color: blue;
}
.roomQuery .rq_span4 {
background-color: red;
}
</style>
......@@ -193,7 +193,6 @@
<div>应收:<span>{{moneyFormat(moneyAll.otheryTotalyf)}}</span></div>
<div>实收:<span class="Team_Coins">{{moneyFormat(moneyAll.otheryTotalsf)}}</span></div>
<div>待收:<span class="Team_Coins">{{moneyFormat(moneyAll.otheryTotalyf-moneyAll.otheryTotalsf)}}</span></div>
<div>挂账总收入:<span>{{moneyFormat(AllCont.Income)}}</span></div>
<!--<div>
注:应收=订单应收总额,实收=订单实收总额
</div>-->
......@@ -211,7 +210,6 @@
<div>应付:<span>{{DataList.TeamBalance.ShouldPay}}</span></div>
<div>实付:<span class="Team_Coins">{{DataList.TeamBalance.ActualPay}}</span></div>
<div>待付:<span class="Team_Coins">{{DataList.TeamBalance.WaitPay}}</span></div>
<div>挂账总支出:<span>{{moneyFormat(AllCont.Expend)}}</span></div>
<div>
注:成本单据总额(包含退款)+提成-小费收入-地接收入
</div>
......@@ -229,7 +227,7 @@
<div>实际利润:<span>{{DataList.TeamBalance.ExpectedProfit}}</span></div>
<div>当前利润:<span class="Team_Coins">{{DataList.TeamBalance.ActualProfit}}</span></div>
<div>
注:实收-(应付/实付)+佣金收入+自费收入-联运成本
注:实收-(应付/实付)+佣金收入+自费收入-联运成本+挂账总收入-挂账总支出+冲抵总收入-冲抵总支出
</div>
</div>
</div>
......@@ -251,7 +249,7 @@
<div>联运成本:<span>¥{{DataList.LYCB}}</span></div>
</div>
</el-col>
<!-- <el-col :span="4">
<el-col :span="4">
<div class="Team_DList">
<div class="Team_firstTitle">
<span class="Team_comCoinType Team_lirun">
......@@ -259,12 +257,13 @@
</span>挂账信息
</div>
<div class="Team_Incontent">
<div>挂账总金额:<span>¥{{moneyFormat(AllCont.Income - AllCont.Expend)}}</span></div>
<div>挂账总支出:<span>¥{{moneyFormat(AllCont.Expend)}}</span></div>
<div>挂账总收入:<span>¥{{moneyFormat(AllCont.Income)}}</span></div>
<div>挂账总收入:<span>¥{{moneyFormat(DataList.TeamBalance.GZIncome)}}</span></div>
<div>挂账总支出:<span>¥{{moneyFormat(DataList.TeamBalance.GZExpend)}}</span></div>
<div>冲抵总收入:<span>¥{{moneyFormat(DataList.TeamBalance.CDIncome)}}</span></div>
<div>冲抵总支出:<span>¥{{moneyFormat(DataList.TeamBalance.CDExpend)}}</span></div>
</div>
</div>
</el-col> -->
</el-col>
<el-col :span="4">
<div class="Team_DList">
<div class="Team_firstTitle">
......@@ -1079,6 +1078,81 @@
</template>
</table>
</div>
<div class="Team_collection" v-loading="loading">
<div class="clearfix TB_PrintDiv">
<div class="TB_comtitle TB-Title">挂账冲抵</div>
</div>
<div class="clearfix TB_PrintDiv">
<div class="TB_comtitle TB-Title">冲抵单据:</div>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="180">单号</th>
<th width="200">冲抵金额</th>
<th width="500">挂账类型</th>
<th width="500">挂账对象</th>
<th width="500">单据状态</th>
<th width="300">创建时间</th>
<th width="200">创建人</th>
</tr>
<tr v-for="item in DataList.CDList">
<td><span class="Team_income" @click="goUrl('FinancialDocumentsDetail',item.FrID)">{{item.FrID}}</span></td>
<td>
<span>{{item.fmrMoney}}</span>
</td>
<td>
<span>{{item.HangingAccountsTypeStr}}</span>
</td>
<td>
<span>{{item.RemitterName}}:{{item.AccountNumber}}</span>
</td>
<td>
<span>{{item.StatusStr}}</span>
</td>
<td>
<span>{{item.CreateDateStr}}</span>
</td>
<td>
<span>{{item.createByStr}}</span>
</td>
</tr>
</table>
<div class="clearfix TB_PrintDiv">
<div class="TB_comtitle TB-Title">挂账单据:</div>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="180">单号</th>
<th width="200">挂账金额</th>
<th width="500">挂账类型</th>
<th width="500">挂账对象</th>
<th width="500">单据状态</th>
<th width="300">创建时间</th>
<th width="200">创建人</th>
</tr>
<tr v-for="item in DataList.GuaZhangList">
<td><span class="Team_income" @click="goUrl('FinancialDocumentsDetail',item.FrID)">{{item.FrID}}</span></td>
<td>
<span>{{item.Money}}</span>
</td>
<td>
<span>{{item.HangingAccountsTypeStr}}</span>
</td>
<td>
<span>{{item.RemitterName}}:{{item.AccountNumber}}</span>
</td>
<td>
<span>{{item.StatusStr}}</span>
</td>
<td>
<span>{{item.CreateDateStr}}</span>
</td>
<td>
<span>{{item.createByStr}}</span>
</td>
</tr>
</table>
</div>
<div class="Team_collection" v-loading="loading">
<div class="clearfix TB_PrintDiv">
<div class="TB_comtitle TB-Title">非成本</div>
......@@ -1250,43 +1324,6 @@
</tr>
</template>
</table>
<div class="clearfix TB_PrintDiv">
<div class="TB_comtitle TB-Title">挂账单据:</div>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="180">单号</th>
<th width="200">挂账金额</th>
<th width="500">挂账类型</th>
<th width="500">挂账对象</th>
<th width="500">单据状态</th>
<th width="300">创建时间</th>
<th width="200">创建人</th>
</tr>
<tr v-for="item in HangingList">
<td>
<span>{{item.FrID}}</span>
</td>
<td>
<span>{{item.Money}}</span>
</td>
<td>
<span>{{item.HangingAccountsTypeStr}}</span>
</td>
<td>
<span>{{item.RemitterName}}:{{item.AccountNumber}}</span>
</td>
<td>
<span>{{item.StatusStr}}</span>
</td>
<td>
<span>{{item.CreateDateStr}}</span>
</td>
<td>
<span>{{item.createByStr}}</span>
</td>
</tr>
</table>
</div>
</div>
<div class="Team_BtnList" v-if="IsHaveAuth">
......@@ -1389,37 +1426,10 @@
otheryTotalyf: 0,
otheryTotalsf: 0,
},
AllCont: {
Income: 0,
Expend: 0,
},
HangingList: [],
};
},
methods: {
getAllCont: function () {
let msg = {
TCID: this.TCID,
// FrID: 0,
// UpdateBy: '-1',
// RB_Branch_Id: -1,
// RB_Depart_Id: -2,
// sDate: '',
// eDate: '',
// Status: '-1',
// sTradeDate: '',
// eTradeDate: '',
// EmployeeId: 0,
// ClientType: 0,
}
this.apipost('Financial_post_GetHangingAccountTotalPrice', msg, res => {
if (res.data.resultCode === 1) {
this.AllCont = res.data.data;
} else {
this.$message.error(res.data.message)
}
}, null)
},
//判断数组包含字符串
isExists(array, str) {
var flag = false;
......@@ -1758,19 +1768,6 @@ this.moneyAll.otheryTotalsf+=item.PayMoney;
}
});
},
getHangingAccountByTCIDList: function () {
this.apipost(
'Financial_post_GetHangingAccountByTCIDList', {
TCID: this.TCID
},
res => {
if (res.data.resultCode == 1) {
this.HangingList = res.data.data
}
},
err => {}
)
},
//权限验证
checkHasAuth() {
// this.apipost(
......@@ -1801,8 +1798,6 @@ this.moneyAll.otheryTotalsf+=item.PayMoney;
}
this.checkHasAuth();
this.getList();
this.getAllCont();
this.getHangingAccountByTCIDList();
}
};
......
......@@ -498,6 +498,7 @@
<th style="width:150px;">更换酒店</th>
<th style="width:100px;">状态</th>
<th style="width:150px;">使用数量/价格</th>
<th style="width:100px;">付款方式</th>
<th style="width:120px">占房时间</th>
</tr>
<template v-for="subItem in item.HotelOrderListReports">
......@@ -532,9 +533,12 @@
<td>
<a v-if="(childItem.OPState==1|| childItem.OPState==2 || childItem.DMCState==1 )">
{{childItem.UseCount>0? childItem.UseCount+" 间" :""}}
{{childItem.CostPrice!=0?" 价格:"+childItem.CostPrice:""}}
{{childItem.CostPriceNew>0?" 价格:"+childItem.CostPriceNew:(childItem.CostPrice!=0?" 价格:"+childItem.CostPrice:"")}}
</a>
</td>
<td>
{{childItem.PayTypeStr}}
</td>
<td>
<template v-if="childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)">
{{childItem.CreateDateStr}}</template>
......
<style>
@import url('../../assets/css/domestic/TicketingModule.css');
</style>
<template>
<div v-if="dataList.length < 1">
</div>
<div v-else>
<div class="m_TicketingModule" v-if="type !== 7">
<div class="_tit">
<span class="_text">挂账冲抵列表</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</div>
</div>
<div v-show="tableShow" class="_padding_20_15">
<table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th>费用类型</th>
<th>团号</th>
<th>财务单据</th>
<th>收支类型</th>
<th>冲抵金额</th>
<th>对象名称</th>
<th>备注</th>
<th>制单时间</th>
<th>制单人</th>
</tr>
<tr v-for="(item, index) in dataList" :key="index">
<td>{{item.CostTypeName}}</td>
<td>{{item.TCNUM}}</td>
<td>{{item.FrID}}</td>
<td>{{item.HangingAccountsTypeStr}}</td>
<td>{{item.fmrMoney}}</td>
<td>{{item.RemitterName}}</td>
<td>{{item.Remark}}</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.createByStr}}</td>
</tr>
</table>
</div>
</div>
<div v-else class="m_TicketingModule" >
<div class="_tit">
<span class="_text">挂账冲抵列表</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">收起 <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">展开 <i class="iconfont icon-gengduo"></i> </span>
</div>
</div>
<div v-show="tableShow" class="_padding_20_15">
<table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
<tr>
<th>财务单据</th>
<th>费用类型</th>
<th>收支类型</th>
<th>金额</th>
<th>备注</th>
<th>制单时间</th>
<th>制单人</th>
</tr>
<tr v-for="(item, index) in dataList" :key="index">
<td>{{item.FrID}}</td>
<td>
<span v-for="(t, index) in item.DetailList">{{t.CostTypeName}} <span v-if="index!==item.DetailList.length-1">,</span> </span>
</td>
<td>{{item.Type === 1 ? '收' : '支'}}</td>
<td>{{item.Money}}</td>
<td>{{item.Remark}}</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.createByStr}}</td>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
export default {
props:["dataList", 'type'],
data(){
return{
tableShow:false,
}
},watch:{
},created(){
},mounted(){
},methods:{
}
}
</script>
......@@ -53,14 +53,21 @@
<div class="Ck_hotelInfo">
<span style="color:red">{{UseDate}}</span> 酒店库存信息
</div>
<div class="cm_hotelTitle">
地区筛选:
<el-select filterable v-model="ProvinceId" @change="getCheckHotel()" :placeholder="$t('pub.pleaseSel')">
<div class="cm_hotelTitle clearfix">
<div style="float:left;">
地区筛选:
<el-select filterable v-model="qMsg.ProvinceId" class="w120" :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" :value='0'></el-option>
<el-option v-for="item in ProvinceList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</div>
<div style="float:left;margin-left:15px;">
酒店名称:
<el-input type="text" v-model="qMsg.Name" class="w120" @keyup.native.enter="getCheckHotel()" placeholder="请输入关键字"></el-input>
<input type="button" class="normalBtn" value="查询" @click="getCheckHotel()" />
</div>
</div>
<div>
<el-tabs type="border-card" v-loading="loading" v-if="IsShow" >
<el-tab-pane :label="item.ProvinceName" v-for="(item,index) in dataList" :key="item.subCode">
......@@ -85,7 +92,10 @@
loading:false,
dataList: [],
ProvinceList: [],
qMsg:{
ProvinceId: 0, //选择个省份编号
Name:"",//酒店名称
},
IsShow:false,
ckedHotel:{}
};
......@@ -101,7 +111,8 @@
IsMoreThanZero: 0,
Country: "651",
IsAllHotel: 1,
Province: this.ProvinceId,
Province: this.qMsg.ProvinceId,
Name:this.qMsg.Name,
sDate: this.UseDate
}, res => {
this.loading=false;
......
......@@ -274,6 +274,7 @@
<th style="width:150px;">更换酒店</th>
<th style="width:100px;">状态</th>
<th style="width:150px;">使用数量/价格</th>
<th style="width:100px;">付款方式</th>
<th style="width:120px">占房时间</th>
</tr>
<template v-for="hotelItem in item.CommonReport.PriceHotelResult">
......@@ -308,9 +309,12 @@
<td>
<a v-if="(hotelSubItem.OPState==1|| hotelSubItem.OPState==2 || hotelSubItem.DMCState==1 )">
{{hotelSubItem.UseCount>0? hotelSubItem.UseCount+" 间" :""}}
{{hotelSubItem.CostPrice!=0?" 价格:"+hotelSubItem.CostPrice:""}}
{{hotelSubItem.CostPriceNew>0?" 价格:"+hotelSubItem.CostPriceNew:(hotelSubItem.CostPrice!=0?" 价格:"+hotelSubItem.CostPrice:"")}}
</a>
</td>
<td>
{{hotelSubItem.PayTypeStr}}
</td>
<td>
<template v-if="hotelSubItem.OPState==1||(hotelSubItem.OPState==2 && hotelSubItem.DMCState==0)">
{{hotelSubItem.CreateDateStr}}</template>
......@@ -403,13 +407,34 @@
<el-button @click='openChart(item)' icon="iconfont icon-wechat" type="primary"
style="background:#6DD875; border-color:#6DD875"></el-button>
</el-tooltip>
<el-tooltip v-if="item.LineId==14 && item.IsOpenHotel==0" class="item" effect="dark" content="关闭酒店操作" placement="top-start">
<el-button @click="SetIsOpenHotelService(1,item.TCID)"
style="background:#E95252; border-color:#E95252" icon="iconfont icon-suo" type="primary"
></el-button>
</el-tooltip>
<el-tooltip v-if="item.LineId==14 && item.IsOpenHotel==1" class="item" effect="dark" content="开启酒店操作" placement="top-start">
<el-button icon="iconfont icon-suo1" type="primary" style="background:green; border-color:green" @click="SetIsOpenHotelService(0,item.TCID)"></el-button>
<el-tooltip class="item" effect="dark" content="酒店操作" placement="top-start" v-if="item.LineId==14">
<el-popover placement="bottom" width="300" trigger="click" v-model="item.isShowPop">
<table class="dmcSetTable">
<tr>
<td colspan="2" style="text-align:center;">
<el-checkbox v-model="UpdateHotelMsg.UpdateType" :true-label="UnCheckedVaule" :false-label="CheckedVaule">当团</el-checkbox>
<el-checkbox v-model="UpdateHotelMsg.UpdateType" :true-label="CheckedVaule" :false-label="UnCheckedVaule">批量修改</el-checkbox>
</td>
</tr>
<tr v-if="UpdateHotelMsg.UpdateType==1">
<td>
<el-date-picker class='w135' v-model="UpdateHotelMsg.StartDate" style="display:inline-block;" value-format="yyyy-MM-dd" type="date"
:picker-options="pickerBefore"></el-date-picker>
</td>
<td>
<el-date-picker class='w135' v-model="UpdateHotelMsg.EndDate" style="display:inline-block;" value-format="yyyy-MM-dd" type="date"
:picker-options="pickerAfter"></el-date-picker>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">
<input type="button" class="normalBtn" @click="SetIsOpenHotelService(item)" :value="item.IsOpenHotel==0?'关闭酒店操作':'开启酒店操作'"/>
</td>
</tr>
</table>
<el-button v-if="item.IsOpenHotel==0" slot="reference" style="background:#E95252; border-color:#E95252" icon="iconfont icon-suo" type="primary"></el-button>
<el-button v-if="item.IsOpenHotel==1" slot="reference" icon="iconfont icon-suo1" type="primary" style="background:green; border-color:green"></el-button>
</el-popover>
</el-tooltip>
</el-button-group>
</div>
......@@ -476,6 +501,17 @@
AirLineId: 0,
CreateBy: 0,
},
CheckedVaule: 1,
UnCheckedVaule: 0,
//酒店更新
UpdateHotelMsg:{
UpdateType:0, //0-当团,1-批量修改
StartDate:"", //开始日期
EndDate:"", //结束日期
LineId:14,
TCID:0,
Status:0
},
thLengthTitle: [],
list: [],
colspanTotal: 0,
......@@ -517,6 +553,22 @@
let startTime = new Date(this.msg.StartDate)
return startTime.getTime() >= time.getTime()
}
},
pickerBefore:{
disabledDate: time => {
if (this.UpdateHotelMsg.EndDate == null) {
return false;
} else {
let endTime = new Date(this.UpdateHotelMsg.EndDate)
return endTime.getTime() < time.getTime()
}
}
},
pickerAfter:{
disabledDate: time => {
let startTime = new Date(this.UpdateHotelMsg.StartDate)
return startTime.getTime() >= time.getTime()
}
}
}
},
......@@ -548,17 +600,33 @@
}, err => {})
},
//开启关闭酒店操作
SetIsOpenHotelService(status,TCID) {
this.apipost('dmcstatistics_post_SetIsOpenHotelService', {
TCID:TCID,
status:status
}, res => {
SetIsOpenHotelService(item) {
item.isShowPop=true;
if(item.IsOpenHotel==0){
this.UpdateHotelMsg.Status=1;
}else{
this.UpdateHotelMsg.Status=0;
}
if(this.UpdateHotelMsg.UpdateType==1){
if(this.UpdateHotelMsg.StartDate==""||this.UpdateHotelMsg.EndDate==""){
this.Error('请选择日期')
return
}
}
this.UpdateHotelMsg.TCID = item.TCID
this.apipost('dmcstatistics_post_SetIsOpenHotelService', this.UpdateHotelMsg, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.Success(res.data.message);
this.getList();
this.UpdateHotelMsg.UpdateType=0;
this.UpdateHotelMsg.StartDate="";
this.UpdateHotelMsg.EndDate="";
this.UpdateHotelMsg.TCID=0;
this.UpdateHotelMsg.Status=0;
} else {
this.$message.error(res.data.message);
this.Error(res.data.message);
}
item.isShowPop=false;
}, err => {})
},
getLineList() {
......@@ -711,6 +779,11 @@
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.list = res.data.data.pageData.data;
if(this.list.StaticsReportList){
this.list.StaticsReportList.forEach(x => {
x.isShowPop = false
});
}
} else {
this.$message.error(res.data.message);
}
......@@ -925,5 +998,10 @@
.dmcMain .el-checkbox+.el-checkbox {
margin-left: 5px;
}
.dmcSetTable{
width:100%;
}
.dmcSetTable tr{
height:50px;
}
</style>
......@@ -40,7 +40,7 @@
<TravelNotice ref="TravelNotice" id="fourAnchor" @headCallBack="getNotice" :subArray="NoticeParameters"
:NoticeData="NoticeData" v-bind:PostConfig="PostConfig" v-bind:AllCityList="AllCityList" v-bind:CountryID="PostConfig.CountryID"></TravelNotice>
<TravelPrice @saveMsg="PostConfig.IsUpdateHotel=1,SaveData(1)" ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :priceList="PriceList" v-if="TeamType==0"
<TravelPrice @saveMsg="SaveData(1)" ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :priceList="PriceList" v-if="TeamType==0"
:PostConfig="PostConfig" :modifyTcid="modifyTcid" :TeamType="TeamType"></TravelPrice>
<TravelPrice2 ref="TravelPrice" id="fiveAnchor" @headCallBack="getPrice" :PostDaysTrip="PostDaysTrip" v-if="TeamType==1"
:priceList="PriceList" :PostConfig="PostConfig" :modifyTcid="modifyTcid" :TeamType="TeamType"></TravelPrice2>
......
......@@ -814,8 +814,8 @@
</tr>
<template v-for="(subItem,subIndex) in priceData.PriceHotelList">
<tr v-for="(childItem,childIndex) in subItem.SubList">
<td style="background-color:#E6E6E6;color:#333;" v-if="childIndex==0"
:rowspan="subItem.SubList.length">{{subItem.UseDay}}</td>
<td style="background-color:#E6E6E6;color:#333;" v-if="childIndex==0" :rowspan="subItem.SubList.length">
{{subItem.UseDay}}</td>
<td style="text-align:left;padding-left:3px;">
{{childItem.HotelName}}
</td>
......@@ -864,13 +864,17 @@
</template>
</table>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" type="primary" @click="saveHoteluseDetail()" v-if="!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)"
:class="{'disClick':!isSaved}">{{btnText}}</button> &nbsp;
<button class="normalBtn" type="primary" @click="PostConfig.IsUpdateHotel=1,saveHoteluseDetail(1)"
v-if="!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)" :class="{'disClick':!isSaved}">{{btnText}}</button>
&nbsp;
<button class="normalBtn" type="primary" @click="PostConfig.IsUpdateHotel=2;saveHoteluseDetail(2)"
v-if="!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)"
:class="{'disClick':!isSaved}">{{btnTongBu}}</button> &nbsp;
<button class="hollowFixedBtn" :class="{'disClick':!isSaved}"
@click="cancelHotelUseDetail()">{{$t('pub.cancelBtn')}}</button>
<template v-if="priceData.IsOpenHotel&&priceData.IsOpenHotel==1">
<br/>
<span style="color:red;font-weight:bold;" >※ 地接已关闭酒店操作,如需修改请联系地接OP.</span>
<br />
<span style="color:red;font-weight:bold;">※ 地接已关闭酒店操作,如需修改请联系地接OP.</span>
</template>
</div>
</el-dialog>
......@@ -921,9 +925,10 @@
uploadList: [],
CheckedVaule: 1, //选中值
UnCheckedVaule: 2, //没选中
UnCheckedLessPrice: 0,//不少价
UnCheckedLessPrice: 0, //不少价
isSaved: true,
btnText: '保存',
btnTongBu: '同步酒店',
//日期数组
days: [],
dateString: "2016-01-02",
......@@ -1575,14 +1580,22 @@
},
//保存酒店使用情况
saveHoteluseDetail() {
saveHoteluseDetail(type) {
var that = this;
this.Confirm("是否确定提交选中的酒店?", function () {
var str = "是否确定提交选中的酒店?";
if (type == 2) {
str = "是否同步行程酒店到地接?";
}
this.Confirm(str, function () {
if (that.isSaved) {
that.isSaved = false;
that.$emit("saveMsg");
}
that.btnText = '保存中...'
if (type == 2) {
that.btnTongBu = "同步酒店...";
} else {
that.btnText = '保存...';
}
});
},
//取消
......@@ -1602,7 +1615,8 @@
//保存完成初始化
initStatus() {
this.isSaved = true;
this.btnText = '保存'
this.btnText = '保存';
this.btnTongBu = "同步酒店";
},
//获取酒店信息
getHotelList(item, event) {
......
......@@ -3457,6 +3457,14 @@ export default {
title: '定房查询'
},
},
{
path: '/roomQuery3', //供应商->定房查询
name: 'roomQuery3',
component: resolve => require(['@/components/Supplier/roomQuery2'], resolve),
meta: {
title: '定房查询'
},
},
{
path: '/HotelQueryList2', //供应商->酒店查询
name: 'HotelQueryList2',
......
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